consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java
@@ -121,10 +121,12 @@ if (id == null) { return ResponseValue.error("参数不能为空"); } //通过机构查询相关的模板信息 FormInventoryVO formInventoryVO = this.lWhFormInventoryService.queryInventBaseGoodTemplate(id); this.lWhFormInventoryService.saveInventory(formInventoryVO, id); return ResponseValue.success(formInventoryVO); // 保存后返回记录信息 List<FormInventoryGoodsVO> result = this.lWhFormInventoryService.saveInventory(formInventoryVO, id); return ResponseValue.success(result); } /** consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -2,6 +2,7 @@ import cn.hutool.core.util.ReflectUtil; import com.consum.base.BaseController; import com.consum.base.core.utils.CommonUtil; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; @@ -17,8 +18,18 @@ import com.consum.base.pojo.response.FromTransferTemplateInfoVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.pojo.response.TransferInfoVO; import com.consum.base.service.*; import com.consum.model.po.*; import com.consum.base.service.BaseGoodsModelsServiceImpl; import com.consum.base.service.BaseWarehouseServiceImpl; import com.consum.base.service.LWhFormTransferCoreService; import com.consum.base.service.LWhFormTransferServiceImpl; import com.consum.base.service.LWhProcureModelService; import com.consum.base.service.LWhProcureModelUserRecordServiceImpl; import com.consum.base.service.LWhProcureModelUserServiceImpl; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormTransfer; import com.consum.model.po.LWhProcureModelUser; import com.consum.model.po.LWhProcureModelUserRecord; import com.consum.model.vo.LWhFormOutputVo; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; @@ -29,14 +40,20 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.lang.reflect.Field; import java.util.*; import java.util.stream.Collectors; 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; /** * @Description 调拨管理 @@ -69,7 +86,12 @@ @ApiOperation(value = "单据新增", notes = "单据新增") @ApiImplicitParam(name = "param", value = "单据新增", required = true, dataType = "LWhFormTransferParam") @PostMapping("/add") public ResponseValue add(@RequestBody LWhFormTransferParam param) throws Exception { public ResponseValue add() throws Exception { LWhFormTransferParam param = CommonUtil.getObjFromReqBody(LWhFormTransferParam.class); LWhFormTransferParam param2 = new LWhFormTransferParam(); CommonUtil.copyProperties(param, param2); param = param2; S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("登录用户信息不存在"); @@ -78,11 +100,32 @@ if (CollectionUtils.isEmpty(transferGoods)) { return ResponseValue.error("调拨单不能为空"); } int result = this.lWhFormTransferService.add(param, this.getSysInfo()); if (result > 0) { return ResponseValue.success(); long id = this.lWhFormTransferService.add(param, this.getSysInfo()); Integer transferBusinessType = param.getTransferBusinessType(); //部门分发业务需要处理 if (transferBusinessType == 1) { // 先出库,再入库 // 出库前 设置出库仓库 FinSysTenantUser sysTenantUser = this.getSysInfo(); String agencyId = sysTenantUser.getTenantId(); List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(Long.valueOf(agencyId), (short) 1, (short) 1); if (CollectionUtils.isEmpty(baseWarehouseList)) { return ResponseValue.error("机构无默认仓库!"); } BaseWarehouse baseWarehouse = baseWarehouseList.get(0); Long wareHouseId = baseWarehouse.getId(); String warehouseName = baseWarehouse.getWarehouseName(); LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id); lWhFormTransfer.setOutWarehouseId(wareHouseId); lWhFormTransfer.setOutWarehouseName(warehouseName); lWhFormTransferService.update(lWhFormTransfer); lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser()); lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser()); } return ResponseValue.error("新增失败!"); return ResponseValue.success(); } /** @@ -101,7 +144,12 @@ @ApiImplicitParam(name = "param", value = "条件参数", required = true, dataType = "TransferQry"), }) @GetMapping("/list") public ResponseValue queryFormTransferList(TransferQry param) { public ResponseValue queryFormTransferList() { TransferQry param = CommonUtil.getObjFromReq(TransferQry.class); TransferQry param2 = new TransferQry(); CommonUtil.copyProperties(param, param2); param = param2; S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("登录用户信息不存在"); @@ -169,7 +217,12 @@ @ApiImplicitParam(name = "param", value = "条件", required = true, dataType = "TransferQry"), }) @GetMapping("/detail/list") public ResponseValue queryFormTransferDetailList(TransferQry param) { public ResponseValue queryFormTransferDetailList() { TransferQry param = CommonUtil.getObjFromReq(TransferQry.class); TransferQry param2 = new TransferQry(); CommonUtil.copyProperties(param, param2); param = param2; FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("登录用户信息不存在"); @@ -261,7 +314,7 @@ /** * 部门物品分发列表明细 * * @param transferQry * @param * @return */ @ApiOperation(value = "部门物品分发列表明细", notes = "部门物品分发列表明细") @@ -269,13 +322,17 @@ @ApiImplicitParam(name = "transferQryDto", value = "调拨单查询条件", required = true) }) @GetMapping("/department/list") public ResponseValue departmentTransferList(TransferQry transferQry) { public ResponseValue departmentTransferList() { TransferQry param = CommonUtil.getObjFromReq(TransferQry.class); TransferQry param2 = new TransferQry(); CommonUtil.copyProperties(param, param2); param = param2; S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("登录用户信息不存在"); } GenericPager<Map<String, Object>> transferInfoDetailsVoGenericPager = this.lWhFormTransferService.queryTransferInfo(transferQry); GenericPager<Map<String, Object>> transferInfoDetailsVoGenericPager = this.lWhFormTransferService.queryTransferInfo(param); return ResponseValue.success(transferInfoDetailsVoGenericPager); } @@ -285,7 +342,11 @@ @ApiImplicitParam(name = "procureModelInfoDto", value = "使用信息", required = true) }) @PostMapping("/useInfo/update") public ResponseValue infoUpdate(@RequestBody List<ProcureModelInfoParam> procureModelInfoParam) { public ResponseValue infoUpdate() { List<ProcureModelInfoParam> param = CommonUtil.getObjFromReqBody(List.class); List<ProcureModelInfoParam> procureModelInfoParam = Lists.newArrayList(); procureModelInfoParam.addAll(param); S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java
@@ -86,31 +86,8 @@ @ApiModelProperty(value = "查询类型") private Integer qryType; // /** // * 入库仓库编号 // */ // private Long inWarehouseId; // // /** // * 调拨时间 // */ // private Long createTime; // /** // * 调拨手续 // */ // private String procureDoc; // /** // * 调拨单型号 // */ // private List<LWhProcureModelParams> models; // /** // * 物品id // */ // private Long baseGoodsTemplateId; // /** // * 单据类型。0仓库调拨;1部门分发;2部门物品回退 // */ // private Integer transferBusinessType; @ApiModelProperty(value = "分发部门,部门分发时仓库id就是分发部门") private Long inWarehouseId; } consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
@@ -34,7 +34,7 @@ } public int add(List<FormInventoryGoodsVO> inventoryGoodsList, Long inventoryId) { public List<FormInventoryGoodsVO> add(List<FormInventoryGoodsVO> inventoryGoodsList, Long inventoryId) { List<LWhFormInventoryGoods> goodsList = new ArrayList<>(); for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) { LWhFormInventoryGoods lWhFormInventoryGoods = new LWhFormInventoryGoods(); @@ -46,9 +46,12 @@ lWhFormInventoryGoods.setBaseGoodsModelsId(inventoryGoods.getId()); lWhFormInventoryGoods.setBaseGoodsModelsName(inventoryGoods.getBaseGoodsModelsName()); lWhFormInventoryGoods.setInitCounts(inventoryGoods.getInventoryCount()); //保存成功后返回id,用来进行记录的更新 inventoryGoods.setId(lWhFormInventoryGoods.getId()); goodsList.add(lWhFormInventoryGoods); } return this.insert(goodsList); this.insert(goodsList); return inventoryGoodsList; } public int updateInventoryGoods(List<FormInventoryGoodsVO> inventoryGoodsList) { consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
@@ -21,17 +21,17 @@ import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import java.util.HashMap; import java.util.List; import java.util.Map; import lombok.extern.slf4j.Slf4j; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description 盘点 @@ -157,7 +157,7 @@ } public void saveInventory(FormInventoryVO dto, Long id) { public List<FormInventoryGoodsVO> saveInventory(FormInventoryVO dto, Long id) { //1.根据盘点单id查询盘点单 LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(id)); if (lWhFormInventory == null) { @@ -175,11 +175,9 @@ if (CollectionUtils.isEmpty(formInventoryGoodsList)) { log.error("盘点单物品为空"); } int num = inventoryGoodsService.add(formInventoryGoodsList, id); if (num != formInventoryGoodsList.size()) { log.error("更新盘点单物品失败"); } List<FormInventoryGoodsVO> result = inventoryGoodsService.add(formInventoryGoodsList, id); return result; } @@ -189,6 +187,7 @@ * @author 卢庆阳 * @date 2023/10/31 */ @Transactional(rollbackFor = Exception.class) public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state, S_user_core currentUser, FinSysTenantUser sysInfo) { //1.根据盘点单id查询盘点单 LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId())); @@ -338,9 +337,9 @@ mapGenericPager.getDatas().forEach(item -> { FormInventoryDetailVO formInventoryDetailVO = MapUtils.convertMapToObj(item, FormInventoryDetailVO.class); formInventoryDetailVO.setInventoryResultType( formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈" : "盘亏")); formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈" : "盘亏")); formInventoryDetailVO.setInventoryType( formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈入库" : "盘亏出库")); formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈入库" : "盘亏出库")); formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode()); result.add(formInventoryDetailVO); }); @@ -351,8 +350,8 @@ public List<FormInventoryGoodsVO> selectDetailById(Long id) { String sql = "select fig.id, fig.BASE_GOODS_TEMPLATE_ID,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME," + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from " + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID where fig.WH_FORM_INVENTORY_ID = :id"; + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from " + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID where fig.WH_FORM_INVENTORY_ID = :id"; HashMap<String, Object> param = new HashMap<>(); param.put("id", id); List<Map<String, Object>> select = select(sql, param, new MapperUtil()); @@ -382,9 +381,9 @@ formInventoryVO.setWarehouseName(inventory.getWarehouseName()); String sql = "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT " + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id " + "where bgt.AGENCY_ID = :agencyId"; "select bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT " + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id " + "where bgt.AGENCY_ID = :agencyId"; HashMap<String, Object> param = new HashMap<>(); param.put("agencyId", inventory.getAgencyId()); List<Map<String, Object>> result = this.select(sql, param, new MapperUtil()); consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -14,7 +14,17 @@ import com.consum.base.pojo.response.FormTransferGoodsVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.model.po.*; import com.consum.model.po.BaseGoodsModels; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.BaseWarehouseManager; import com.consum.model.po.FinSysTenant; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormOutput; import com.consum.model.po.LWhFormTransfer; import com.consum.model.po.LWhGoodsRecord; import com.consum.model.po.LWhProcureModel; import com.consum.model.po.LWhProcureModelUser; import com.consum.model.po.LWhProcureModelUserRecord; import com.consum.model.vo.LWhFormOutputVo; import com.consum.model.vo.LWhGoodsRecordVo; import com.iplatform.model.po.S_user_core; @@ -22,14 +32,17 @@ import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.CollectionUtils; import java.util.*; /** * @Description 调拨管理 @@ -75,7 +88,7 @@ * @Author 卢庆阳 * @Date 2023/10/30 */ public int add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception { public long add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception { //1.新增调拨单记录 LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(); //调拨单id @@ -87,11 +100,11 @@ // TODO 枚举字典 lWhFormTransfer.setBusinessType(businessType); CodeGeneratorEnum codeGeneratorEnum = null; if (businessType == 0){ if (businessType == 0) { codeGeneratorEnum = CodeGeneratorEnum.Transfer; } else if (businessType == 1){ } else if (businessType == 1) { codeGeneratorEnum = CodeGeneratorEnum.Distribute; } else if (businessType == 2){ } else if (businessType == 2) { codeGeneratorEnum = CodeGeneratorEnum.GOBACK; } @@ -156,7 +169,6 @@ FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId())); if (finSysTenant == null) { log.error("调拨机构不存在"); return 0; } lWhFormTransfer.setOutAgencyId(finSysTenant.getId()); lWhFormTransfer.setOutAgencyName(finSysTenant.getName()); @@ -170,7 +182,6 @@ int flag1 = this.insert(lWhFormTransfer); if (flag1 == 0) { log.error("新增调拨单失败"); return 0; } //2.新增物品型号记录 @@ -228,7 +239,6 @@ if (procureInsertNum != procureModelUserList.size()) { log.error("新增物品使用信息失败"); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return 0; } } @@ -241,10 +251,8 @@ if (flag2 != modelList.size()) { log.error("新增物品型号失败"); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return 0; } return 1; return lWhFormTransferId; } @@ -307,6 +315,11 @@ if (param.getEndTime() != null) { sql.append(" and IN_TIME <:inTimeEnd "); paramts.put("inTimeEnd", param.getEndTime() * 1000000 + 240000); } //分发部门 if (param.getInWarehouseId() != null) { sql.append("and ft.IN_WAREHOUSE_ID = :inWarehouseId "); paramts.put("inWarehouseId", param.getInWarehouseId()); } sql.append(" ORDER BY ft.CREATE_TIME DESC"); @@ -467,7 +480,11 @@ sql.append("AND OUT_AGENCY_ID = :OUT_AGENCY_ID "); paramts.put("OUT_AGENCY_ID", transferQry.getOutAgencyId()); } //分发部门 if (transferQry.getInWarehouseId() != null) { sql.append("and ft.IN_WAREHOUSE_ID = :inWarehouseId "); paramts.put("inWarehouseId", transferQry.getInWarehouseId()); } //创建人 if (StringUtils.isNotEmpty(transferQry.getOperatorName())) { sql.append("AND ft.OPERATOR_NAME =:OPERATOR_NAME ");