Browse Source

补料申请创建任务 根据tolocation 拆分任务

master
陈薪名 2 years ago
parent
commit
67b4038655
  1. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRequest/RepleinshRequestMainServiceImpl.java

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRequest/RepleinshRequestMainServiceImpl.java

@ -17,6 +17,7 @@ import com.win.module.wms.convert.repleinshRequest.RepleinshRequestDetailConvert
import com.win.module.wms.convert.repleinshRequest.RepleinshRequestMainConvert; import com.win.module.wms.convert.repleinshRequest.RepleinshRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
@ -53,9 +54,7 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Validator; import javax.validation.Validator;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
@ -500,6 +499,18 @@ public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainServ
if("TRUE".equals(mainDO.getDirectCreateRecord())) { if("TRUE".equals(mainDO.getDirectCreateRecord())) {
// TODO: 发料申请 跳过任务直接生成记录 未做!! // TODO: 发料申请 跳过任务直接生成记录 未做!!
} }
// 根据 子表 toLocationCode 拆分任务
Map<String, List<RepleinshRequestDetailDO>> listMap = new HashMap<>();
for(RepleinshRequestDetailDO detailItem : detailDO) {
List<RepleinshRequestDetailDO> list = listMap.get(detailItem.getToLocationCode());
if(list == null) {
list = new ArrayList<>();
}
//向list增加数据
list.add(detailItem);
listMap.put(detailItem.getToLocationCode(), list);
}
for(String mapKey : listMap.keySet()) {
// 任务主表信息 // 任务主表信息
RepleinshJobMainDO repleinshJobMainDO = new RepleinshJobMainDO(); RepleinshJobMainDO repleinshJobMainDO = new RepleinshJobMainDO();
repleinshJobMainDO.setRequestNumber(mainDO.getNumber()); repleinshJobMainDO.setRequestNumber(mainDO.getNumber());
@ -545,9 +556,8 @@ public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainServ
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>(); List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
List<ExpectoutCreateReqVO> expectoutCreateReqVOList = new ArrayList<>(); List<ExpectoutCreateReqVO> expectoutCreateReqVOList = new ArrayList<>();
// 根据发料申请子表数据进行分析 // 根据发料申请子表数据进行分析
detailDO.forEach(item -> { listMap.get(mapKey).forEach(item -> {
// 根据批次策略/下架策略 返回 库存余额DO // 根据批次策略/下架策略 返回 库存余额DO
// TODO: 任务 会多生成数据 查下原因
List<BalanceDO> balanceDOListJob = jobUtils.getBalanceByBatchOffShelf(item.getItemCode(),item.getInventoryStatus(),item.getProjectCode(),item.getQty(),mainDO.getFromLocationTypes()); List<BalanceDO> balanceDOListJob = jobUtils.getBalanceByBatchOffShelf(item.getItemCode(),item.getInventoryStatus(),item.getProjectCode(),item.getQty(),mainDO.getFromLocationTypes());
// 根据 查询出所需数据 解析成 任务子表数据 // 根据 查询出所需数据 解析成 任务子表数据
balanceDOListJob.forEach(balanceDOItem -> { balanceDOListJob.forEach(balanceDOItem -> {
@ -600,5 +610,7 @@ public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainServ
expectoutService.createExpectout(expectoutCreateReqVOList); expectoutService.createExpectout(expectoutCreateReqVOList);
trendsApi.createTrends(repleinshJobMainDO.getId(), "repleinshJob", "补料申请生成补料任务", TrendsTypeEnum.CREATE); trendsApi.createTrends(repleinshJobMainDO.getId(), "repleinshJob", "补料申请生成补料任务", TrendsTypeEnum.CREATE);
} }
}
} }

Loading…
Cancel
Save