From 24c4699005da96f45562d7057d80c103b8e428a2 Mon Sep 17 00:00:00 2001 From: WangHan <wwh_work@126,com> Date: 星期五, 03 一月 2025 10:32:34 +0800 Subject: [PATCH] 子级分类在用删除 --- consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java | 196 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 149 insertions(+), 47 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java index 54fca16..127a948 100644 --- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java +++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java @@ -1,21 +1,13 @@ package com.consum.base.controller; -import com.consum.base.BaseController; -import com.consum.base.core.utils.CommonUtil; -import com.consum.base.pojo.BaseWarehouseParam; -import com.consum.base.pojo.query.WarehouseQry; -import com.consum.base.service.BaseWarehouseServiceImpl; -import com.consum.base.service.LWhGoodsService; -import com.consum.model.po.BaseWarehouse; -import com.consum.model.po.FinSysTenantUser; -import com.walker.db.page.GenericPager; -import com.walker.infrastructure.utils.StringUtils; -import com.walker.web.ResponseValue; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; + +import com.consum.base.service.FinSysTenantService; +import com.consum.model.po.FinSysTenant; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -23,20 +15,45 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.consum.base.BaseController; +import com.consum.base.core.type.StatesType; +import com.consum.base.core.utils.CommonUtil; +import com.consum.base.pojo.BaseWarehouseParam; +import com.consum.base.pojo.query.WarehouseQry; +import com.consum.base.service.BaseWarehouseService; +import com.consum.base.service.LWhGoodsService; +import com.consum.model.po.BaseWarehouse; +import com.consum.model.po.FinSysTenantUser; +import com.consum.model.po.LWhGoods; +import com.walker.db.page.GenericPager; +import com.walker.infrastructure.utils.CollectionUtils; +import com.walker.infrastructure.utils.StringUtils; +import com.walker.web.ResponseValue; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + /** * @Description 浠撳簱绠$悊 * @Author 鍗㈠簡闃� * @Date 2023/10/26 */ +@Api(value = "浠撳簱绠$悊", tags = "浠撳簱绠$悊") @RestController @RequestMapping("/pc/base/warehouse") +@Slf4j public class BaseWarehouseController extends BaseController { @Autowired - private BaseWarehouseServiceImpl baseWarehouseService; + private BaseWarehouseService baseWarehouseService; + @Autowired private LWhGoodsService lWhGoodsService; + @Autowired + private FinSysTenantService finSysTenantService; /** * @Description 鏂板 @@ -53,14 +70,81 @@ if (StringUtils.isEmpty(param.getWarehouseName())) { return ResponseValue.error("浠撳簱鍚嶇О涓虹┖"); } - //TODO 鍔犳潈闄� 鐪佺骇绠$悊鍛樺綍鍏ユ墍鏈変粨搴撲俊鎭� + Long agencyId = param.getAgencyId(); + BaseWarehouse baseWarehouse = new BaseWarehouse(); + baseWarehouse.setAgencyId(agencyId); + List<BaseWarehouse> select = baseWarehouseService.select(baseWarehouse); + if (!CollectionUtils.isEmpty(select)) { + return ResponseValue.error("璇ユ満鏋勫凡鏈変粨搴撲笉鑳界户缁柊澧烇紒"); + } - int result = this.baseWarehouseService.add(param); + int result = baseWarehouseService.add(param); if (result > 0) { return ResponseValue.success(1); } return ResponseValue.error("鏂板澶辫触锛�"); } + + // 渚涗骇鍝佸鏁版嵁涓存椂鐢�(鍙垹) + public String add1(BaseWarehouseParam param) { + BaseWarehouseParam param2 = new BaseWarehouseParam(); + CommonUtil.copyProperties(param, param2); + param = param2; + + if (StringUtils.isEmpty(param.getWarehouseName())) { + return "浠撳簱鍚嶇О涓虹┖"; + } + Long agencyId = param.getAgencyId(); + BaseWarehouse baseWarehouse = new BaseWarehouse(); + baseWarehouse.setAgencyId(agencyId); + List<BaseWarehouse> select = baseWarehouseService.select(baseWarehouse); + if (!CollectionUtils.isEmpty(select)) { + return "璇ユ満鏋勫凡鏈変粨搴撲笉鑳界户缁柊澧烇紒"; + } + int result = baseWarehouseService.add(param); + if (result > 0) { + return "1"; + } + return "鏂板澶辫触锛�"; + } + + //渚涗骇鍝佸鏁版嵁涓存椂鐢�(鍙垹)(鏂板浠撳簱) + //@PostMapping("/addCk") + public String addCk() { + int ok = 0; + int isNull = 0; + int bnxz = 0; + int err = 0; + // 鏌ヨ鎵�鏈夌殑鏈烘瀯 + FinSysTenant finSysTenant = new FinSysTenant(); + List<FinSysTenant> finSysTenants = finSysTenantService.selectAll(finSysTenant); + for (FinSysTenant fst : finSysTenants) { + // 缁勮浠撳簱鏁版嵁 + BaseWarehouseParam baseWarehouseParam = new BaseWarehouseParam(); + baseWarehouseParam.setWarehouseName(fst.getName() + "浠撳簱"); + baseWarehouseParam.setAdress(""); + baseWarehouseParam.setAgencyId(fst.getId()); + baseWarehouseParam.setClassificationCode("29"); + baseWarehouseParam.setStates(1); + // 璋冪敤鍘熸湰鐨勬柊澧炴帴鍙f柊澧炰粨搴� + String resSta = add1(baseWarehouseParam); + if("1".equals(resSta)){ + ok++; + }else if("浠撳簱鍚嶇О涓虹┖".equals(resSta)){ + isNull++; + }else if("璇ユ満鏋勫凡鏈変粨搴撲笉鑳界户缁柊澧烇紒".equals(resSta)){ + bnxz++; + }else if("鏂板澶辫触锛�".equals(resSta)){ + err++; + } + } + log.info("ok:"+ok); + log.info("isNull:"+isNull); + log.info("bnxz:"+bnxz); + log.info("err:"+err); + return "鏂板浠撳簱..."+"##ok:"+ok+"##isNull:"+isNull+"##bnxz:"+bnxz+"##err:"+err; + } + /** * @Description 浠撳簱鍒楄〃鏌ヨ @@ -74,12 +158,12 @@ CommonUtil.copyProperties(param, param2); param = param2; - FinSysTenantUser sysInfo = this.getSysInfo(); - if (sysInfo == null) { + FinSysTenantUser currentUser = this.getSysInfo(); + if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } - param.setAgencyId(Long.valueOf(sysInfo.getTenantId())); - GenericPager<BaseWarehouse> pager = this.baseWarehouseService.queryList(param); + param.setAgencyId(Long.valueOf(currentUser.getTenantId())); + GenericPager<BaseWarehouse> pager = baseWarehouseService.queryList(param, currentUser); return ResponseValue.success(pager); } @@ -103,7 +187,7 @@ return ResponseValue.error("浠撳簱鍚嶇О涓虹┖"); } - int num = this.baseWarehouseService.updateBaseWarehouse(baseWarehouse); + int num = baseWarehouseService.updateBaseWarehouse(baseWarehouse); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("缂栬緫澶辫触锛�"); } @@ -118,7 +202,7 @@ if (id == null) { return ResponseValue.error("浠撳簱id涓虹┖"); } - BaseWarehouse baseWarehouse = this.baseWarehouseService.getById(id); + BaseWarehouse baseWarehouse = baseWarehouseService.getById(id); if (baseWarehouse == null) { return ResponseValue.error("鏌ヨ澶辫触锛�"); } @@ -140,23 +224,16 @@ if (baseWarehouse.getId() == null) { return ResponseValue.error("浠撳簱id涓虹┖"); } - int num = this.baseWarehouseService.updateById(baseWarehouse); + Long id = baseWarehouse.getId(); + LWhGoods lWhGoods = new LWhGoods(); + lWhGoods.setWarehouseId(id); + List<LWhGoods> select = lWhGoodsService.select(lWhGoods); + if (!CollectionUtils.isEmpty(select)) { + return ResponseValue.error("璇ヤ粨搴撴鍦ㄤ娇鐢紝涓嶈兘鍒犻櫎"); + } + int num = baseWarehouseService.updateById(baseWarehouse); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鍒犻櫎澶辫触锛�"); - } - - /** - * @Description 鏍规嵁浠撳簱id鑾峰彇鏈烘瀯鐢ㄦ埛淇℃伅 - * @Author 鍗㈠簡闃� - * @Date 2023/10/26 - */ - @GetMapping("/select/userList") - public ResponseValue queryList(Long baseWarehouseId) { - if (baseWarehouseId == null) { - return ResponseValue.error("浠撳簱id涓虹┖"); - } - this.baseWarehouseService.queryUserList(baseWarehouseId); - return ResponseValue.success(); } /** @@ -169,7 +246,7 @@ if (agencyId == null) { return ResponseValue.success(new ArrayList<>()); } - List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId, null, null); + List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue()); if (list == null) { return ResponseValue.error("鏌ヨ澶辫触锛�"); } @@ -177,9 +254,8 @@ } @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨") - @ApiImplicitParams({ - @ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true, dataType = "WarehouseQry", paramType = "query") - }) + @ApiImplicitParams({@ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true, + dataType = "WarehouseQry", paramType = "query")}) @GetMapping("/select/number") public ResponseValue selectNumber() { WarehouseQry warehouseQry = CommonUtil.getObjFromReq(WarehouseQry.class); @@ -190,18 +266,44 @@ Long warehouseId = warehouseQry.getWarehouseId(); if (warehouseId == null) { Long agencyId = warehouseQry.getAgencyId(); - BaseWarehouse defaultWarehouseByAgencyId = this.baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId); - warehouseId = defaultWarehouseByAgencyId.getId(); + BaseWarehouse baseWarehouse = baseWarehouseService.getWarehouseByAgencyId(agencyId, null); + warehouseId = baseWarehouse.getId(); } + Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId(); + Integer warehouseType = warehouseQry.getWarehouseType(); + Integer buyType = warehouseQry.getBuyType(); + + // 鍏朵粬绫诲瀷鐨勫簱瀛樻煡璇㈡槸鍚︿篃瑕佹煡閮ㄩ棬绫诲瀷鐨勫簱瀛� + List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); + int num = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 1, buyType); + return ResponseValue.success(num); + } + + @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨") + @ApiImplicitParams({@ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true, + dataType = "WarehouseQry", paramType = "query")}) + @GetMapping("/select/in/warehouse/num") + public ResponseValue selectAllNumber() { + WarehouseQry warehouseQry = CommonUtil.getObjFromReq(WarehouseQry.class); + WarehouseQry param2 = new WarehouseQry(); + CommonUtil.copyProperties(warehouseQry, param2); + warehouseQry = param2; + + Long agencyId = warehouseQry.getAgencyId(); + List<BaseWarehouse> baseWarehouseList = + baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue()); + List<Long> warehouseIdList = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList()); + Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId(); Integer warehouseType = warehouseQry.getWarehouseType(); Integer states = warehouseQry.getStates(); Integer buyType = warehouseQry.getBuyType(); - int num = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, buyType); + // 璋冩嫧鏃跺彧鏌ユ満鏋勭被鍨嬬殑闆嗛噰浠撳簱搴撳瓨 + // 閮ㄩ棬鍒嗗彂鏃朵笉鍒嗘満鏋勫拰閮ㄩ棬锛屽洜涓鸿皟鎷ㄨ繘鏉ョ殑鐗╁搧涔熺畻鍦ㄥ簱瀛橀噷鍙槸绫诲瀷涓洪儴闂紝鍚屾牱妫�瑙嗘墍鏈変粨搴撹鍨嬪彿鐨勬暟閲� + int num = lWhGoodsService.queryGoodsModelInWareHouseNum(warehouseType, warehouseIdList, baseGoodsModelsId, + states, buyType); return ResponseValue.success(num); } - } - -- Gitblit v1.9.1