consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
@@ -175,8 +175,8 @@ int countNum = export.stream().filter(item -> item.getNum() != null).mapToInt(ScrappedInfoExcelTemplate::getNum).sum(); int totalAmount = export.stream().filter(item -> item.getTotalAmount() != null) .mapToInt(ScrappedInfoExcelTemplate::getTotalAmount).sum(); double totalAmount = export.stream().filter(item -> item.getTotalAmount() != null) .mapToDouble(ScrappedInfoExcelTemplate::getAmount).sum(); Map<String, Object> map = new HashMap<>(); map.put("code", businessFormCode); consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -38,11 +38,11 @@ import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.pojo.response.TransferInfoVO; import com.consum.base.service.BaseWarehouseService; import com.consum.base.service.LWhFormTransferCoreService; import com.consum.base.service.impl.LWhFormTransferCoreService; import com.consum.base.service.LWhFormTransferService; import com.consum.base.service.LWhProcureModelService; import com.consum.base.service.LWhProcureModelUserRecordService; import com.consum.base.service.LWhProcureModelUserServiceImpl; import com.consum.base.service.LWhProcureModelUserService; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormTransfer; @@ -79,7 +79,7 @@ @Autowired private LWhFormTransferCoreService lWhFormTransferCoreService; @Autowired private LWhProcureModelUserServiceImpl lWhProcureModelUserService; private LWhProcureModelUserService lWhProcureModelUserService; @Autowired private LWhProcureModelUserRecordService lWhProcureModelUserRecordService; @Autowired consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java
@@ -17,7 +17,7 @@ import com.consum.base.core.utils.LockManage; import com.consum.base.service.GoodsBaseServiceImpl; import com.consum.base.service.LWarehouseFlowService; import com.consum.base.service.LWhGoodsRecordDetailsService; import com.consum.base.service.impl.LWhGoodsRecordDetailsService; import com.consum.base.service.LWhGoodsRecordService; import com.consum.base.service.LWhGoodsService; import com.consum.model.po.DepFormScrapped; consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java
@@ -18,7 +18,7 @@ import com.consum.base.core.utils.LockManage; import com.consum.base.service.GoodsBaseServiceImpl; import com.consum.base.service.LWarehouseFlowService; import com.consum.base.service.LWhGoodsRecordDetailsService; import com.consum.base.service.impl.LWhGoodsRecordDetailsService; import com.consum.base.service.LWhGoodsRecordService; import com.consum.base.service.LWhGoodsService; import com.consum.model.po.BaseWarehouse; consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExcelTemplate.java
@@ -26,7 +26,7 @@ @Excel(name = "数量") private Integer num; @Excel(name = "金额") private Integer totalAmount; private Double amount; @Excel(name = "报废原因") private String deception; @@ -34,6 +34,8 @@ private String remark; @ExcelIgnore private Integer totalAmount; @ExcelIgnore private String businessFormCode; @ExcelIgnore private Long dealTime; consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
@@ -1,5 +1,6 @@ package com.consum.base.service; import com.consum.base.service.impl.LWhGoodsRecordDetailsService; import java.util.ArrayList; import java.util.List; import java.util.Map; consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java
@@ -1,29 +1,13 @@ package com.consum.base.service; import com.consum.model.po.LWhFormScrappedGoods; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; import java.util.List; import com.walker.jdbc.service.BaseService; /** * @ClassName LWhFormScrappedGoodsService * @Date 2023/10/30 * @Description * @Version 1.0 * LWhFormScrappedGoodsService * * @author asus * @version 2023/12/05 16:24 **/ @Service public class LWhFormScrappedGoodsService extends BaseServiceImpl { public interface LWhFormScrappedGoodsService extends BaseService { /** * @Description 根据报废单id查询报废单物品 * @Author 卢庆阳 * @Date 2023/11/2 */ public List<LWhFormScrappedGoods> getByFormScrappedId(Long id) { LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods(); scrappedGoods.setFormScrappedId(id); return this.select(scrappedGoods); } } consum-base/src/main/java/com/consum/base/service/LWhProcureModelUserService.java
New file @@ -0,0 +1,23 @@ package com.consum.base.service; import java.util.List; import com.consum.base.pojo.dto.UseRecordDTO; import com.walker.jdbc.service.BaseService; /** * LWhProcureModelUserService * * @author asus * @version 2023/12/05 16:14 **/ public interface LWhProcureModelUserService extends BaseService { /** * 查询使用人记录 * * @param businessId * @return */ List<UseRecordDTO> selectUseRecord(Long businessId); } consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java @@ -1,5 +1,11 @@ package com.consum.base.service; package com.consum.base.service.impl; import com.consum.base.service.BaseWarehouseService; import com.consum.base.service.FinSysTenantServiceImpl; import com.consum.base.service.LWhFormInventoryCoreService; import com.consum.base.service.LWhFormInventoryGoodsServiceImpl; import com.consum.base.service.LWhFormInventoryService; import com.consum.base.service.LWhGoodsService; import java.util.HashMap; import java.util.List; import java.util.Map; consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java @@ -1,4 +1,4 @@ package com.consum.base.service; package com.consum.base.service.impl; import java.util.ArrayList; import java.util.List; @@ -15,6 +15,12 @@ import com.consum.base.core.service.LWhWarningCoreServiceImpl; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.LockManage; import com.consum.base.service.BaseGoodsTemplateService; import com.consum.base.service.GoodsBaseServiceImpl; import com.consum.base.service.LWarehouseFlowService; import com.consum.base.service.LWhFormScrappedGoodsService; import com.consum.base.service.LWhGoodsRecordService; import com.consum.base.service.LWhGoodsService; import com.consum.model.po.LWarehouseFlow; import com.consum.model.po.LWhFormScrapped; import com.consum.model.po.LWhFormScrappedGoods; @@ -47,14 +53,11 @@ @Autowired public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService, LWhFormScrappedGoodsService lWhFormScrappedGoodsService, BaseGoodsTemplateService baseGoodsTemplateService, LWhGoodsService lWhGoodsService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, LWhGoodsRecordService lWhGoodsRecordServiceImpl, LWarehouseFlowService lWarehouseFlowService, LWhWarningCoreServiceImpl lWhWarningCoreService) { // this.lWhFormScrappedService = lWhFormScrappedService; LWhFormScrappedGoodsService lWhFormScrappedGoodsService, BaseGoodsTemplateService baseGoodsTemplateService, LWhGoodsService lWhGoodsService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, LWhGoodsRecordService lWhGoodsRecordServiceImpl, LWarehouseFlowService lWarehouseFlowService, LWhWarningCoreServiceImpl lWhWarningCoreService) { // this.lWhFormScrappedService = lWhFormScrappedService; this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; @@ -64,7 +67,6 @@ this.goodsBaseService = goodsBaseService; this.lWhWarningCoreService = lWhWarningCoreService; } /** * 根据 报废单【L_WH_FORM_SCRAPPED】 报废物品 @@ -93,7 +95,7 @@ // 流水记录总表ID long lWarehouseFlowId = IdUtil.generateId(); //要报废的物品 // 要报废的物品 LWhFormScrappedGoods goods = new LWhFormScrappedGoods(); goods.setFormScrappedId(formScrappedId); List<LWhFormScrappedGoods> formScrappedGoods = lWhFormScrappedGoodsService.select(goods); @@ -105,21 +107,21 @@ // 按型号分组 ArrayList<Long> allChangModelList = new ArrayList<>(); Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream() .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId)); Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream().collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId)); for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : modelGroup.entrySet()) { //规格型号编号 // 规格型号编号 Long baseGoodsModelsId = entry.getKey(); allChangModelList.add(baseGoodsModelsId); //对每组中要报废的数量求和 // 对每组中要报废的数量求和 List<LWhFormScrappedGoods> modelGoodsList = entry.getValue(); //查询型号信息 // 查询型号信息 Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId); //要报废的总数量 // 要报废的总数量 int modelTotalNum = modelGoodsList.stream().mapToInt(LWhFormScrappedGoods::getCounts).sum(); Long tempGoodsId = (Long) tempGoodsInfo.get("goodsid"); String goodsName = (String) tempGoodsInfo.get("goodsname"); String modelName = (String) tempGoodsInfo.get("modelname"); Long tempGoodsId = (Long)tempGoodsInfo.get("goodsid"); String goodsName = (String)tempGoodsInfo.get("goodsname"); String modelName = (String)tempGoodsInfo.get("modelname"); // 插入 各规格物品的进出库记录 L_WH_GOODS_RECORD long whGoodsRecordId = IdUtil.generateId(); LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord(); @@ -132,36 +134,43 @@ whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId); whGoodsRecord.setBaseGoodsModelsName(modelName); whGoodsRecord.setDealTime(dealTime); //本次调整类型 1=调增;2=调减 // 本次调整类型 1=调增;2=调减 whGoodsRecord.setThisType(2); whGoodsRecord.setThisCount(modelTotalNum); //通过LockManage获得锁 // 通过LockManage获得锁 Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId); synchronized (warehouseModelLockObj) { for (LWhFormScrappedGoods formScrappedGood : modelGoodsList) { //报废数量 // 报废数量 Integer counts = formScrappedGood.getCounts(); //报废单编号 // 报废单编号 Long transBusinessId = formScrappedGood.getTransBusinessId(); int goodsModelNum = 0; List<Long> srappedGoodsIds = null; if (warehouseType == null || warehouseType == 0) { srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null, baseGoodsModelsId, (short) 1, counts); srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null, baseGoodsModelsId, (short)1, counts); } else { //使用人员名称 // 使用人员名称 String userName = formScrappedGood.getUserName(); // 根据分发单、规格型号编号、使用人员名称,进行报废 srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId, (short) 2, counts); srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId, (short)2, counts); } if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) { log.error("要报废的物品数量不足!"); // 手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); throw new RuntimeException("报废失败!型号数量不足"); } // 通过物品id查询所有商品的总金额 long amount = lWhGoodsService.queryGoodsPriceById(srappedGoodsIds); LWhFormScrappedGoods lWhFormScrappedGoods = new LWhFormScrappedGoods(formScrappedGood.getId()); lWhFormScrappedGoods.setTotalAmount((int)amount); lWhFormScrappedGoodsService.update(lWhFormScrappedGoods); whGoodsRecord.setInitialCount(goodsModelNum); whGoodsRecord.setEndCount(goodsModelNum - counts); @@ -169,7 +178,7 @@ // 设置物品为报废状态 lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS] lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2); lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short)2); } lWhGoodsRecordServiceImpl.insert(whGoodsRecord); } @@ -201,8 +210,9 @@ lWhFormScrapped.setDealTime(dealTime); goodsBaseService.update(lWhFormScrapped); //当库存变动时调用该方法 lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime); // 当库存变动时调用该方法 lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType, (short)0), warehouseId, allChangModelList, null, dealTime); return lWarehouseFlowId; } consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java
@@ -16,6 +16,7 @@ import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; import com.consum.base.core.utils.CurrencyUtil; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; @@ -34,8 +35,6 @@ import com.consum.base.service.BaseGoodsTemplateService; import com.consum.base.service.BaseWarehouseService; import com.consum.base.service.FinSysTenantDepartmentService; import com.consum.base.service.LWhFormScrappedCoreService; import com.consum.base.service.LWhFormScrappedGoodsService; import com.consum.base.service.LWhFormScrappedService; import com.consum.base.service.LWhGoodsService; import com.consum.base.service.SDictDataServiceImpl; @@ -69,7 +68,7 @@ @Autowired private LWhGoodsService lWhGoodsService; @Autowired private LWhFormScrappedGoodsService scrappedGoodsService; private LWhFormScrappedGoodsServiceImpl scrappedGoodsService; @Autowired private SDictDataServiceImpl sDictDataService; @Autowired @@ -197,10 +196,6 @@ scrappedGoods.setBaseGoodsModelsName(baseGoodsModels.getModelName()); scrappedGoods.setUnit(baseGoodsModels.getUnit()); } // 通过型号id查询该型号所有商品的总金额 // GoodsModelCountDTO goodsModelCountDTO = // lWhGoodsService.queryGoodsAmount(baseGoodsModelsId, GoodsStatesType.SCRAP.getValue()); // scrappedGoods.setTotalAmount(goodsModelCountDTO.getAmount()); scrappedGoodsList.add(scrappedGoods); } int flag2 = this.scrappedGoodsService.insertBatch(scrappedGoodsList); @@ -387,11 +382,11 @@ @Override public List<ScrappedInfoExcelTemplate> export(Long id) { String sql = "SELECT\n" + "\tBUSINESS_FORM_CODE,\n" + "\tfs.DEAL_TIME,\n" + "\tOPERATOR_NAME,\n" + "\tAGENCY_NAME tenantName,\n" + "\tGOODS_TEMPLATE_NAME templateName,\n" + "\tBASE_GOODS_MODELS_NAME baseModelName,\n" + "\tCOUNTS num,\n" + "\tSCRAPPED_NAME deception,\n" + "\tBEIZ remark\n" + "FROM\n" + "\tl_wh_form_scrapped_goods fsg\n" + "\tLEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID\n" + "WHERE\n" + "\tfs.ID = :id\n" String sql = "SELECT BUSINESS_FORM_CODE,fs.DEAL_TIME,OPERATOR_NAME,\n" + "\tAGENCY_NAME tenantName,GOODS_TEMPLATE_NAME templateName,\n" + "\tBASE_GOODS_MODELS_NAME baseModelName,COUNTS num,SCRAPPED_NAME deception,\n" + "\tBEIZ remark,total_amount FROM l_wh_form_scrapped_goods fsg\n" + "\tLEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID WHERE fs.ID = :id\n" + "\tAND STATES = 1"; Map<String, Object> param = new HashMap<>(); param.put("id", id); @@ -403,6 +398,7 @@ select.forEach(item -> { ScrappedInfoExcelTemplate inventoryExcelTemplate = MapUtils.convertMapToObj(item, ScrappedInfoExcelTemplate.class); inventoryExcelTemplate.setAmount(CurrencyUtil.convertFenToYuan(inventoryExcelTemplate.getTotalAmount())); list.add(inventoryExcelTemplate); }); return list; consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java @@ -1,5 +1,13 @@ package com.consum.base.service; package com.consum.base.service.impl; import com.consum.base.service.GoodsBaseServiceImpl; import com.consum.base.service.LGoodsUserRecordServiceImpl; import com.consum.base.service.LGoodsWhRecordServiceImpl; import com.consum.base.service.LWarehouseFlowService; import com.consum.base.service.LWhFormOutputCoreService; import com.consum.base.service.LWhFormTransferService; import com.consum.base.service.LWhGoodsRecordService; import com.consum.base.service.LWhGoodsService; import java.util.ArrayList; import java.util.HashMap; import java.util.List; consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -32,12 +32,11 @@ import com.consum.base.service.BaseWarehouseManagerService; import com.consum.base.service.BaseWarehouseService; import com.consum.base.service.FinSysTenantServiceImpl; import com.consum.base.service.LWhFormOutputService; import com.consum.base.service.LWhFormTransferService; import com.consum.base.service.LWhGoodsService; import com.consum.base.service.LWhProcureModelService; import com.consum.base.service.LWhProcureModelUserRecordService; import com.consum.base.service.LWhProcureModelUserServiceImpl; import com.consum.base.service.LWhProcureModelUserService; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.BaseWarehouseManager; import com.consum.model.po.FinSysTenant; @@ -71,7 +70,7 @@ @Autowired private BaseGoodsModelsServiceImpl baseGoodsModelsService; @Autowired private LWhProcureModelUserServiceImpl lWhProcureModelUserService; private LWhProcureModelUserService lWhProcureModelUserService; @Autowired private LWhProcureModelUserRecordService lWhProcureModelUserRecordService; @Autowired consum-base/src/main/java/com/consum/base/service/impl/LWhGoodsRecordDetailsService.java
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordDetailsService.java @@ -1,6 +1,10 @@ package com.consum.base.service; package com.consum.base.service.impl; import com.walker.jdbc.service.BaseServiceImpl; import java.util.List; import java.util.Map; import javax.annotation.PostConstruct; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -10,9 +14,7 @@ import org.springframework.jdbc.core.simple.SimpleJdbcCall; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; import com.walker.jdbc.service.BaseServiceImpl; /** * @ClassName LWhGoodsRecordDetailsService @@ -30,11 +32,9 @@ @PostConstruct public void init() { this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate) .withCatalogName(dataBaseName) .withProcedureName("insert_WH_GOODS_RECORD_DETAILS"); this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withCatalogName(dataBaseName) .withProcedureName("insert_WH_GOODS_RECORD_DETAILS"); } @Autowired public LWhGoodsRecordDetailsService(JdbcTemplate jdbcTemplate) { @@ -42,10 +42,8 @@ } public void sameGoodsInsertMore(List<Long> outGoodsId, long whGoodsRecordId, short thisType) { SqlParameterSource in = new MapSqlParameterSource() .addValue("WHGOODSIDList", StringUtils.join(outGoodsId, ",")) .addValue("WH_GOODS_RECORD_ID", whGoodsRecordId) .addValue("THIS_TYPE", thisType); SqlParameterSource in = new MapSqlParameterSource().addValue("WHGOODSIDList", StringUtils.join(outGoodsId, ",")) .addValue("WH_GOODS_RECORD_ID", whGoodsRecordId).addValue("THIS_TYPE", thisType); Map<String, Object> out = simpleJdbcCall.execute(in); System.out.println("Procedure result: " + out); } consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelUserServiceImpl.java
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhProcureModelUserServiceImpl.java @@ -1,8 +1,9 @@ package com.consum.base.service; package com.consum.base.service.impl; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; import com.consum.base.pojo.dto.UseRecordDTO; import com.consum.base.service.LWhProcureModelUserService; import com.google.common.collect.Lists; import com.walker.jdbc.service.BaseServiceImpl; import java.util.HashMap; @@ -17,8 +18,9 @@ * @date 2023/11/2 16:21 */ @Service public class LWhProcureModelUserServiceImpl extends BaseServiceImpl { public class LWhProcureModelUserServiceImpl extends BaseServiceImpl implements LWhProcureModelUserService { @Override public List<UseRecordDTO> selectUseRecord(Long businessId) { String sql = "SELECT\n" + "\tpmur.ID,\n"