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 | 251 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 209 insertions(+), 42 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 f97656e..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,31 +1,59 @@ package com.consum.base.controller; +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; +import org.springframework.web.bind.annotation.PostMapping; +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.FinSysTenantDepartmentParam; -import com.consum.base.service.BaseWarehouseServiceImpl; +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.FinSysTenantDepartment; 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 org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import java.util.List; +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 鏂板 @@ -33,16 +61,90 @@ * @Date 2023/10/26 */ @PostMapping("/add") - public ResponseValue add(@RequestBody BaseWarehouseParam param) { + public ResponseValue add() { + BaseWarehouseParam param = CommonUtil.getObjFromReqBody(BaseWarehouseParam.class); + BaseWarehouseParam param2 = new BaseWarehouseParam(); + CommonUtil.copyProperties(param, param2); + param = param2; + 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); - if (result > 0) return ResponseValue.success(1); + 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 浠撳簱鍒楄〃鏌ヨ @@ -50,12 +152,18 @@ * @Date 2023/10/26 */ @GetMapping("/list") - public ResponseValue queryList(BaseWarehouseParam param) { -// FinSysTenantUser sysInfo = this.getSysInfo(); -// if (sysInfo == null) { -// return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); -// } - GenericPager<BaseWarehouse> pager = this.baseWarehouseService.queryList(param); + public ResponseValue queryList() { + BaseWarehouseParam param = CommonUtil.getObjFromReq(BaseWarehouseParam.class); + BaseWarehouseParam param2 = new BaseWarehouseParam(); + CommonUtil.copyProperties(param, param2); + param = param2; + + FinSysTenantUser currentUser = this.getSysInfo(); + if (currentUser == null) { + return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); + } + param.setAgencyId(Long.valueOf(currentUser.getTenantId())); + GenericPager<BaseWarehouse> pager = baseWarehouseService.queryList(param, currentUser); return ResponseValue.success(pager); } @@ -65,7 +173,12 @@ * @Date 2023/10/26 */ @PostMapping("/edit") - public ResponseValue edit(@RequestBody BaseWarehouse baseWarehouse) { + public ResponseValue edit() { + BaseWarehouse baseWarehouse = CommonUtil.getObjFromReqBody(BaseWarehouse.class); + BaseWarehouse param2 = new BaseWarehouse(); + CommonUtil.copyProperties(baseWarehouse, param2); + baseWarehouse = param2; + Long id = baseWarehouse.getId(); if (id == null || id <= 0) { return ResponseValue.error("缂栬緫鐨勪粨搴撲笉瀛樺湪"); @@ -74,12 +187,13 @@ return ResponseValue.error("浠撳簱鍚嶇О涓虹┖"); } - int num = this.baseWarehouseService.updateBaseWarehouse(baseWarehouse); + int num = baseWarehouseService.updateBaseWarehouse(baseWarehouse); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("缂栬緫澶辫触锛�"); } /** * 鏍规嵁浠撳簱id鏌ヨ浠撳簱璇︽儏 + * * @author 鍗㈠簡闃� * @Date 2023/10/26 */ @@ -88,8 +202,10 @@ if (id == null) { return ResponseValue.error("浠撳簱id涓虹┖"); } - BaseWarehouse baseWarehouse = this.baseWarehouseService.getById(id); - if (baseWarehouse == null) return ResponseValue.error("鏌ヨ澶辫触锛�"); + BaseWarehouse baseWarehouse = baseWarehouseService.getById(id); + if (baseWarehouse == null) { + return ResponseValue.error("鏌ヨ澶辫触锛�"); + } return ResponseValue.success("鏌ヨ鎴愬姛!", baseWarehouse); } @@ -99,44 +215,95 @@ * @Date 2023/10/26 */ @DeleteMapping("/del") - public ResponseValue updateById(@RequestBody BaseWarehouse baseWarehouse) { + public ResponseValue updateById() { + BaseWarehouse baseWarehouse = CommonUtil.getObjFromReqBody(BaseWarehouse.class); + BaseWarehouse param2 = new BaseWarehouse(); + CommonUtil.copyProperties(baseWarehouse, param2); + baseWarehouse = param2; + 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(); - } - - /** - * @Description 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯浠撳簱 + * @Description 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯浠撳簱 * @Author 鍗㈠簡闃� * @Date 2023/10/27 */ @GetMapping("/select/tenant_warehouse") public ResponseValue getByAgencyId(Long agencyId) { if (agencyId == null) { - return ResponseValue.error("鏈烘瀯id涓虹┖"); + return ResponseValue.success(new ArrayList<>()); } - List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId); - if (list == null) return ResponseValue.error("鏌ヨ澶辫触锛�"); + List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue()); + if (list == null) { + return ResponseValue.error("鏌ヨ澶辫触锛�"); + } return ResponseValue.success("鏌ヨ鎴愬姛!", list); } + @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨") + @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); + WarehouseQry param2 = new WarehouseQry(); + CommonUtil.copyProperties(warehouseQry, param2); + warehouseQry = param2; + + Long warehouseId = warehouseQry.getWarehouseId(); + if (warehouseId == null) { + Long agencyId = warehouseQry.getAgencyId(); + 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 = lWhGoodsService.queryGoodsModelInWareHouseNum(warehouseType, warehouseIdList, baseGoodsModelsId, + states, buyType); + return ResponseValue.success(num); + } } - -- Gitblit v1.9.1