diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java index 153720380..182fc50f6 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java @@ -8,7 +8,7 @@ public interface ModuleNameConstant { /** * 如果不需要 "" */ - public static final String DEVAUTH =""; + public static final String DEVAUTH ="-pref"; /** * 工厂对接服务名称 diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java index a54511345..b6ff47599 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java @@ -13,5 +13,10 @@ public class RedisKeyConstant { */ public static final String CACHE_OLD_SYSTEM_ORDERPACKAGE_KEY ="cache:old-system-orderpackage-key:"; + /** + * 缓存盘点包件的子任务 + */ + public static final String TASK_QUEST_CHILD_KEY ="cache:task-quest-child-key:"; + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index 320e75fbb..3e201b64f 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Map; /** * 在库订单包件清单 Feign接口类 @@ -118,4 +119,14 @@ public interface IDistributionParcelListClient { @GetMapping(API_PREFIX+"/updateOrderPackageCodeById") void updateOrderPackageCodeById(@RequestParam Long packageId, @RequestParam String orderPackageStatus); + + /** + * 根据包条码和仓库ID查询订单相关信息 + * @param orderPackCode 包条码 + * @param warehouseId 仓库ID + * @return + */ + @GetMapping(API_PREFIX+"/findByOrderInfoByOrderPackageCodeAndWarehouseId") + Map findByOrderInfoByOrderPackageCodeAndWarehouseId(@RequestParam String orderPackCode,@RequestParam Long warehouseId); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index fec07146f..34d8d5e75 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -16,16 +16,19 @@ */ package com.logpm.distribution.feign; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.service.IDistributionParcelListService; import com.logpm.distribution.service.IDistributionStockArticleService; import com.logpm.distribution.vo.DistributionParcelListVO; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; @@ -34,7 +37,9 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 在库订单包件清单 Feign实现类 @@ -45,6 +50,7 @@ import java.util.List; @ApiIgnore() @RestController @AllArgsConstructor +@Slf4j public class DistributionParcelListClient implements IDistributionParcelListClient { private final IDistributionParcelListService distributionParcelListService; @@ -219,4 +225,28 @@ public class DistributionParcelListClient implements IDistributionParcelListClie distributionStockArticleService.updateOrderInfo(orderCode,warehouseId); } + + @Override + public Map findByOrderInfoByOrderPackageCodeAndWarehouseId(String orderPackCode, Long warehouseId) { + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DistributionParcelListEntity::getOrderPackageCode,orderPackCode); + lambdaQueryWrapper.eq(DistributionParcelListEntity::getWarehouseId,warehouseId); + // 得到包件 + try{ + DistributionParcelListEntity one = distributionParcelListService.getOne(lambdaQueryWrapper); + + //查询订单信息 + DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleService.getById(one.getStockArticleId()); + + Map map = new HashMap<>(); + map.put("mallName",distributionStockArticleEntity.getMallName()); + return map; + }catch (Exception e){ + log.error(" >>>>>>> findByOrderInfoByOrderPackageCodeAndWarehouseId 查询异常",e); + } + return null; + + + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index a89742483..c92650cfa 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -46,12 +46,14 @@ import com.logpm.warehouse.service.*; import com.logpm.warehouse.vo.*; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.springblade.common.constant.RedisKeyConstant; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.exception.CustomerException; import org.springblade.common.utils.CommonUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.BladePage; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -112,6 +114,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectTaskQuestPage(IPage page, TaskQuestVO taskQuest) { //获取当前登录人仓库 @@ -138,29 +142,29 @@ public class TaskQuestServiceImpl extends BaseServiceImpl refId,String questNum,Long taskQuest){ + public void addQuestDetail(Long warehouseId, List refId, String questNum, Long taskQuest) { //查询表存在么 String s = baseMapper.selectExitsInfo(questNum); - if(ObjectUtils.isNotNull(s)){ + if (ObjectUtils.isNotNull(s)) { throw new ServiceException("任务表已存在!"); - }else{ + } else { //创建任务明细表 - baseMapper.createdTable(questNum); - //创建任务明细盘点表 - baseMapper.createdTableChild(questNum + "_child"); + baseMapper.createdTable(questNum); + //创建任务明细盘点表 + baseMapper.createdTableChild(questNum + "_child"); } - if(ObjectUtils.isNull(refId) || refId.isEmpty()){ + if (ObjectUtils.isNull(refId) || refId.isEmpty()) { //全部 DistributionParcelListVO stockArticleEntity = new DistributionParcelListVO(); stockArticleEntity.setWarehouseId(warehouseId); - getParcelListNumber(stockArticleEntity,questNum,taskQuest); - }else{ + getParcelListNumber(stockArticleEntity, questNum, taskQuest); + } else { //部分 for (Long l : refId) { DistributionParcelListVO stockArticleEntity = new DistributionParcelListVO(); stockArticleEntity.setWarehouseId(warehouseId); stockArticleEntity.setMallId(l); - getParcelListNumber(stockArticleEntity,questNum,taskQuest); + getParcelListNumber(stockArticleEntity, questNum, taskQuest); } } @@ -169,102 +173,103 @@ public class TaskQuestServiceImpl extends BaseServiceImpl parcelListInfo = distributionParcelListClient.getParcelListInfo(stockArticleEntity); - BladeUser user = AuthUtil.getUser(); - if(!parcelListInfo.isEmpty()){ - List detailEntityList = new ArrayList<>(); - //查询查询托盘名称 - List trayEntityList = basicdataTrayClient.getTrayEntityList(); - parcelListInfo.forEach( i ->{ - - QuestDetailEntity detailEntity = new QuestDetailEntity(); - detailEntity.setId(getTaskID()); - detailEntity.setCreateTime(new Date()); - detailEntity.setTenantId(user.getTenantId()); - detailEntity.setCreateUser(user.getUserId()); - - - Long deptId =getDeptByMaxDept(user.getDeptId()); - detailEntity.setCreateDept(deptId); - detailEntity.setIsDeleted(0); - detailEntity.setStatus(1); - detailEntity.setQuestId(taskQuest); - detailEntity.setOrderCode(i.getOrderCode()); - detailEntity.setOrderId(i.getStockArticleId()); - detailEntity.setSendWarehouseName(i.getSendWarehouseName()); - detailEntity.setBrandName(i.getBrandName()); + List parcelListInfo = distributionParcelListClient.getParcelListInfo(stockArticleEntity); + BladeUser user = AuthUtil.getUser(); + if (!parcelListInfo.isEmpty()) { + List detailEntityList = new ArrayList<>(); + //查询查询托盘名称 + List trayEntityList = basicdataTrayClient.getTrayEntityList(); + parcelListInfo.forEach(i -> { + + QuestDetailEntity detailEntity = new QuestDetailEntity(); + detailEntity.setId(getTaskID()); + detailEntity.setCreateTime(new Date()); + detailEntity.setTenantId(user.getTenantId()); + detailEntity.setCreateUser(user.getUserId()); + + + Long deptId = getDeptByMaxDept(user.getDeptId()); + detailEntity.setCreateDept(deptId); + detailEntity.setIsDeleted(0); + detailEntity.setStatus(1); + detailEntity.setQuestId(taskQuest); + detailEntity.setOrderCode(i.getOrderCode()); + detailEntity.setOrderId(i.getStockArticleId()); + detailEntity.setSendWarehouseName(i.getSendWarehouseName()); + detailEntity.setBrandName(i.getBrandName()); // detailEntity.setQuestType(); - //盘点对象;1.定制品 2零担 3 库存品 - //查询托盘名称 - if(ObjectUtils.isNotNull(i.getTrayId())){ + //盘点对象;1.定制品 2零担 3 库存品 + //查询托盘名称 + if (ObjectUtils.isNotNull(i.getTrayId())) { // boolean b = trayEntityList.stream().anyMatch(a -> i.getTrayId().equals(String.valueOf(a.getId()) )); // log.info("托盘是否有值>>>>>>>>>>{}",b); - Optional first = trayEntityList.stream().filter(t -> i.getTrayId().equals(String.valueOf(t.getId()))).findFirst(); - if(first.isPresent()){ - BasicdataTrayEntity basicdataTrayEntity = first.get(); - detailEntity.setTrayName(basicdataTrayEntity.getPalletName()); + Optional first = trayEntityList.stream().filter(t -> i.getTrayId().equals(String.valueOf(t.getId()))).findFirst(); + if (first.isPresent()) { + BasicdataTrayEntity basicdataTrayEntity = first.get(); + detailEntity.setTrayName(basicdataTrayEntity.getPalletName()); + } + } + if (ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(1)) { + detailEntity.setQuestTarget(i.getConditions()); + } else if (ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(2)) { + detailEntity.setQuestTarget(3); // 库存品 + } else { + log.info("包件信息!数据信息不存在!!"); + return; } - } - if(ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(1) ){ - detailEntity.setQuestTarget(i.getConditions()); - }else if(ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(2)){ - detailEntity.setQuestTarget(3); // 库存品 - }else{ - log.info("包件信息!数据信息不存在!!"); - return; - } // detailEntity.setQuestTarget(1); - detailEntity.setOrderPackageCode(i.getOrderPackageCode()); - detailEntity.setWaybillNumber(i.getWaybillNumber()); - detailEntity.setOrderPackageId(i.getId()); - detailEntity.setCategoryName(i.getFirsts()); - detailEntity.setThirdProduct(i.getThirdProduct()); - detailEntity.setFirsts(i.getFirsts()); - detailEntity.setSecond(i.getSecond()); - detailEntity.setStockId(i.getStockId()); //库存品ID - detailEntity.setQuestStatus(0); - detailEntity.setStockNum(ObjectUtils.isNotNull(i.getQuantity()) ? i.getQuantity() : 0); - detailEntity.setWarehouseId(i.getWarehouseId()); - detailEntity.setPositionCode(i.getPositionCode()); - detailEntity.setTrayCode(i.getTrayCode()); + detailEntity.setOrderPackageCode(i.getOrderPackageCode()); + detailEntity.setWaybillNumber(i.getWaybillNumber()); + detailEntity.setOrderPackageId(i.getId()); + detailEntity.setCategoryName(i.getFirsts()); + detailEntity.setThirdProduct(i.getThirdProduct()); + detailEntity.setFirsts(i.getFirsts()); + detailEntity.setSecond(i.getSecond()); + detailEntity.setStockId(i.getStockId()); //库存品ID + detailEntity.setQuestStatus(0); + detailEntity.setStockNum(ObjectUtils.isNotNull(i.getQuantity()) ? i.getQuantity() : 0); + detailEntity.setWarehouseId(i.getWarehouseId()); + detailEntity.setPositionCode(i.getPositionCode()); + detailEntity.setTrayCode(i.getTrayCode()); // detailEntity.setGroundingAllocationId(); // detailEntity.setGroundingPositionCode(); - detailEntity.setTrayId(i.getTrayId()); - detailEntity.setAllocationId(i.getAllocationId()); - detailEntity.setIsNew(0); + detailEntity.setTrayId(i.getTrayId()); + detailEntity.setAllocationId(i.getAllocationId()); + detailEntity.setIsNew(0); - detailEntity.setMaterialCode(i.getMaterialCode()); - detailEntity.setMaterialName(i.getMaterialName()); - detailEntity.setMarketName(i.getMallName()); - detailEntity.setIncomingBatch(i.getOrderCode()); - detailEntityList.add(detailEntity); + detailEntity.setMaterialCode(i.getMaterialCode()); + detailEntity.setMaterialName(i.getMaterialName()); + detailEntity.setMarketName(i.getMallName()); + detailEntity.setIncomingBatch(i.getOrderCode()); + detailEntityList.add(detailEntity); - }); - log.debug("包件数据=={}",detailEntityList.size()); - //查询零担数据 - DistributionStockArticleEntity stockArticle = new DistributionStockArticleEntity(); - stockArticle.setWarehouseId(stockArticleEntity.getWarehouseId()); - stockArticle.setMallId(ObjectUtils.isNotNull(stockArticleEntity.getMallId()) ? stockArticleEntity.getMallId() : null); - stockArticle.setIsZero("1"); - List stockArticleInfo = distributionStockArticleClient.getStockArticleInfo(stockArticle); - if(ObjectUtils.isNotNull(stockArticleInfo) && !stockArticleInfo.isEmpty()){ - detailEntityList.addAll(handleIsZeroList(stockArticleInfo,taskQuest)); - } - log.debug("零担 和 包件数据=={}",detailEntityList.size()); - //查询库存平数据 - DistributionStockListEntity stockListEntity = new DistributionStockListEntity(); - stockListEntity.setWarehouseId(stockArticleEntity.getWarehouseId()); - stockListEntity.setMarketId(ObjectUtils.isNotNull(stockArticleEntity.getMallId()) ? stockArticleEntity.getMallId() : null); - List stockListInfo = distributionStockListClient.getStockListInfo(stockListEntity); - if(!stockListInfo.isEmpty()){ - detailEntityList.addAll(handleStockList(stockListInfo,taskQuest)); + }); + log.debug("包件数据=={}", detailEntityList.size()); + //查询零担数据 + DistributionStockArticleEntity stockArticle = new DistributionStockArticleEntity(); + stockArticle.setWarehouseId(stockArticleEntity.getWarehouseId()); + stockArticle.setMallId(ObjectUtils.isNotNull(stockArticleEntity.getMallId()) ? stockArticleEntity.getMallId() : null); + stockArticle.setIsZero("1"); + List stockArticleInfo = distributionStockArticleClient.getStockArticleInfo(stockArticle); + if (ObjectUtils.isNotNull(stockArticleInfo) && !stockArticleInfo.isEmpty()) { + detailEntityList.addAll(handleIsZeroList(stockArticleInfo, taskQuest)); + } + log.debug("零担 和 包件数据=={}", detailEntityList.size()); + //查询库存平数据 + DistributionStockListEntity stockListEntity = new DistributionStockListEntity(); + stockListEntity.setWarehouseId(stockArticleEntity.getWarehouseId()); + stockListEntity.setMarketId(ObjectUtils.isNotNull(stockArticleEntity.getMallId()) ? stockArticleEntity.getMallId() : null); + List stockListInfo = distributionStockListClient.getStockListInfo(stockListEntity); + if (!stockListInfo.isEmpty()) { + detailEntityList.addAll(handleStockList(stockListInfo, taskQuest)); // stockListInfo.stream().forEach( li ->{ // QuestDetailEntity detailListEntity = new QuestDetailEntity(); // detailListEntity.setCreateTime(new Date()); @@ -294,19 +299,19 @@ public class TaskQuestServiceImpl extends BaseServiceImpl subList = detailEntityList.subList(startIndex, endIndex); - baseMapper.insertQuestDetail(questNum, subList); } + log.debug("全部包件数据=={}", detailEntityList.size()); + if (!detailEntityList.isEmpty()) { + int totalSize = detailEntityList.size(); // 获取总数据量 + int batchSize = 1000; // 设置批处理的大小 + int xh = (int) Math.ceil((double) totalSize / batchSize); + + for (int i = 0; i < xh; i++) { + int startIndex = i * batchSize; + int endIndex = Math.min(startIndex + batchSize, totalSize); + List subList = detailEntityList.subList(startIndex, endIndex); + baseMapper.insertQuestDetail(questNum, subList); + } // int totalSize = detailEntityList.size(); // 获取总数据量 // int batchSize = 1000; // 设置批处理的大小 @@ -327,14 +332,15 @@ public class TaskQuestServiceImpl extends BaseServiceImpl 0){ // baseMapper.insertQuestDetail(questNum,detailEntityList.subList(xh * batchSize, q)); // } - log.info("数量七千万===》》》"+xh); - } + log.info("数量七千万===》》》" + xh); + } + } } -} /** * 获取用户部门最大的部门ID + * * @param deptId * @return */ @@ -343,7 +349,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl handleIsZeroList(List stockArticleInfo,Long taskQuest){ + public List handleIsZeroList(List stockArticleInfo, Long taskQuest) { List detailEntityList = new ArrayList<>(); BladeUser user = AuthUtil.getUser(); - //处理库位,托盘 - stockArticleInfo.stream().forEach( i ->{ + //处理库位,托盘 + stockArticleInfo.stream().forEach(i -> { QuestDetailEntity detailEntity = new QuestDetailEntity(); detailEntity.setId(getTaskID()); detailEntity.setCreateTime(new Date()); @@ -395,37 +402,37 @@ public class TaskQuestServiceImpl extends BaseServiceImpl qw = new QueryWrapper<>(); - qw.eq("warehouse_id",i.getWarehouseId()); - qw.eq("association_id",i.getId()); - qw.eq("incoming_batch",i.getOrderCode()); - qw.eq("market_id",i.getMallId()); + qw.eq("warehouse_id", i.getWarehouseId()); + qw.eq("association_id", i.getId()); + qw.eq("incoming_batch", i.getOrderCode()); + qw.eq("market_id", i.getMallId()); List updownGoodsList = warehouseUpdownGoodsMapper.selectList(qw); - if(!updownGoodsList.isEmpty()){ - updownGoodsList.stream().forEach( ii ->{ + if (!updownGoodsList.isEmpty()) { + updownGoodsList.stream().forEach(ii -> { QuestDetailEntity qq = new QuestDetailEntity(); - BeanUtil.copyProperties(detailEntity,qq); + BeanUtil.copyProperties(detailEntity, qq); qq.setId(getTaskID()); qq.setPositionCode(ii.getPositionCode()); qq.setAllocationId(String.valueOf(ii.getAllocationId())); qq.setMaterialName(ii.getMarketName()); BasicdataTrayEntity trayByAllocationId = taryAllocationService.getTrayByAllocationId(ii.getAllocationId()); - if(ObjectUtils.isNotNull(trayByAllocationId)){ + if (ObjectUtils.isNotNull(trayByAllocationId)) { List tray = chuLiKuCun(i, trayByAllocationId.getId()); - if(!tray.isEmpty()){ + if (!tray.isEmpty()) { qq.setTrayCode(tray.get(0).getTrayCode()); qq.setTrayId(String.valueOf(tray.get(0).getTrayId())); - qq.setStockNum(ObjectUtils.isNotNull(tray.get(0).getNum()) ? tray.get(0).getNum() : 0); + qq.setStockNum(ObjectUtils.isNotNull(tray.get(0).getNum()) ? tray.get(0).getNum() : 0); } } qq.setStockNum(ObjectUtils.isNotNull(ii.getNum()) ? ii.getNum() : 0); detailEntityList.add(qq); }); - }else{ + } else { List warehouseTrayGoodsEntities = chuLiKuCun(i, null); - if(!warehouseTrayGoodsEntities.isEmpty()){ - warehouseTrayGoodsEntities.stream().forEach( ta ->{ + if (!warehouseTrayGoodsEntities.isEmpty()) { + warehouseTrayGoodsEntities.stream().forEach(ta -> { QuestDetailEntity aa = new QuestDetailEntity(); - BeanUtil.copyProperties(detailEntity,aa); + BeanUtil.copyProperties(detailEntity, aa); aa.setId(getTaskID()); aa.setTrayCode(ta.getTrayCode()); aa.setTrayId(String.valueOf(ta.getTrayId())); @@ -438,17 +445,17 @@ public class TaskQuestServiceImpl extends BaseServiceImpl handleStockList(List stockListInfo,Long taskQuest){ + public List handleStockList(List stockListInfo, Long taskQuest) { List detailEntityList = new ArrayList<>(); BladeUser user = AuthUtil.getUser(); - //处理库位,托盘 - stockListInfo.stream().forEach( i ->{ + //处理库位,托盘 + stockListInfo.stream().forEach(i -> { QuestDetailEntity detailEntity = new QuestDetailEntity(); detailEntity.setId(getTaskID()); detailEntity.setCreateTime(new Date()); @@ -476,23 +483,23 @@ public class TaskQuestServiceImpl extends BaseServiceImpl qw = new QueryWrapper<>(); - qw.eq("warehouse_id",i.getWarehouseId()); - qw.eq("association_id",i.getMaterialId()); - qw.eq("incoming_batch",i.getIncomingBatch()); - qw.eq("market_id",i.getMarketId()); + qw.eq("warehouse_id", i.getWarehouseId()); + qw.eq("association_id", i.getMaterialId()); + qw.eq("incoming_batch", i.getIncomingBatch()); + qw.eq("market_id", i.getMarketId()); List updownGoodsList = warehouseUpdownGoodsMapper.selectList(qw); - if(!updownGoodsList.isEmpty()){ - updownGoodsList.stream().forEach( ii ->{ + if (!updownGoodsList.isEmpty()) { + updownGoodsList.stream().forEach(ii -> { QuestDetailEntity a = new QuestDetailEntity(); - BeanUtil.copyProperties(detailEntity,a); + BeanUtil.copyProperties(detailEntity, a); a.setId(getTaskID()); a.setPositionCode(ii.getPositionCode()); a.setAllocationId(String.valueOf(ii.getAllocationId())); a.setMaterialName(ii.getMarketName()); BasicdataTrayEntity trayByAllocationId = taryAllocationService.getTrayByAllocationId(ii.getAllocationId()); - if(ObjectUtils.isNotNull(trayByAllocationId)){ + if (ObjectUtils.isNotNull(trayByAllocationId)) { List tray = chuLiKuCunLing(i, trayByAllocationId.getId()); - if(!tray.isEmpty()){ + if (!tray.isEmpty()) { a.setTrayCode(tray.get(0).getTrayCode()); a.setTrayId(String.valueOf(tray.get(0).getTrayId())); a.setStockNum(ObjectUtils.isNotNull(tray.get(0).getNum()) ? tray.get(0).getNum() : 0); @@ -501,66 +508,69 @@ public class TaskQuestServiceImpl extends BaseServiceImpl warehouseTrayGoodsEntities = chuLiKuCunLing(i, null); - if(!warehouseTrayGoodsEntities.isEmpty()){ - warehouseTrayGoodsEntities.stream().forEach( ta ->{ + if (!warehouseTrayGoodsEntities.isEmpty()) { + warehouseTrayGoodsEntities.stream().forEach(ta -> { QuestDetailEntity detailEntityTray = new QuestDetailEntity(); - BeanUtil.copyProperties(detailEntity,detailEntityTray); + BeanUtil.copyProperties(detailEntity, detailEntityTray); detailEntityTray.setId(getTaskID()); detailEntityTray.setTrayCode(ta.getTrayCode()); detailEntityTray.setTrayId(String.valueOf(ta.getTrayId())); - detailEntityTray.setStockNum(ObjectUtils.isNotNull(ta.getNum() ) ? ta.getNum() : 0); + detailEntityTray.setStockNum(ObjectUtils.isNotNull(ta.getNum()) ? ta.getNum() : 0); detailEntityList.add(detailEntityTray); }); } } - if(ObjectUtils.isNotNull(detailEntityList.isEmpty())){ + if (ObjectUtils.isNotNull(detailEntityList.isEmpty())) { List collect = detailEntityList.stream().filter(q -> q.getStockId().equals(i.getId())).collect(Collectors.toList()); - if(!collect.isEmpty()){ + if (!collect.isEmpty()) { int sum = collect.stream().mapToInt(QuestDetailEntity::getStockNum).sum(); int i1 = i.getQuantityStock() - sum; detailEntity.setStockNum(i1); - }else{ - detailEntity.setStockNum(ObjectUtils.isNotNull( i.getQuantityStock()) ? i.getQuantityStock() : 0); + } else { + detailEntity.setStockNum(ObjectUtils.isNotNull(i.getQuantityStock()) ? i.getQuantityStock() : 0); } } detailEntityList.add(detailEntity); }); - return detailEntityList; -} + return detailEntityList; + } /** * 查询零担托盘数据 + * * @param distributionStockArticle * @return */ - public List chuLiKuCun(DistributionStockArticleEntity distributionStockArticle ,Long id){ + public List chuLiKuCun(DistributionStockArticleEntity distributionStockArticle, Long id) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq("warehouse_id",distributionStockArticle.getWarehouseId()); - qw.eq("association_id",distributionStockArticle.getId()); - qw.eq("incoming_batch",distributionStockArticle.getOrderCode()); - qw.eq("market_id",distributionStockArticle.getMallId()); - if(ObjectUtils.isNotNull(id)){ - qw.eq("tray_id",id); + qw.eq("warehouse_id", distributionStockArticle.getWarehouseId()); + qw.eq("association_id", distributionStockArticle.getId()); + qw.eq("incoming_batch", distributionStockArticle.getOrderCode()); + qw.eq("market_id", distributionStockArticle.getMallId()); + if (ObjectUtils.isNotNull(id)) { + qw.eq("tray_id", id); } return warehouseTrayGoodsMapper.selectList(qw); } + /** * 查询库存托盘数据 + * * @param distributionStockArticle * @return */ - public List chuLiKuCunLing(DistributionStockListEntity distributionStockArticle ,Long id){ + public List chuLiKuCunLing(DistributionStockListEntity distributionStockArticle, Long id) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq("warehouse_id",distributionStockArticle.getWarehouseId()); - qw.eq("association_id",distributionStockArticle.getMaterialId()); - qw.eq("incoming_batch",distributionStockArticle.getIncomingBatch()); - qw.eq("market_id",distributionStockArticle.getMarketId()); - if(ObjectUtils.isNotNull(id)){ - qw.eq("tray_id",id); + qw.eq("warehouse_id", distributionStockArticle.getWarehouseId()); + qw.eq("association_id", distributionStockArticle.getMaterialId()); + qw.eq("incoming_batch", distributionStockArticle.getIncomingBatch()); + qw.eq("market_id", distributionStockArticle.getMarketId()); + if (ObjectUtils.isNotNull(id)) { + qw.eq("tray_id", id); } return warehouseTrayGoodsMapper.selectList(qw); } @@ -577,7 +587,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl collect = list.stream().map(TaskQuestChildEntity::getRefId).collect(Collectors.toList()); - addQuestDetail(myCurrentWarehouse.getId(),collect,questNum,taskQuest.getId()); - }else{ - addQuestDetail(myCurrentWarehouse.getId(),null,questNum,taskQuest.getId()); + addQuestDetail(myCurrentWarehouse.getId(), collect, questNum, taskQuest.getId()); + } else { + addQuestDetail(myCurrentWarehouse.getId(), null, questNum, taskQuest.getId()); } return save ? R.success("添加成功") : R.fail("添加失败"); @@ -638,7 +648,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailList = baseMapper.selectTaskInfoForIds(questNum, quest,taskSearchDTO.getQuestDetailIds()); + List questDetailList = baseMapper.selectTaskInfoForIds(questNum, quest, taskSearchDTO.getQuestDetailIds()); - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",1); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 1); List list = new ArrayList<>(); AtomicBoolean s = new AtomicBoolean(false); - taskSearchDTO.getQuestDetailIds().stream().forEach( i ->{ - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",i); + taskSearchDTO.getQuestDetailIds().stream().forEach(i -> { + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", i); //查询当前包件盘点状态 // boolean b = questDetailList.stream().anyMatch(q -> q.getId().equals(i) && q.getQuestStatus().equals(1)); @@ -772,134 +784,132 @@ public class TaskQuestServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",1); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 1); // if(s.get()){ // return Resp.scanFail("包含已盘点的数据!请勿重复提交!","包含已盘点的数据!请勿重复提交!"); // } - baseMapper.updatePositionCodeList(questNum,list); + baseMapper.updatePositionCodeList(questNum, list); } //处理盘点的包件 - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",2); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 2); - if(ObjectUtils.isNotNull(taskSearchDTO.getQuestDetailList())){ + if (ObjectUtils.isNotNull(taskSearchDTO.getQuestDetailList())) { List detailEntityList = new ArrayList<>(); //处理的包件 - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",4); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 4); for (QuestDetailDTO i : taskSearchDTO.getQuestDetailList()) { - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",45); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 45); - Long taskID; - if(ObjectUtils.isNotNull(i.getId())){ - taskID = i.getId(); - }else{ - taskID = getTaskID(); - } - if(i.getIsNew().equals(1)){ - //新增数据 + Long taskID; + if (ObjectUtils.isNotNull(i.getId())) { + taskID = i.getId(); + } else { + taskID = getTaskID(); + } + if (i.getIsNew().equals(1)) { + //新增数据 + QuestDetailEntity questDetail = new QuestDetailEntity(); + BeanUtil.copyProperties(i, questDetail); + questDetail.setTenantId(user.getTenantId()); + questDetail.setCreateDept(getDeptByMaxDept(user.getDeptId())); + questDetail.setCreateTime(new Date()); + questDetail.setIsDeleted(0); + questDetail.setStatus(1); + questDetail.setCreateUser(user.getUserId()); + questDetail.setUpdateUser(user.getUserId()); + questDetail.setUpdateTime(new Date()); + + questDetail.setId(taskID); + questDetail.setWarehouseId(warehouseId); + questDetail.setQuestStatus(1); + List entityList = new ArrayList<>(); + entityList.add(questDetail); + baseMapper.insertQuestDetail(questNum, entityList); + } + Integer stockNum = i.getStockNum(); + Integer lossNum = i.getLossNum(); + Integer deliveNum = i.getDeliveNum(); + Integer wornNum = i.getWornNum(); + Integer noReceivedNum = i.getNoReceivedNum(); + Integer noRepairNum = i.getNoRepairNum(); + if (stockNum > 0 || lossNum > 0 || deliveNum > 0 || wornNum > 0 || noReceivedNum > 0 || noRepairNum > 0) { + + //查询盘点包件信息 + if (ObjectUtils.isNotNull(i.getOrderPackageCode())) { QuestDetailEntity questDetail = new QuestDetailEntity(); - BeanUtil.copyProperties(i,questDetail); - questDetail.setTenantId(user.getTenantId()); - questDetail.setCreateDept(getDeptByMaxDept(user.getDeptId())); - questDetail.setCreateTime(new Date()); - questDetail.setIsDeleted(0); - questDetail.setStatus(1); - questDetail.setCreateUser(user.getUserId()); - questDetail.setUpdateUser(user.getUserId()); - questDetail.setUpdateTime(new Date()); - - questDetail.setId(taskID); - questDetail.setWarehouseId(warehouseId); - questDetail.setQuestStatus(1); - List entityList = new ArrayList<>(); - entityList.add(questDetail); - baseMapper.insertQuestDetail( questNum,entityList); + questDetail.setOrderPackageCode(i.getOrderPackageCode()); + QuestDetailEntity questDetail1 = baseMapper.selectOneTaskInfo(taskSearchDTO.getQuestNum(), questDetail); + if (ObjectUtils.isNotNull(questDetail1)) { + i.setId(questDetail1.getId()); + } } - Integer stockNum = i.getStockNum(); - Integer lossNum = i.getLossNum(); - Integer deliveNum = i.getDeliveNum(); - Integer wornNum = i.getWornNum(); - Integer noReceivedNum = i.getNoReceivedNum(); - Integer noRepairNum = i.getNoRepairNum(); - if(stockNum > 0 || lossNum > 0 || deliveNum > 0 || wornNum > 0 || noReceivedNum > 0 || noRepairNum > 0){ - - //查询盘点包件信息 - if(ObjectUtils.isNotNull(i.getOrderPackageCode())){ + //添加 + List childList = new ArrayList<>(); + childList.add(addQuestDetailChild(stockNum, "10", taskID, warehouseId, questNum)); + childList.add(addQuestDetailChild(wornNum, "20", taskID, warehouseId, questNum)); + childList.add(addQuestDetailChild(lossNum, "30", taskID, warehouseId, questNum)); + childList.add(addQuestDetailChild(noRepairNum, "40", taskID, warehouseId, questNum)); + childList.add(addQuestDetailChild(deliveNum, "50", taskID, warehouseId, questNum)); + childList.add(addQuestDetailChild(noReceivedNum, "60", taskID, warehouseId, questNum)); + if (!childList.isEmpty()) { + boolean b = childList.stream().anyMatch(ii -> ObjectUtils.isNull(ii.getId())); + if (b) { + //添加 + baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum() + "_child", childList); + //修改盘点数据 + List list = new ArrayList<>(); QuestDetailEntity questDetail = new QuestDetailEntity(); - questDetail.setOrderPackageCode(i.getOrderPackageCode()); - QuestDetailEntity questDetail1 = baseMapper.selectOneTaskInfo(taskSearchDTO.getQuestNum(), questDetail); - if(ObjectUtils.isNotNull(questDetail1)){ - i.setId(questDetail1.getId()); - } - } - //添加 - List childList = new ArrayList<>(); - childList.add(addQuestDetailChild(stockNum,"10",taskID,warehouseId,questNum)); - childList.add(addQuestDetailChild(wornNum,"20",taskID,warehouseId,questNum)); - childList.add(addQuestDetailChild(lossNum,"30",taskID,warehouseId,questNum)); - childList.add(addQuestDetailChild(noRepairNum,"40",taskID,warehouseId,questNum)); - childList.add(addQuestDetailChild(deliveNum,"50",taskID,warehouseId,questNum)); - childList.add(addQuestDetailChild(noReceivedNum,"60",taskID,warehouseId,questNum)); - if(!childList.isEmpty()){ - boolean b = childList.stream().anyMatch(ii -> ObjectUtils.isNull(ii.getId())); - if(b){ - //添加 - baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum()+"_child",childList); - //修改盘点数据 - List list = new ArrayList<>(); - QuestDetailEntity questDetail = new QuestDetailEntity(); - questDetail.setId(i.getId()); - questDetail.setQuestStatus(1); //已盘 - questDetail.setUpdateUser(user.getUserId()); - questDetail.setUpdateTime(new Date()); - if(ObjectUtils.isNotNull(i.getTrayId())){ - questDetail.setTrayId(i.getTrayId()); - questDetail.setTrayCode(i.getTrayCode()); - } - list.add(questDetail); - baseMapper.updatePositionCodeList(taskSearchDTO.getQuestNum(),list); - }else{ - //修改 - List collect = childList.stream().filter( ii -> ObjectUtils.isNotNull(ii.getQuestNum()) && ii.getQuestNum() > 0).collect(Collectors.toList()); - baseMapper.updetaQuestDetailChildList(questNum+"_child",collect); + questDetail.setId(i.getId()); + questDetail.setQuestStatus(1); //已盘 + questDetail.setUpdateUser(user.getUserId()); + questDetail.setUpdateTime(new Date()); + if (ObjectUtils.isNotNull(i.getTrayId())) { + questDetail.setTrayId(i.getTrayId()); + questDetail.setTrayCode(i.getTrayCode()); } + list.add(questDetail); + baseMapper.updatePositionCodeList(taskSearchDTO.getQuestNum(), list); + } else { + //修改 + List collect = childList.stream().filter(ii -> ObjectUtils.isNotNull(ii.getQuestNum()) && ii.getQuestNum() > 0).collect(Collectors.toList()); + baseMapper.updetaQuestDetailChildList(questNum + "_child", collect); } } + } - //是否修改库位 - QuestDetailEntity questDetail = new QuestDetailEntity(); - if(ObjectUtils.isNotNull(i.getGroundingAllocationId())){ - //查询当前待更新货位是否包含已更新货位数据 - QuestDetailEntity questDetail1 = new QuestDetailEntity(); - questDetail1.setGroundingAllocationId(i.getGroundingAllocationId()); - List questDetailEntities = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(), questDetail1); - if(!questDetailEntities.isEmpty()){ - boolean b = questDetailEntities.stream().anyMatch(q -> ObjectUtils.isNotNull(q.getTrayId())); - if(b){ - return Resp.scanFail("更新的货位,已有数据,无法上架更新!","更新的货位,已有数据,无法上架更新!"); - } + //是否修改库位 + QuestDetailEntity questDetail = new QuestDetailEntity(); + if (ObjectUtils.isNotNull(i.getGroundingAllocationId())) { + //查询当前待更新货位是否包含已更新货位数据 + QuestDetailEntity questDetail1 = new QuestDetailEntity(); + questDetail1.setGroundingAllocationId(i.getGroundingAllocationId()); + List questDetailEntities = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(), questDetail1); + if (!questDetailEntities.isEmpty()) { + boolean b = questDetailEntities.stream().anyMatch(q -> ObjectUtils.isNotNull(q.getTrayId())); + if (b) { + return Resp.scanFail("更新的货位,已有数据,无法上架更新!", "更新的货位,已有数据,无法上架更新!"); } - questDetail.setId(i.getId()); -// questDetail.setGroundingAllocationId(Long.valueOf(i.getAllocationId())); - questDetail.setGroundingAllocationId(i.getGroundingAllocationId()); - questDetail.setGroundingPositionCode(i.getGroundingPositionCode()); - detailEntityList.add(questDetail); } + questDetail.setId(i.getId()); +// questDetail.setGroundingAllocationId(Long.valueOf(i.getAllocationId())); + questDetail.setGroundingAllocationId(i.getGroundingAllocationId()); + questDetail.setGroundingPositionCode(i.getGroundingPositionCode()); + detailEntityList.add(questDetail); + } } - - - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",5); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 5); //修改货位 - if(!detailEntityList.isEmpty()){ - baseMapper.updatePositionCodeList(questNum,detailEntityList); + if (!detailEntityList.isEmpty()) { + baseMapper.updatePositionCodeList(questNum, detailEntityList); } - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",6); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 6); } return R.success("成功"); @@ -907,20 +917,21 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectTaskDataInfo(QuestDetailDTO questDetailDTO,IPage page) { + public IPage selectTaskDataInfo(QuestDetailDTO questDetailDTO, IPage page) { QuestDetailEntity questDetail = new QuestDetailEntity(); - BeanUtil.copyProperties(questDetailDTO,questDetail); + BeanUtil.copyProperties(questDetailDTO, questDetail); // List questDetailEntities = baseMapper.selectTaskInfo(questDetailDTO.getQuestNum(), questDetail); IPage questDetailEntityIPage = baseMapper.selectTaskInfoIPage(page, questDetailDTO.getQuestNum(), questDetail); IPage page1 = new Page<>(); List questDetailVOS = new ArrayList<>(); - questDetailEntityIPage.getRecords().stream().forEach( i ->{ + questDetailEntityIPage.getRecords().stream().forEach(i -> { QuestDetailVO questDetailVO = new QuestDetailVO(); - BeanUtil.copyProperties(i,questDetailVO); + BeanUtil.copyProperties(i, questDetailVO); //查询包件信息 /*if(ObjectUtils.isNotNull(i.getOrderPackageId()) ){ @@ -965,13 +976,13 @@ public class TaskQuestServiceImpl extends BaseServiceImpl> listR = userSearchClient.listByUser(String.valueOf(i.getUpdateUser())); - if(ObjectUtils.isNotNull(listR.getData())){ + if (ObjectUtils.isNotNull(listR.getData())) { List data = listR.getData(); - if(ObjectUtils.isNotNull(data)){ + if (ObjectUtils.isNotNull(data)) { User user = data.get(0); - if(user!=null){ + if (user != null) { questDetailVO.setInventoryPerson(user.getName()); } @@ -995,21 +1006,22 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailDTO) { - if(ObjectUtils.isNotNull(questDetailDTO)){ + if (ObjectUtils.isNotNull(questDetailDTO)) { - questDetailDTO.stream().collect(Collectors.groupingBy(QuestDetailDTO::getQuestNum)).forEach((k,v) ->{ + questDetailDTO.stream().collect(Collectors.groupingBy(QuestDetailDTO::getQuestNum)).forEach((k, v) -> { List list = new ArrayList<>(); - v.stream().forEach( i ->{ - if(ObjectUtils.isNotNull(i.getQuestId())){ + v.stream().forEach(i -> { + if (ObjectUtils.isNotNull(i.getQuestId())) { QuestDetailEntity questDetail = new QuestDetailEntity(); - BeanUtil.copyProperties(i,questDetail); - if(ObjectUtils.isNotNull(i.getPositionCode())){ + BeanUtil.copyProperties(i, questDetail); + if (ObjectUtils.isNotNull(i.getPositionCode())) { i.setGroundingPositionCode(i.getPositionCode()); i.setPositionCode(null); } @@ -1018,31 +1030,33 @@ public class TaskQuestServiceImpl extends BaseServiceImpl 0 ? true : false; } /** * 查询盘点对比数据 + * * @param questDetailDTO * @param page * @return @@ -1052,22 +1066,22 @@ public class TaskQuestServiceImpl extends BaseServiceImpl voList = new ArrayList<>(); //查询的有数据的信息 // questDetailDTO.setQuestTarget(1); - List list = baseMapper.selectContrastDataInfo(questDetailDTO.getQuestNum(),questDetailDTO); + List list = baseMapper.selectContrastDataInfo(questDetailDTO.getQuestNum(), questDetailDTO); //查询托盘名称 List trayEntityList = basicdataTrayClient.getTrayEntityList(); - list.stream().forEach(i ->{ + list.stream().forEach(i -> { String[] split = i.getQuestStatus().split(","); //盘点状态;0 待盘点 1. 已盘 2未盘点 3已排除 Integer yiPan = 0; for (String s : split) { - switch (s){ + switch (s) { case "1": yiPan += 1; i.setQuestStatusName("部分盘点"); break; } } - if(ObjectUtils.isNotNull(i.getUpdateUser())){ + if (ObjectUtils.isNotNull(i.getUpdateUser())) { StringBuffer buffer = new StringBuffer(); String[] split1 = i.getUpdateUser().split(","); for (String s : split1) { @@ -1080,36 +1094,36 @@ public class TaskQuestServiceImpl extends BaseServiceImpl collect = trayEntityList.stream().filter(w -> w.getId().equals(Long.valueOf(s))).collect(Collectors.toList()); //托盘 - if(ObjectUtils.isNull(collect) ){ + if (ObjectUtils.isNull(collect)) { i.setTrayName(collect.get(0).getPalletName()); - }else if(ObjectUtils.isNotNull(i.getTrayName()) && !i.getTrayName().contains(i.getTrayName())){ - i.setTrayName(i.getTrayCode()+","+collect.get(0).getPalletName()); + } else if (ObjectUtils.isNotNull(i.getTrayName()) && !i.getTrayName().contains(i.getTrayName())) { + i.setTrayName(i.getTrayCode() + "," + collect.get(0).getPalletName()); } } } - }); + }); //查询零担 QuestDetailEntity questContrastVO = new QuestDetailEntity(); questContrastVO.setQuestId(questDetailDTO.getQuestId()); questContrastVO.setQuestTarget(2); List list1 = baseMapper.selectQuestDetailList(questDetailDTO.getQuestNum(), questContrastVO); - if(ObjectUtils.isNotNull(list1)){ - list1.stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderId)).forEach((k,v) ->{ + if (ObjectUtils.isNotNull(list1)) { + list1.stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderId)).forEach((k, v) -> { //查询订单信息 DistributionStockArticleEntity entityByStockArticle = distributionStockArticleClient.findEntityByStockArticleId(k); - if(ObjectUtils.isNull(entityByStockArticle)){ + if (ObjectUtils.isNull(entityByStockArticle)) { log.info("没有订单数据!!"); return; } @@ -1125,8 +1139,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl{ - switch (i.getQuestStatus()){ + v.stream().forEach(i -> { + switch (i.getQuestStatus()) { case 1: yi.updateAndGet(v1 -> v1 + 1); q.setQuestStatusName("部分盘点"); @@ -1136,43 +1150,43 @@ public class TaskQuestServiceImpl extends BaseServiceImpl collect = trayEntityList.stream().filter(w -> w.getId().equals(Long.valueOf(s))).collect(Collectors.toList()); //托盘 - if(ObjectUtils.isNull(collect) ){ + if (ObjectUtils.isNull(collect)) { i.setTrayName(collect.get(0).getPalletName()); - }else if(ObjectUtils.isNotNull(i.getTrayName()) && !i.getTrayName().contains(i.getTrayName())){ - i.setTrayName(i.getTrayCode()+","+collect.get(0).getPalletName()); + } else if (ObjectUtils.isNotNull(i.getTrayName()) && !i.getTrayName().contains(i.getTrayName())) { + i.setTrayName(i.getTrayCode() + "," + collect.get(0).getPalletName()); } } } //更新的货位 - if(ObjectUtils.isNotNull(i.getGroundingPositionCode())){ - if(ObjectUtils.isNull(q.getGroundingPositionCode())){ + if (ObjectUtils.isNotNull(i.getGroundingPositionCode())) { + if (ObjectUtils.isNull(q.getGroundingPositionCode())) { q.setGroundingPositionCode(i.getGroundingPositionCode()); - }else if(ObjectUtils.isNotNull(q.getGroundingPositionCode()) && !q.getGroundingPositionCode().contains(i.getGroundingPositionCode())){ - q.setGroundingPositionCode(q.getGroundingPositionCode()+","+i.getGroundingPositionCode()); + } else if (ObjectUtils.isNotNull(q.getGroundingPositionCode()) && !q.getGroundingPositionCode().contains(i.getGroundingPositionCode())) { + q.setGroundingPositionCode(q.getGroundingPositionCode() + "," + i.getGroundingPositionCode()); } } @@ -1186,10 +1200,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list2 = baseMapper.selectQuestDetailList(questDetailDTO.getQuestNum(), questContrastVO); - if(ObjectUtils.isNotNull(list2)){ - list2.stream().collect(Collectors.groupingBy(QuestDetailEntity::getStockId)).forEach( (k,v) ->{ + if (ObjectUtils.isNotNull(list2)) { + list2.stream().collect(Collectors.groupingBy(QuestDetailEntity::getStockId)).forEach((k, v) -> { DistributionStockListEntity stockListBy = distributionStockListClient.getStockListById(k); - if(ObjectUtils.isNull(stockListBy)){ + if (ObjectUtils.isNull(stockListBy)) { return; } QuestContrastVO q = new QuestContrastVO(); @@ -1202,8 +1216,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl yi = new AtomicReference<>(0); - v.stream().forEach( i ->{ - switch (i.getQuestStatus()){ + v.stream().forEach(i -> { + switch (i.getQuestStatus()) { case 1: yi.updateAndGet(v1 -> v1 + 1); q.setQuestStatusName("部分盘点"); @@ -1213,38 +1227,38 @@ public class TaskQuestServiceImpl extends BaseServiceImpl collect = trayEntityList.stream().filter(w -> w.getId().equals(Long.valueOf(s))).collect(Collectors.toList()); //托盘 - if(ObjectUtils.isNull(collect) ){ + if (ObjectUtils.isNull(collect)) { i.setTrayName(collect.get(0).getPalletName()); - }else if(ObjectUtils.isNotNull(i.getTrayName()) && !i.getTrayName().contains(i.getTrayName())){ - i.setTrayName(i.getTrayCode()+","+collect.get(0).getPalletName()); + } else if (ObjectUtils.isNotNull(i.getTrayName()) && !i.getTrayName().contains(i.getTrayName())) { + i.setTrayName(i.getTrayCode() + "," + collect.get(0).getPalletName()); } } } @@ -1262,6 +1276,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailDTO) { BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); - if(ObjectUtils.isNull(myCurrentWarehouse)){ + if (ObjectUtils.isNull(myCurrentWarehouse)) { throw new ServiceException("请选择仓库!!"); } BladeUser user = AuthUtil.getUser(); - if(ObjectUtils.isNotNull(questDetailDTO)){ - questDetailDTO.stream().forEach( i ->{ - if(i.getStockNum() > 0 || i.getWornNum() > 0 || i.getLossNum() > 0 || i.getNoRepairNum() > 0 || i.getDeliveNum() > 0 || i.getNoReceivedNum()> 0){ + if (ObjectUtils.isNotNull(questDetailDTO)) { + questDetailDTO.stream().forEach(i -> { + if (i.getStockNum() > 0 || i.getWornNum() > 0 || i.getLossNum() > 0 || i.getNoRepairNum() > 0 || i.getDeliveNum() > 0 || i.getNoReceivedNum() > 0) { //添加 List childList = new ArrayList<>(); - childList.add(addQuestDetailChild(i.getStockNum(),"10",i.getId(),myCurrentWarehouse.getId(),i.getQuestNum())); - childList.add(addQuestDetailChild(i.getWornNum(),"20",i.getId(),myCurrentWarehouse.getId(),i.getQuestNum())); - childList.add(addQuestDetailChild(i.getLossNum(),"30",i.getId(),myCurrentWarehouse.getId(),i.getQuestNum())); - childList.add(addQuestDetailChild(i.getNoRepairNum(),"40",i.getId(),myCurrentWarehouse.getId(),i.getQuestNum())); - childList.add(addQuestDetailChild(i.getDeliveNum(),"50",i.getId(),myCurrentWarehouse.getId(),i.getQuestNum())); - childList.add(addQuestDetailChild(i.getNoReceivedNum(),"60",i.getId(),myCurrentWarehouse.getId(),i.getQuestNum())); - if(!childList.isEmpty()){ + childList.add(addQuestDetailChild(i.getStockNum(), "10", i.getId(), myCurrentWarehouse.getId(), i.getQuestNum())); + childList.add(addQuestDetailChild(i.getWornNum(), "20", i.getId(), myCurrentWarehouse.getId(), i.getQuestNum())); + childList.add(addQuestDetailChild(i.getLossNum(), "30", i.getId(), myCurrentWarehouse.getId(), i.getQuestNum())); + childList.add(addQuestDetailChild(i.getNoRepairNum(), "40", i.getId(), myCurrentWarehouse.getId(), i.getQuestNum())); + childList.add(addQuestDetailChild(i.getDeliveNum(), "50", i.getId(), myCurrentWarehouse.getId(), i.getQuestNum())); + childList.add(addQuestDetailChild(i.getNoReceivedNum(), "60", i.getId(), myCurrentWarehouse.getId(), i.getQuestNum())); + if (!childList.isEmpty()) { boolean b = childList.stream().anyMatch(ii -> ObjectUtils.isNull(ii.getId())); - if(b){ + if (b) { //添加 - baseMapper.insertQuestDetailChildList(i.getQuestNum()+"_child",childList); - }else{ + baseMapper.insertQuestDetailChildList(i.getQuestNum() + "_child", childList); + } else { //修改 - List collect = childList.stream().filter( ii -> ObjectUtils.isNotNull(ii.getQuestNum()) && ii.getQuestNum() > 0).collect(Collectors.toList()); - baseMapper.updetaQuestDetailChildList(i.getQuestNum()+"_child",collect); + List collect = childList.stream().filter(ii -> ObjectUtils.isNotNull(ii.getQuestNum()) && ii.getQuestNum() > 0).collect(Collectors.toList()); + baseMapper.updetaQuestDetailChildList(i.getQuestNum() + "_child", collect); } } } @@ -1325,17 +1342,17 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = new ArrayList<>(); - taskSearchDTO.getQuestDetailIds().stream().forEach(i ->{ + if (ObjectUtils.isNotNull(taskSearchDTO.getQuestDetailIds())) { + //修改盘点状态 + List questDetailEntities = new ArrayList<>(); + taskSearchDTO.getQuestDetailIds().stream().forEach(i -> { QuestDetailEntity questDetail = new QuestDetailEntity(); questDetail.setId(Long.valueOf(i)); questDetail.setQuestStatus(0); questDetailEntities.add(questDetail); baseMapper.deleteQuestChild(taskSearchDTO.getQuestNum() + "_child", i); - }); - baseMapper.updatePositionCodeList(taskSearchDTO.getQuestNum(),questDetailEntities); - return R.success("删除成功!!"); - }else{ - return R.fail("修改失败!!"); - } + }); + baseMapper.updatePositionCodeList(taskSearchDTO.getQuestNum(), questDetailEntities); + return R.success("删除成功!!"); + } else { + return R.fail("修改失败!!"); + } } /** * 查询盘点数据 + * * @param questDetailDTO * @return */ @@ -1375,19 +1394,19 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectQuestChildInfo(QuestDetailDTO questDetailDTO) { QuestDetailChildEntity questDetailChild = new QuestDetailChildEntity(); questDetailChild.setQuestDetailId(questDetailDTO.getId()); - return baseMapper.selectQuestDetailChildInfo(questDetailDTO.getQuestNum()+"_child",questDetailChild); + return baseMapper.selectQuestDetailChildInfo(questDetailDTO.getQuestNum() + "_child", questDetailChild); } @Override public List exportGetContrastInfo(QuestDetailDTO questDetailDTO) { List list = new ArrayList<>(); List contrastInfo = getContrastInfo(questDetailDTO, null); - if(ObjectUtils.isNull(contrastInfo)) { - return list; - } - contrastInfo.forEach( i -> { + if (ObjectUtils.isNull(contrastInfo)) { + return list; + } + contrastInfo.forEach(i -> { QuestContrastExcel questContrastExcel = new QuestContrastExcel(); - BeanUtil.copyProperties(i,questContrastExcel); + BeanUtil.copyProperties(i, questContrastExcel); list.add(questContrastExcel); }); return list; @@ -1396,18 +1415,17 @@ public class TaskQuestServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); List taskQuestEntities = baseMapper.selectList(queryWrapper); - taskQuestEntities.forEach( i ->{ + taskQuestEntities.forEach(i -> { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { long l = format.parse(i.getEndTime()).getTime() / 1000; long l1 = new Date().getTime() / 1000; - if(l < l1){ + if (l < l1) { //结束当前任务 TaskQuestEntity taskQuestEntity = new TaskQuestEntity(); taskQuestEntity.setId(i.getId()); @@ -1419,7 +1437,6 @@ public class TaskQuestServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("quest_num",questNum); + queryWrapper.eq("quest_num", questNum); TaskQuestEntity taskQuestEntity = baseMapper.selectOne(queryWrapper); - if(Objects.isNull(taskQuestEntity)){ - log.warn("##########syncTaskData: 未找到盘点任务信息 questNum={}",questNum); - throw new CustomerException(405,"未找到盘点任务信息"); + if (Objects.isNull(taskQuestEntity)) { + log.warn("##########syncTaskData: 未找到盘点任务信息 questNum={}", questNum); + throw new CustomerException(405, "未找到盘点任务信息"); } Long warehouseId = taskQuestEntity.getWarehouseId(); //开启异步线程处理盘点数据 - asyncDataService.syncTaskData(questNum,warehouseId); + asyncDataService.syncTaskData(questNum, warehouseId); taskQuestEntity.setSyncDataStatus(1); taskQuestEntity.setSyncUserId(AuthUtil.getUserId()); @@ -1448,27 +1465,27 @@ public class TaskQuestServiceImpl extends BaseServiceImpl findZeroListByAllocationId(String questNum, Long allocationId) { - return baseMapper.findZeroListByAllocationId(questNum,allocationId); + return baseMapper.findZeroListByAllocationId(questNum, allocationId); } @Override public List findPackageListByAllocationId(String questNum, Long allocationId) { - return baseMapper.findPackageListByAllocationId(questNum,allocationId); + return baseMapper.findPackageListByAllocationId(questNum, allocationId); } @Override public List findStockListByAllocationId(String questNum, Long allocationId) { - return baseMapper.findStockListByAllocationId(questNum,allocationId); + return baseMapper.findStockListByAllocationId(questNum, allocationId); } @Override public List findAllocationWithTray(String questNum, Long allocationId) { - return baseMapper.findAllocationWithTray(questNum,allocationId); + return baseMapper.findAllocationWithTray(questNum, allocationId); } @Override public List findAllocationDataByAllocationId(String questNum, Long allocationId) { - return baseMapper.findAllocationDataByAllocationId(questNum,allocationId); + return baseMapper.findAllocationDataByAllocationId(questNum, allocationId); } @Override @@ -1478,15 +1495,16 @@ public class TaskQuestServiceImpl extends BaseServiceImpl findListByTrayCode(String questNum, String trayCode) { - return baseMapper.findListByTrayCode(questNum,trayCode); + return baseMapper.findListByTrayCode(questNum, trayCode); } /** * 查询货位上的数据 + * * @param taskSearchDTO * @return */ - public R getAllocationInfo(TaskSearchDTO taskSearchDTO){ + public R getAllocationInfo(TaskSearchDTO taskSearchDTO) { // List lists = new ArrayList<>(); TaskDataVO taskDataVO = new TaskDataVO(); String questNum = taskSearchDTO.getQuestNum(); @@ -1497,8 +1515,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectTaskInfo(questNum,questDetail); - if(ObjectUtils.isNull(questDetailEntities)){ + List questDetailEntities = baseMapper.selectTaskInfo(questNum, questDetail); + if (ObjectUtils.isNull(questDetailEntities)) { return R.success("没有数据!!"); } List list = new ArrayList<>(); @@ -1507,14 +1525,14 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailChildEntities = baseMapper.selectQuestDetailChildInfo(questNum+"_child", questDetailChildEntity); - if(ObjectUtils.isNotNull(questDetailChildEntities)){ + List questDetailChildEntities = baseMapper.selectQuestDetailChildInfo(questNum + "_child", questDetailChildEntity); + if (ObjectUtils.isNotNull(questDetailChildEntities)) { //有处理的数 packagelistVO.setQuestChildVOList(questDetailChildEntities); } @@ -1552,11 +1570,11 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectallocationList(TaskSearchDTO taskSearchDTO) { try { - List list = baseMapper.selectallocationList(taskSearchDTO.getQuestNum(),taskSearchDTO); - if(list.isEmpty()){ + List list = baseMapper.selectallocationList(taskSearchDTO.getQuestNum(), taskSearchDTO); + if (list.isEmpty()) { //查询货物信息 WarehouseGoodsAllocationEntity byId = warehouseGoodsAllocationService.getById(taskSearchDTO.getAllocationId()); - if(ObjectUtils.isNotNull(byId)){ + if (ObjectUtils.isNotNull(byId)) { TaskallocationVO taskallocationVO = new TaskallocationVO(); taskallocationVO.setAllocationId(taskSearchDTO.getAllocationId()); taskallocationVO.setPositionCode(byId.getQrCode()); @@ -1565,8 +1583,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl>>>>>>>>>>>> 查询货 位异常报错",e); return new ArrayList<>(); } @@ -1589,16 +1607,16 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list = new ArrayList<>(); QuestDetailEntity questDetail = new QuestDetailEntity(); - questDetail.setQuestId( taskSearchDTO.getQuestId()); - if(ObjectUtils.isNotNull(taskSearchDTO.getCode())){ + questDetail.setQuestId(taskSearchDTO.getQuestId()); + if (ObjectUtils.isNotNull(taskSearchDTO.getCode())) { questDetail.setCode(taskSearchDTO.getCode()); - }else{ + } else { questDetail.setQuestType(3); } questDetail.setWarehouseId(taskSearchDTO.getWarehouseId()); IPage taskPageList = new Page<>(); - List questDetailEntityList = baseMapper.selectTaskInfo( taskSearchDTO.getQuestNum(),questDetail); - if (Func.isEmpty(questDetailEntityList)){ + List questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(), questDetail); + if (Func.isEmpty(questDetailEntityList)) { return null; } Map> questDetailMap = questDetailEntityList.stream().collect(Collectors.groupingBy(QuestDetailEntity::getQuestTarget)); @@ -1606,9 +1624,9 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = questDetailMap.get(1); List zeroQuestDetailEntities = questDetailMap.get(2); List inventoryQuestDetailEntities = questDetailMap.get(3); - if (Func.isNotEmpty(questDetailEntities)){ + if (Func.isNotEmpty(questDetailEntities)) { Map> orderMap = questDetailEntities.stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderCode)); - orderMap.forEach((k,v)->{ + orderMap.forEach((k, v) -> { // DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(k,taskSearchDTO.getWarehouseId()); List detailEntities = orderMap.get(k); TaskContractVO taskContractVO = new TaskContractVO(); @@ -1618,11 +1636,11 @@ public class TaskQuestServiceImpl extends BaseServiceImplFunc.equals(q.getQuestStatus(),1)).mapToInt(QuestDetailEntity::getStockNum).sum()); + taskContractVO.setUnTotal(detailEntities.stream().filter(q -> Func.equals(q.getQuestStatus(), 1)).mapToInt(QuestDetailEntity::getStockNum).sum()); list.add(taskContractVO); }); } - if (Func.isNotEmpty(zeroQuestDetailEntities)){ + if (Func.isNotEmpty(zeroQuestDetailEntities)) { for (QuestDetailEntity questDetailEntity : zeroQuestDetailEntities) { DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(questDetailEntity.getOrderId()); TaskContractVO taskContractVO = new TaskContractVO(); @@ -1636,17 +1654,17 @@ public class TaskQuestServiceImpl extends BaseServiceImpl page, TaskSearchDTO taskSearchDTO) { - if(ObjectUtils.isNull(taskSearchDTO.getTrayCode())){ - return R.success("成功"); + if (ObjectUtils.isNull(taskSearchDTO.getTrayCode())) { + return R.success("成功"); } //todo 验证盘点信息 //先判定盘点任务是否已结束 //当前登录人选择的仓库 BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); - if(ObjectUtils.isNull(myCurrentWarehouse)){ - return Resp.scanFail("请选择仓库!","请选择仓库!"); + if (ObjectUtils.isNull(myCurrentWarehouse)) { + return Resp.scanFail("请选择仓库!", "请选择仓库!"); } - verifyTask(taskSearchDTO.getQuestId(),myCurrentWarehouse.getId()); + verifyTask(taskSearchDTO.getQuestId(), myCurrentWarehouse.getId()); - List collect =this.getmyWarehouseList(); + List collect = this.getmyWarehouseList(); baseMapper.setSqlMode(); - if(ObjectUtils.isNotNull(taskSearchDTO.getTrayCode())){ + if (ObjectUtils.isNotNull(taskSearchDTO.getTrayCode())) { //查询托盘编码 BasicdataTrayEntity trayByTrayCode = basicdataTrayClient.getTrayByTrayCode(taskSearchDTO.getTrayCode()); Optional trayByTrayCode1 = Optional.ofNullable(trayByTrayCode); - if(!trayByTrayCode1.isPresent()){ - return Resp.scanFail("托盘码不存在!","托盘码不存在!"); + if (!trayByTrayCode1.isPresent()) { + return Resp.scanFail("托盘码不存在!", "托盘码不存在!"); } //查询传入的托盘数据 - List list = getQuestDetailList( taskSearchDTO,myCurrentWarehouse.getId(),trayByTrayCode.getId()); + List list = getQuestDetailList(taskSearchDTO, myCurrentWarehouse.getId(), trayByTrayCode.getId()); // List list = getTaskTrayInfo(page,taskSearchDTO,collect);// 查询有没有当次盘点任务的托盘数据 - if (ObjectUtils.isNotNull(list) &&!list.isEmpty()){ //有盘点数据 + if (ObjectUtils.isNotNull(list) && !list.isEmpty()) { //有盘点数据 return R.data(getTaskTrayInfo(list)); - }else{ + } else { //添加扫描的托盘信息 //添加托盘上面的数据 int taskInventory = getTaskInventory(taskSearchDTO, collect.get(0), trayByTrayCode); - switch (taskInventory){ + switch (taskInventory) { case 0: log.debug("全仓盘点"); //返回托盘信息 - return getTrayInfo(trayByTrayCode.getId(),myCurrentWarehouse.getId(),trayByTrayCode.getPalletCode()); + return getTrayInfo(trayByTrayCode.getId(), myCurrentWarehouse.getId(), trayByTrayCode.getPalletCode()); case 1: - List questDetailList = getQuestDetailList( taskSearchDTO,myCurrentWarehouse.getId(),trayByTrayCode.getId()); + List questDetailList = getQuestDetailList(taskSearchDTO, myCurrentWarehouse.getId(), trayByTrayCode.getId()); return R.data(getTaskTrayInfo(questDetailList)); case 2: //返回托盘信息 - return getTrayInfo(trayByTrayCode.getId(),myCurrentWarehouse.getId(),trayByTrayCode.getPalletCode()); + return getTrayInfo(trayByTrayCode.getId(), myCurrentWarehouse.getId(), trayByTrayCode.getPalletCode()); case 3: - return Resp.scanFail("无包件信息!","无包件信息!"); + return Resp.scanFail("无包件信息!", "无包件信息!"); default: - return Resp.scanFail("注意,注意:未知查询!","注意,注意:未知查询!"); + return Resp.scanFail("注意,注意:未知查询!", "注意,注意:未知查询!"); } } - }else{ + } else { //查询有没有托盘的数据 - List list1 = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),null); - if(ObjectUtils.isNotNull(list1) && !list1.isEmpty()){ + List list1 = getQuestDetailList(taskSearchDTO, myCurrentWarehouse.getId(), null); + if (ObjectUtils.isNotNull(list1) && !list1.isEmpty()) { // int sum = list1.stream().mapToInt(QuestDetailEntity::getStockNum).sum(); //总数 return R.data(getTaskTrayInfo(list1)); } - return R.success("成功"); + return R.success("成功"); } } //查询托盘信息 - public R getTrayInfo(Long trayId,Long warehouseId, String taryCode){ + public R getTrayInfo(Long trayId, Long warehouseId, String taryCode) { //返回托盘信息 List trayVO = new ArrayList<>(); WarehouseTrayTypeEntity one = trayTypeService.getOne(Wrappers.query().lambda() @@ -1740,20 +1758,20 @@ public class TaskQuestServiceImpl extends BaseServiceImpl getTaskTrayInfo(List list1){ + private List getTaskTrayInfo(List list1) { // return baseMapper.selecttrayList(page,taskSearchDTO,collect);// 查询有没有当次盘点任务的托盘数据 List list = new ArrayList<>(); @@ -1781,13 +1799,13 @@ public class TaskQuestServiceImpl extends BaseServiceImpl trayEntityList = basicdataTrayClient.getTrayEntityList(k); - if(ObjectUtils.isNotNull(trayEntityList)){ + if (ObjectUtils.isNotNull(trayEntityList)) { taskTrayVO.setTrayName(trayEntityList.get(0).getPalletName()); } AtomicReference num = new AtomicReference<>(0); //总数 AtomicReference unTotal = new AtomicReference<>(0); //盘点数 List list2 = new ArrayList<>(); - v.forEach( p ->{ + v.forEach(p -> { taskTrayVO.setTrayCode(p.getTrayCode()); num.set(num.get() + p.getStockNum()); if (p.getQuestStatus().equals(1)) { @@ -1805,7 +1823,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list1,String type,Long warehouseId){ + private TaskDataVO getTaskTrayInfoOwn(TaskSearchDTO taskSearchDTO, List list1, String type, Long warehouseId) { TaskDataVO taskDataVO = new TaskDataVO(); List taskPackagelistVOS = new ArrayList<>(); list1.stream().collect(Collectors.groupingBy(QuestDetailEntity::getTrayId)) - .forEach((k,v) ->{ + .forEach((k, v) -> { taskDataVO.setDataId(Long.valueOf(k)); //托盘ID AtomicReference num = new AtomicReference<>(0); //总数 AtomicReference unTotal = new AtomicReference<>(0); //盘点数 @@ -1836,15 +1854,15 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailChildEntities = baseMapper.selectQuestDetailChildInfo(taskSearchDTO.getQuestNum()+"_child", questDetailChildEntity); - if(ObjectUtils.isNotNull(questDetailChildEntities)){ + List questDetailChildEntities = baseMapper.selectQuestDetailChildInfo(taskSearchDTO.getQuestNum() + "_child", questDetailChildEntity); + if (ObjectUtils.isNotNull(questDetailChildEntities)) { //有处理的数 packagelistVO.setQuestChildVOList(questDetailChildEntities); } @@ -1890,21 +1908,21 @@ public class TaskQuestServiceImpl extends BaseServiceImpl getQuestDetailInfo(String questNum, QuestDetailChildEntity questDetailChildEntity){ + public List getQuestDetailInfo(String questNum, QuestDetailChildEntity questDetailChildEntity) { - return baseMapper.selectQuestDetailChildInfo(questNum,questDetailChildEntity); + return baseMapper.selectQuestDetailChildInfo(questNum, questDetailChildEntity); } - /** * 查询托盘里面的信息 * @@ -1913,15 +1931,15 @@ public class TaskQuestServiceImpl extends BaseServiceImpl getQuestDetailList(TaskSearchDTO taskSearchDTO,Long warehouseId,Long trayId){ + private List getQuestDetailList(TaskSearchDTO taskSearchDTO, Long warehouseId, Long trayId) { QuestDetailEntity questDetail = new QuestDetailEntity(); questDetail.setWarehouseId(warehouseId); questDetail.setQuestId(taskSearchDTO.getQuestId()); - if(ObjectUtils.isNotNull(trayId)){ + if (ObjectUtils.isNotNull(trayId)) { questDetail.setTrayId(String.valueOf(trayId)); } - return baseMapper.selectTaskTrayInfo( taskSearchDTO.getQuestNum(),questDetail); + return baseMapper.selectTaskTrayInfo(taskSearchDTO.getQuestNum(), questDetail); } /** @@ -1931,31 +1949,31 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailList = getQuestDetailList( taskSearchDTO, myCurrentWarehouse.getId(), trayByTrayCode.getId()); + List questDetailList = getQuestDetailList(taskSearchDTO, myCurrentWarehouse.getId(), trayByTrayCode.getId()); - return R.data(getTaskTrayInfoOwn(taskSearchDTO,questDetailList, String.valueOf(taskSearchDTO.getTypeState()), myCurrentWarehouse.getId())); + return R.data(getTaskTrayInfoOwn(taskSearchDTO, questDetailList, String.valueOf(taskSearchDTO.getTypeState()), myCurrentWarehouse.getId())); } /** * 根据托盘ID查询托盘货位并添加 * - * @param taskSearchDTO 盘点ID + * @param taskSearchDTO 盘点ID * @param warehouseId 仓库ID * @param trayByTrayCode 托盘 * @return */ @Transactional(rollbackFor = Exception.class) - public int getTaskInventory(TaskSearchDTO taskSearchDTO,Long warehouseId,BasicdataTrayEntity trayByTrayCode){ - //查询是否在当前任务内 + public int getTaskInventory(TaskSearchDTO taskSearchDTO, Long warehouseId, BasicdataTrayEntity trayByTrayCode) { + //查询是否在当前任务内 List list = taskQuestChildService.list(Wrappers.query().lambda() .eq(TaskQuestChildEntity::getQuestId, taskSearchDTO.getQuestId()) ); @@ -1970,117 +1988,115 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailList = new ArrayList<>(); for (int ii = 0; ii < warehouseTrayGoodsEntities.size(); ii++) { WarehouseTrayGoodsEntity i = warehouseTrayGoodsEntities.get(ii); - QuestDetailEntity questDetail = new QuestDetailEntity(); - questDetail.setQuestId(taskSearchDTO.getQuestId()); - switch (i.getAssociationType()){ - case "1": //1.订单号 - if(b){ - //部分盘点 - //查询订单信息 - DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(i.getAssociationId()); - if(!list.stream().anyMatch(d -> d.getRefName().equals(distributionStockArticleEntity.getMallName()))){ - continue; - }else{ - questDetail.setWaybillNumber(distributionStockArticleEntity.getWaybillNumber()); - } - } - questDetail.setOrderId(i.getAssociationId()); - questDetail.setOrderCode(i.getAssociationValue()); - questDetail.setQuestTarget(2);//零担 - questDetail.setCategoryName(i.getGoodsName()); - WarehouseUpdownGoodsEntity updownGoodsEntity = getUpdownGoodsPack(i.getAssociationId(),"1",i.getAssociationValue(),warehouseId); - if(Optional.ofNullable(updownGoodsEntity).isPresent()){ - questDetail.setPositionCode(updownGoodsEntity.getPositionCode());//完整货位 - questDetail.setAllocationId(String.valueOf(updownGoodsEntity.getAllocationId())); - } - break; - case "2": //2运单号 - break; - case "3": //3包件码 - //查询订单ID + QuestDetailEntity questDetail = new QuestDetailEntity(); + questDetail.setQuestId(taskSearchDTO.getQuestId()); + switch (i.getAssociationType()) { + case "1": //1.订单号 + if (b) { + //部分盘点 //查询订单信息 - questDetail.setQuestTarget(1);// - questDetail.setOrderPackageCode(i.getAssociationValue());//包条码 - questDetail.setOrderPackageId(i.getAssociationId());//包件ID - DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); - parcelList.setId(i.getAssociationId()); - parcelList.setOrderPackageCode(i.getAssociationValue()); - List parcelList1 = distributionParcelListClient.getParcelList(parcelList); - if(!parcelList1.isEmpty()){ - questDetail.setOrderId(parcelList1.get(0).getStockArticleId()); - }else{ - continue; - } - DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(parcelList1.get(0).getStockArticleId()); - if(!list.stream().anyMatch(d -> d.getRefName().equals(distributionStockArticleEntity.getMallName()))){ + DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(i.getAssociationId()); + if (!list.stream().anyMatch(d -> d.getRefName().equals(distributionStockArticleEntity.getMallName()))) { continue; + } else { + questDetail.setWaybillNumber(distributionStockArticleEntity.getWaybillNumber()); } - questDetail.setOrderCode(distributionStockArticleEntity.getOrderCode());// - WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = getUpdownGoodsPack(i.getAssociationId(),"3",i.getAssociationValue(),warehouseId); - - if(Optional.ofNullable(warehouseUpdownGoodsEntity).isPresent()){ - questDetail.setPositionCode(warehouseUpdownGoodsEntity.getPositionCode());//完整货位 - questDetail.setAllocationId(String.valueOf(warehouseUpdownGoodsEntity.getAllocationId())); - } + } + questDetail.setOrderId(i.getAssociationId()); + questDetail.setOrderCode(i.getAssociationValue()); + questDetail.setQuestTarget(2);//零担 + questDetail.setCategoryName(i.getGoodsName()); + WarehouseUpdownGoodsEntity updownGoodsEntity = getUpdownGoodsPack(i.getAssociationId(), "1", i.getAssociationValue(), warehouseId); + if (Optional.ofNullable(updownGoodsEntity).isPresent()) { + questDetail.setPositionCode(updownGoodsEntity.getPositionCode());//完整货位 + questDetail.setAllocationId(String.valueOf(updownGoodsEntity.getAllocationId())); + } + break; + case "2": //2运单号 + break; + case "3": //3包件码 + //查询订单ID + //查询订单信息 + questDetail.setQuestTarget(1);// + questDetail.setOrderPackageCode(i.getAssociationValue());//包条码 + questDetail.setOrderPackageId(i.getAssociationId());//包件ID + DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); + parcelList.setId(i.getAssociationId()); + parcelList.setOrderPackageCode(i.getAssociationValue()); + List parcelList1 = distributionParcelListClient.getParcelList(parcelList); + if (!parcelList1.isEmpty()) { + questDetail.setOrderId(parcelList1.get(0).getStockArticleId()); + } else { + continue; + } + DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(parcelList1.get(0).getStockArticleId()); + if (!list.stream().anyMatch(d -> d.getRefName().equals(distributionStockArticleEntity.getMallName()))) { + continue; + } + questDetail.setOrderCode(distributionStockArticleEntity.getOrderCode());// + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = getUpdownGoodsPack(i.getAssociationId(), "3", i.getAssociationValue(), warehouseId); - break; - case "4": //4库存品 + if (Optional.ofNullable(warehouseUpdownGoodsEntity).isPresent()) { + questDetail.setPositionCode(warehouseUpdownGoodsEntity.getPositionCode());//完整货位 + questDetail.setAllocationId(String.valueOf(warehouseUpdownGoodsEntity.getAllocationId())); + } - questDetail.setQuestTarget(3);// - DistributionStockListEntity stockListEntity = new DistributionStockListEntity(); - stockListEntity.setIncomingBatch(i.getIncomingBatch()); - stockListEntity.setWarehouseId(warehouseId); - stockListEntity.setMarketId(i.getMarketId()); - stockListEntity.setMaterialId(i.getAssociationId()); - //查询订单信息 - DistributionStockListEntity stockListInfo = getStockListInfo(stockListEntity); - if(!list.stream().anyMatch(d -> d.getRefName().equals(stockListInfo.getMarketName()))){ - continue; - } - stockListEntity.setOrderCode(stockListInfo.getOrderCode()); - DistributionStockListVO queryData = distributionStockListClient.getQueryData(stockListEntity); - WarehouseUpdownGoodsEntity warehouseUpdownGoods = getUpdownGoodsStockList(i.getMarketId(),"4",i.getIncomingBatch(),warehouseId, i.getAssociationId(), i.getAssociationValue()); - if(Optional.ofNullable(warehouseUpdownGoods).isPresent()){ - questDetail.setPositionCode(warehouseUpdownGoods.getPositionCode());//完整货位 - questDetail.setAllocationId(String.valueOf(warehouseUpdownGoods.getAllocationId())); - } - Optional queryData1 = Optional.ofNullable(queryData); - if(queryData1.isPresent()){ - questDetail.setStockId(queryData.getId()); - questDetail.setMaterialCode(queryData.getCargoNumber()); - questDetail.setCategoryName(queryData.getDescriptionGoods()); - } - break; - } - questDetail.setQuestType(4);//托盘 - questDetail.setQuestStatus(0); //包件盘点状态 - questDetail.setStockNum(i.getNum()); //数量 - questDetail.setWarehouseId(warehouseId);//仓库id - questDetail.setTrayCode(trayByTrayCode.getPalletCode()); - questDetail.setTrayId(String.valueOf(trayByTrayCode.getId())); - questDetail.setAllocationId(String.valueOf(trayByTrayCode.getId())); - questDetail.setIsNew(0);//是否新增 - questDetailList.add(questDetail); + break; + case "4": //4库存品 + + questDetail.setQuestTarget(3);// + DistributionStockListEntity stockListEntity = new DistributionStockListEntity(); + stockListEntity.setIncomingBatch(i.getIncomingBatch()); + stockListEntity.setWarehouseId(warehouseId); + stockListEntity.setMarketId(i.getMarketId()); + stockListEntity.setMaterialId(i.getAssociationId()); + //查询订单信息 + DistributionStockListEntity stockListInfo = getStockListInfo(stockListEntity); + if (!list.stream().anyMatch(d -> d.getRefName().equals(stockListInfo.getMarketName()))) { + continue; + } + stockListEntity.setOrderCode(stockListInfo.getOrderCode()); + DistributionStockListVO queryData = distributionStockListClient.getQueryData(stockListEntity); + WarehouseUpdownGoodsEntity warehouseUpdownGoods = getUpdownGoodsStockList(i.getMarketId(), "4", i.getIncomingBatch(), warehouseId, i.getAssociationId(), i.getAssociationValue()); + if (Optional.ofNullable(warehouseUpdownGoods).isPresent()) { + questDetail.setPositionCode(warehouseUpdownGoods.getPositionCode());//完整货位 + questDetail.setAllocationId(String.valueOf(warehouseUpdownGoods.getAllocationId())); + } + Optional queryData1 = Optional.ofNullable(queryData); + if (queryData1.isPresent()) { + questDetail.setStockId(queryData.getId()); + questDetail.setMaterialCode(queryData.getCargoNumber()); + questDetail.setCategoryName(queryData.getDescriptionGoods()); + } + break; + } + questDetail.setQuestType(4);//托盘 + questDetail.setQuestStatus(0); //包件盘点状态 + questDetail.setStockNum(i.getNum()); //数量 + questDetail.setWarehouseId(warehouseId);//仓库id + questDetail.setTrayCode(trayByTrayCode.getPalletCode()); + questDetail.setTrayId(String.valueOf(trayByTrayCode.getId())); + questDetail.setAllocationId(String.valueOf(trayByTrayCode.getId())); + questDetail.setIsNew(0);//是否新增 + questDetailList.add(questDetail); } //添加 - if(!questDetailList.isEmpty()){ + if (!questDetailList.isEmpty()) { // questDetailService.saveBatch(questDetailList); - baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(),questDetailList); + baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(), questDetailList); return 1; } else { log.debug("托盘盘点:没有物料信息"); return 3; } - }else{ + } else { log.debug("托盘盘点:托盘没有货物信息"); return 2; } - }else{ + } else { log.debug("托盘盘点:没有当前盘点任务!"); - - return 0; } @@ -2150,7 +2166,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questChildEntitys = taskQuestChildService.list(queryWrapper); List marketNames = null; - if(ObjectUtils.isNotNull(questChildEntitys) && !questChildEntitys.isEmpty()){ + if (ObjectUtils.isNotNull(questChildEntitys) && !questChildEntitys.isEmpty()) { for (TaskQuestChildEntity childEntity : questChildEntitys) { if (Objects.isNull(marketNames)) { marketNames = new ArrayList<>(); @@ -2176,7 +2192,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectTaskInfo(byId.getQuestNum(),questDetail); + List questDetailEntities = baseMapper.selectTaskInfo(byId.getQuestNum(), questDetail); // List questDetailEntities = questDetailService.list(questDetailEntityQueryWrapper); if (!questDetailEntities.isEmpty()) { return questDetailEntities; @@ -2212,7 +2228,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questChildEntitys = taskQuestChildService.list(queryWrapper); List marketNames = null; - if(ObjectUtils.isNotNull(questChildEntitys) && !questChildEntitys.isEmpty()){ + if (ObjectUtils.isNotNull(questChildEntitys) && !questChildEntitys.isEmpty()) { for (TaskQuestChildEntity childEntity : questChildEntitys) { if (Objects.isNull(marketNames)) { marketNames = new ArrayList<>(); @@ -2244,12 +2260,12 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectTaskInfo( byId.getQuestNum(),questDetail); + List questDetailEntities = baseMapper.selectTaskInfo(byId.getQuestNum(), questDetail); // List questDetailEntities = questDetailService.list(questDetailEntityQueryWrapper); if (!questDetailEntities.isEmpty()) { return questDetailEntities; } - return null; + return null; //如果还没有存入 //查询货位上的所有包条 //然后存入detail表 @@ -2279,7 +2295,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questChildEntitys = taskQuestChildService.list(queryWrapper); List marketNames = null; - if(ObjectUtils.isNotNull(questChildEntitys) && !questChildEntitys.isEmpty()){ + if (ObjectUtils.isNotNull(questChildEntitys) && !questChildEntitys.isEmpty()) { for (TaskQuestChildEntity childEntity : questChildEntitys) { if (Objects.isNull(marketNames)) { marketNames = new ArrayList<>(); @@ -2312,11 +2328,11 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectTaskInfo(byId.getQuestNum(),questDetail); + List questDetailEntities = baseMapper.selectTaskInfo(byId.getQuestNum(), questDetail); if (!questDetailEntities.isEmpty()) { return questDetailEntities; } - return null; + return null; //如果还没有存入 //查询货位上的所有包条 //然后存入detail表 @@ -2345,10 +2361,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl childList = new ArrayList<>(); - childList.add(addQuestDetailChild(stockNum,"10",questDetaiId,warehouseId,taskQuestEntity.getQuestNum())); - childList.add(addQuestDetailChild(wornNum,"20",questDetaiId,warehouseId,taskQuestEntity.getQuestNum())); - childList.add(addQuestDetailChild(lossNum,"30",questDetaiId,warehouseId,taskQuestEntity.getQuestNum())); - childList.add(addQuestDetailChild(noRepairNum,"40",questDetaiId,warehouseId,taskQuestEntity.getQuestNum())); - childList.add(addQuestDetailChild(deliveNum,"50",questDetaiId,warehouseId,taskQuestEntity.getQuestNum())); - childList.add(addQuestDetailChild(noReceivedNum,"60",questDetaiId,warehouseId,taskQuestEntity.getQuestNum())); - if(!childList.isEmpty()){ + childList.add(addQuestDetailChild(stockNum, "10", questDetaiId, warehouseId, taskQuestEntity.getQuestNum())); + childList.add(addQuestDetailChild(wornNum, "20", questDetaiId, warehouseId, taskQuestEntity.getQuestNum())); + childList.add(addQuestDetailChild(lossNum, "30", questDetaiId, warehouseId, taskQuestEntity.getQuestNum())); + childList.add(addQuestDetailChild(noRepairNum, "40", questDetaiId, warehouseId, taskQuestEntity.getQuestNum())); + childList.add(addQuestDetailChild(deliveNum, "50", questDetaiId, warehouseId, taskQuestEntity.getQuestNum())); + childList.add(addQuestDetailChild(noReceivedNum, "60", questDetaiId, warehouseId, taskQuestEntity.getQuestNum())); + if (!childList.isEmpty()) { boolean b = childList.stream().anyMatch(i -> ObjectUtils.isNull(i.getId())); - if(b){ + if (b) { //添加 - baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum()+"_child",childList); - }else{ + baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum() + "_child", childList); + } else { //修改 List collect = childList.stream().filter(i -> ObjectUtils.isNotNull(i.getQuestNum()) && i.getQuestNum() > 0).collect(Collectors.toList()); - baseMapper.updetaQuestDetailChildList(taskQuestEntity.getQuestNum()+"_child",collect); + baseMapper.updetaQuestDetailChildList(taskQuestEntity.getQuestNum() + "_child", collect); } } // questDetailChildService.saveOrUpdateBatch(childList); @@ -2382,12 +2398,13 @@ public class TaskQuestServiceImpl extends BaseServiceImpl trayTypeEntityQueryWrapper = new QueryWrapper<>(); - trayTypeEntityQueryWrapper.eq("tray_code",trayCode) - .eq("is_deleted",0); + trayTypeEntityQueryWrapper.eq("tray_code", trayCode) + .eq("is_deleted", 0); WarehouseTrayTypeEntity trayTypeEntity = trayTypeService.getOne(trayTypeEntityQueryWrapper); if (Objects.isNull(trayTypeEntity)) { @@ -2548,8 +2565,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl trayTypeEntityQueryWrapper = new QueryWrapper<>(); - trayTypeEntityQueryWrapper.eq("tray_code",trayCode) - .eq("is_deleted",0); + trayTypeEntityQueryWrapper.eq("tray_code", trayCode) + .eq("is_deleted", 0); WarehouseTrayTypeEntity trayTypeEntity = trayTypeService.getOne(trayTypeEntityQueryWrapper); if (Objects.isNull(trayTypeEntity)) { @@ -2608,7 +2625,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list = new ArrayList<>(); list.add(questDetailEntity); - baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(),list); + baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(), list); Long questDetailId = questDetailEntity.getId(); Integer stockNum = questDetailEntity.getStockNum(); Integer lossNum = 0; @@ -2617,14 +2634,14 @@ public class TaskQuestServiceImpl extends BaseServiceImpl childList = new ArrayList<>(); - childList.add(addQuestDetailChild(stockNum,"10",questDetailId,warehouseId,taskSearchDTO.getQuestNum())); - childList.add(addQuestDetailChild(wornNum,"20",questDetailId,warehouseId,taskSearchDTO.getQuestNum())); - childList.add(addQuestDetailChild(lossNum,"30",questDetailId,warehouseId,taskSearchDTO.getQuestNum())); - childList.add(addQuestDetailChild(noRepairNum,"40",questDetailId,warehouseId,taskSearchDTO.getQuestNum())); - childList.add(addQuestDetailChild(deliveNum,"50",questDetailId,warehouseId,taskSearchDTO.getQuestNum())); - childList.add(addQuestDetailChild(noReceivedNum,"60",questDetailId,warehouseId,taskSearchDTO.getQuestNum())); + childList.add(addQuestDetailChild(stockNum, "10", questDetailId, warehouseId, taskSearchDTO.getQuestNum())); + childList.add(addQuestDetailChild(wornNum, "20", questDetailId, warehouseId, taskSearchDTO.getQuestNum())); + childList.add(addQuestDetailChild(lossNum, "30", questDetailId, warehouseId, taskSearchDTO.getQuestNum())); + childList.add(addQuestDetailChild(noRepairNum, "40", questDetailId, warehouseId, taskSearchDTO.getQuestNum())); + childList.add(addQuestDetailChild(deliveNum, "50", questDetailId, warehouseId, taskSearchDTO.getQuestNum())); + childList.add(addQuestDetailChild(noReceivedNum, "60", questDetailId, warehouseId, taskSearchDTO.getQuestNum())); //新增 - baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum(),childList); + baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum(), childList); // questDetailChildService.saveOrUpdateBatch(childList); } @@ -2635,11 +2652,12 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectTaskInfo(questNum,detailEntity); - if(ObjectUtils.isNotNull(questDetailEntities)){ + List questDetailEntities = baseMapper.selectTaskInfo(questNum, detailEntity); + if (ObjectUtils.isNotNull(questDetailEntities)) { TaskDataVO contractVO = new TaskDataVO(); // AtomicInteger total = new AtomicInteger(); //总数 // AtomicInteger operationNum = new AtomicInteger(); //盘点数 ArrayList taskPackagelistVOS = new ArrayList<>(); for (QuestDetailEntity questDetailEntity : questDetailEntities) { TaskPackagelistVO packagelistVO = new TaskPackagelistVO(); - BeanUtil.copyProperties(questDetailEntity,packagelistVO); + BeanUtil.copyProperties(questDetailEntity, packagelistVO); packagelistVO.setQuestDetailId(questDetailEntity.getId()); - if(ObjectUtils.isNotNull(questDetailEntity.getGroundingAllocationId())){ + if (ObjectUtils.isNotNull(questDetailEntity.getGroundingAllocationId())) { packagelistVO.setAllocation(questDetailEntity.getGroundingPositionCode()); } - if(taskSearchDTO.getTypeState().equals(1)){ + if (taskSearchDTO.getTypeState().equals(1)) { //有 - if(questDetailEntity.getQuestTarget().equals(2) || ObjectUtils.isNull( questDetailEntity.getOrderPackageCode())){ + if (questDetailEntity.getQuestTarget().equals(2) || ObjectUtils.isNull(questDetailEntity.getOrderPackageCode())) { continue; } //查询包件信息 @@ -2674,17 +2692,17 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailChildEntities = baseMapper.selectQuestDetailChildInfo(questNum+"_child", questDetailChildEntity); - if(ObjectUtils.isNotNull(questDetailChildEntities)){ + List questDetailChildEntities = baseMapper.selectQuestDetailChildInfo(questNum + "_child", questDetailChildEntity); + if (ObjectUtils.isNotNull(questDetailChildEntities)) { //有处理的数 packagelistVO.setQuestChildVOList(questDetailChildEntities); } @@ -2695,44 +2713,44 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectStrip(IPage page,Long id) { + public IPage selectStrip(IPage page, Long id) { TaskQuestEntity taskQuestEntity = baseMapper.selectById(id); - List questDetailVOList = baseMapper.selectStripListByQuestId(page,id,taskQuestEntity.getQuestNum()); - if (!questDetailVOList.isEmpty()){ - for (QuestDetailVO questDetailVO : questDetailVOList) { - //查询子表 + List questDetailVOList = baseMapper.selectStripListByQuestId(page, id, taskQuestEntity.getQuestNum()); + if (!questDetailVOList.isEmpty()) { + for (QuestDetailVO questDetailVO : questDetailVOList) { + //查询子表 // TaskQuestEntity taskQuestEntity = baseMapper.selectById(); - QuestDetailChildEntity questDetailChildEntity = new QuestDetailChildEntity(); - questDetailChildEntity.setQuestDetailId(questDetailVO.getId()); - List list =baseMapper.selectQuestDetailChildInfo(taskQuestEntity.getQuestNum(),questDetailChildEntity); + QuestDetailChildEntity questDetailChildEntity = new QuestDetailChildEntity(); + questDetailChildEntity.setQuestDetailId(questDetailVO.getId()); + List list = baseMapper.selectQuestDetailChildInfo(taskQuestEntity.getQuestNum(), questDetailChildEntity); // List list = questDetailChildService.list(new QueryWrapper().lambda() // .eq(QuestDetailChildEntity::getIsDeleted,0) // .eq(QuestDetailChildEntity::getQuestDetailId,questDetailVO.getId()) // ); - questDetailVO.setList(list); - } + questDetailVO.setList(list); + } } return page.setRecords(questDetailVOList); } @Override - public IPage selectInventory(IPage page,Long id) { + public IPage selectInventory(IPage page, Long id) { TaskQuestEntity taskQuestEntity = baseMapper.selectById(id); - List questDetailVOList = baseMapper.selectInventoryListByQuestId(page,id,taskQuestEntity.getQuestNum() ); - if (!questDetailVOList.isEmpty()){ + List questDetailVOList = baseMapper.selectInventoryListByQuestId(page, id, taskQuestEntity.getQuestNum()); + if (!questDetailVOList.isEmpty()) { for (QuestDetailVO questDetailVO : questDetailVOList) { //查询子表 QuestDetailChildEntity questDetailChildEntity = new QuestDetailChildEntity(); questDetailChildEntity.setQuestDetailId(questDetailVO.getId()); - List list =baseMapper.selectQuestDetailChildInfo(taskQuestEntity.getQuestNum(),questDetailChildEntity); + List list = baseMapper.selectQuestDetailChildInfo(taskQuestEntity.getQuestNum(), questDetailChildEntity); // questDetailChildService.list(new QueryWrapper().lambda() // .eq(QuestDetailChildEntity::getIsDeleted,0) // .eq(QuestDetailChildEntity::getQuestDetailId,questDetailVO.getId()) @@ -2744,15 +2762,15 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectZero(IPage page,Long id) { + public IPage selectZero(IPage page, Long id) { TaskQuestEntity taskQuestEntity = baseMapper.selectById(id); - List questDetailVOList = baseMapper.selectZeroListByQuestId(page,id,taskQuestEntity.getQuestNum() ); - if (!questDetailVOList.isEmpty()){ + List questDetailVOList = baseMapper.selectZeroListByQuestId(page, id, taskQuestEntity.getQuestNum()); + if (!questDetailVOList.isEmpty()) { for (QuestDetailVO questDetailVO : questDetailVOList) { //查询子表 QuestDetailChildEntity questDetailChildEntity = new QuestDetailChildEntity(); questDetailChildEntity.setQuestDetailId(questDetailVO.getId()); - List list =baseMapper.selectQuestDetailChildInfo(taskQuestEntity.getQuestNum(),questDetailChildEntity); + List list = baseMapper.selectQuestDetailChildInfo(taskQuestEntity.getQuestNum(), questDetailChildEntity); // List list = questDetailChildService.list(new QueryWrapper().lambda() // .eq(QuestDetailChildEntity::getIsDeleted,0) // .eq(QuestDetailChildEntity::getQuestDetailId,questDetailVO.getId()) @@ -2770,7 +2788,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list = baseMapper.selectTaskInfo(taskQuestEntity.getQuestNum(), questDetail); - Map map = new HashMap<>(); + Map map = new HashMap<>(); - map.put("allocationId",allocationId); - if(!list.isEmpty()){ + map.put("allocationId", allocationId); + if (!list.isEmpty()) { Set collect = list.stream().map(QuestDetailEntity::getTrayCode).collect(Collectors.toSet()); - map.put("trayCode",collect.stream().collect(Collectors.joining(","))); + map.put("trayCode", collect.stream().collect(Collectors.joining(","))); } String positionCode = goodsAreaEntity.getHeadline() + "-" + basicdataGoodsShelfEntity.getGoodsShelfName() + "-" + goodsAllocationEntity.getGoodsAllocationName(); - map.put("positionCode",positionCode); + map.put("positionCode", positionCode); return R.data(map); } @@ -2821,7 +2839,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); @@ -2843,12 +2861,19 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntityList = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(), questDetail); - if(questDetailEntityList.isEmpty() || ObjectUtils.isNull(questDetailEntityList) || ObjectUtils.isNull(questDetailEntityList.get(0).getQuestId())){ - return R.fail(5000,"包件信息不存在!!"); + if (questDetailEntityList.isEmpty() || ObjectUtils.isNull(questDetailEntityList) || ObjectUtils.isNull(questDetailEntityList.get(0).getQuestId())) { + + // 需要判读这个盘点任务 是否存在绑定的商场 + R extracted = extracted(questId, questDetail); + if(extracted!= null){ + return extracted; + } + + return R.fail(5000, "包件信息不存在!!"); } for (QuestDetailEntity i : questDetailEntityList) { - if(i.getQuestStatus().equals(1)){ - return Resp.scanFail("当前包件已盘点!","当前包件已盘点!"); + if (i.getQuestStatus().equals(1)) { + return Resp.scanFail("当前包件已盘点!", "当前包件已盘点!"); } } // if(Objects.isNull(questDetailEntity)){ @@ -2858,6 +2883,45 @@ public class TaskQuestServiceImpl extends BaseServiceImpl extracted(Long questId, QuestDetailEntity questDetail) { + + + List taskQuestChildVOS = bladeRedis.get(RedisKeyConstant.TASK_QUEST_CHILD_KEY); + if(taskQuestChildVOS== null){ + taskQuestChildVOS = taskQuestChildService.selectlistByMasterId(questId); + bladeRedis.setEx(RedisKeyConstant.TASK_QUEST_CHILD_KEY,taskQuestChildVOS,1000L); + } + + + if(taskQuestChildVOS!=null && !taskQuestChildVOS.isEmpty()){ + + // 存在商场 + + Map resultMap = distributionParcelListClient.findByOrderInfoByOrderPackageCodeAndWarehouseId(questDetail.getOrderPackageCode(), questDetail.getWarehouseId()); + + if(resultMap!= null && !resultMap.isEmpty()){ + String mallName = resultMap.get("mallName").toString(); + + for (TaskQuestChildVO taskQuestChildVO : taskQuestChildVOS) { + if(taskQuestChildVO.getRefType()==1&&!mallName.equals(taskQuestChildVO.getRefName())){ + // 抛出异常 + return R.fail(5001, "扫码包件不属于当前盘点商场!"); + } + } + + } + + } + return null; + } + /** * 查询盘点任务数据 * @@ -2868,15 +2932,15 @@ public class TaskQuestServiceImpl extends BaseServiceImpl selectTaskInfo(IPage page, String questNum, QuestDetailEntity questDetail) { - return baseMapper.selectTaskInfo(questNum,questDetail); + return baseMapper.selectTaskInfo(questNum, questDetail); } - private QuestDetailChildEntity addQuestDetailChild(Integer num,String cargoName,Long questDetaiId,Long warehouseId,String qu){ + private QuestDetailChildEntity addQuestDetailChild(Integer num, String cargoName, Long questDetaiId, Long warehouseId, String qu) { - if(Objects.isNull(num)){ - log.warn("###########addQuestDetailChild: 数量不正确 num={}",num); - throw new CustomerException(403,"数量不正确"); + if (Objects.isNull(num)) { + log.warn("###########addQuestDetailChild: 数量不正确 num={}", num); + throw new CustomerException(403, "数量不正确"); } // QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -2887,8 +2951,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl page, TaskSearchDTO taskSearchDTO) { // String goodsType = taskSearchDTO.getGoodsType(); Integer type = taskSearchDTO.getType(); - if (Func.isEmpty(type)){ - log.error("####################前端参数type传递有误:{}",type); + if (Func.isEmpty(type)) { + log.error("####################前端参数type传递有误:{}", type); Resp.scanFail("操作失败", "服务器正忙..."); } if (type == 1) { @@ -2929,10 +2993,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl stockArticleEntity = null; List marketNames = null; - if (Func.isNotEmpty(taskQuestChildEntityList)){ + if (Func.isNotEmpty(taskQuestChildEntityList)) { marketNames = taskQuestChildEntityList.stream().map(TaskQuestChildEntity::getRefName).collect(Collectors.toList()); } if (Func.isEmpty(marketNames)) { //全仓盘点 - stockArticleEntity = distributionStockArticleClient.findStockArticleByCodeAndMarketAndWarehouseId(incomingBatch,"", taskSearchDTO.getWarehouseId()); + stockArticleEntity = distributionStockArticleClient.findStockArticleByCodeAndMarketAndWarehouseId(incomingBatch, "", taskSearchDTO.getWarehouseId()); } else { if (Func.isNotEmpty(taskQuestChildEntityList)) { - stockArticleEntity = distributionStockArticleClient.findStockArticleByCodeAndMarketAndWarehouseId(taskSearchDTO.getIncomingBatch(), String.join(",",marketNames), taskSearchDTO.getWarehouseId()); + stockArticleEntity = distributionStockArticleClient.findStockArticleByCodeAndMarketAndWarehouseId(taskSearchDTO.getIncomingBatch(), String.join(",", marketNames), taskSearchDTO.getWarehouseId()); } else { log.error("###################盘点任务查询失败"); } } - List taskContractVOS = new ArrayList<>(); + List taskContractVOS = new ArrayList<>(); String goodsType = taskSearchDTO.getGoodsType(); - if (Func.isEmpty(goodsType)){ - log.error("####################参数异常:{}",goodsType); + if (Func.isEmpty(goodsType)) { + log.error("####################参数异常:{}", goodsType); } switch (goodsType) { - case "1" : + case "1": //查询任务表 是否需要进行盘点任务数据的插入 // List questDetailEntityList = questDetailService.list(Wrappers.query().lambda() // .eq(QuestDetailEntity::getQuestId, taskQuestId) @@ -2987,13 +3051,13 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(),questDetail); + List questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(), questDetail); - if (Func.isNotEmpty(questDetailEntityList) && questDetailEntityList.size()>0){ + if (Func.isNotEmpty(questDetailEntityList) && questDetailEntityList.size() > 0) { TaskContractVO taskContractVO = new TaskContractVO(); Map> orderMap = questDetailEntityList.stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderCode)); - orderMap.forEach((k,v)->{ + orderMap.forEach((k, v) -> { List questDetailEntities = orderMap.get(k); taskContractVO.setTotal(v.stream().mapToInt(QuestDetailEntity::getStockNum).sum()); taskContractVO.setZktotal(v.stream().mapToInt(QuestDetailEntity::getStockNum).sum()); @@ -3001,13 +3065,13 @@ public class TaskQuestServiceImpl extends BaseServiceImplFunc.equals(f.getQuestStatus(),1)).mapToInt(QuestDetailEntity::getStockNum).sum()); + taskContractVO.setUnTotal(v.stream().filter(f -> Func.equals(f.getQuestStatus(), 1)).mapToInt(QuestDetailEntity::getStockNum).sum()); taskContractVOS.add(taskContractVO); }); - }else { + } else { if (Func.isEmpty(stockArticleEntity)) { log.error("###################此订单不属于该次盘点任务"); return Resp.scanFail("操作失败", "不属于该任务"); @@ -3024,9 +3088,9 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(), questDetai); - if(questDetailEntities.isEmpty()){ + if (questDetailEntities.isEmpty()) { taskContractVO.setUnTotal(0); - }else{ + } else { long count = questDetailEntities.stream().filter(w -> w.getQuestStatus().equals(1)).count(); taskContractVO.setUnTotal((int) count); } @@ -3090,9 +3154,9 @@ public class TaskQuestServiceImpl extends BaseServiceImpl zeroQuestDetailEntityList = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(),detail); + List zeroQuestDetailEntityList = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(), detail); - if (Func.isNotEmpty(zeroQuestDetailEntityList)){ + if (Func.isNotEmpty(zeroQuestDetailEntityList)) { for (QuestDetailEntity questDetailEntity : zeroQuestDetailEntityList) { TaskContractVO contractVO = new TaskContractVO(); contractVO.setTotal(questDetailEntity.getStockNum()); @@ -3102,10 +3166,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl inventoryQuestDetailEntityList = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(),detail); - + List inventoryQuestDetailEntityList = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(), detail); - if (Func.isNotEmpty(inventoryQuestDetailEntityList) && inventoryQuestDetailEntityList.size()>0){ + if (Func.isNotEmpty(inventoryQuestDetailEntityList) && inventoryQuestDetailEntityList.size() > 0) { int sum = inventoryQuestDetailEntityList.stream().filter(iqd -> Func.equals(iqd.getQuestStatus(), 1)).mapToInt(QuestDetailEntity::getStockNum).sum(); - inventoryQuestDetailEntityList.forEach(iqd->{ + inventoryQuestDetailEntityList.forEach(iqd -> { TaskContractVO taskContractVO = new TaskContractVO(); taskContractVO.setTotal(iqd.getStockNum()); taskContractVO.setZktotal(iqd.getStockNum()); @@ -3226,6 +3289,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntityList; - questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(),questDetail); + questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(), questDetail); - if(ObjectUtils.isNull(questDetailEntityList)){ - if(type == 2){ + if (ObjectUtils.isNull(questDetailEntityList)) { + if (type == 2) { questDetail.setOrderCode(null); questDetail.setOrderPackageCode(incomingBatch); - questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(),questDetail); - if(ObjectUtils.isNull(questDetailEntityList)){ - return Resp.scanSuccess("无盘点数据!","无盘点数据!"); + questDetailEntityList = baseMapper.selectTaskInfo(taskSearchDTO.getQuestNum(), questDetail); + if (ObjectUtils.isNull(questDetailEntityList)) { + return Resp.scanSuccess("无盘点数据!", "无盘点数据!"); } - }else{ - return Resp.scanSuccess("无盘点数据!","无盘点数据!"); + } else { + return Resp.scanSuccess("无盘点数据!", "无盘点数据!"); } } questDetailEntityList.stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderId)) - .forEach((k,v)->{ + .forEach((k, v) -> { TaskContractVO taskContractVO = new TaskContractVO(); taskContractVO.setOrderId(k); taskContractVO.setOrderCode(v.get(0).getOrderCode()); @@ -3301,7 +3365,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl