|
@ -369,7 +369,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 生成采购收货任务 |
|
|
* 生成采购收货任务,不要改动事务传播方式,否则会有事务问题 |
|
|
* @param mainDO 采购收货主 |
|
|
* @param mainDO 采购收货主 |
|
|
* @param detailDOList 采购收货子 |
|
|
* @param detailDOList 采购收货子 |
|
|
*/ |
|
|
*/ |
|
@ -379,8 +379,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); |
|
|
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); |
|
|
Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>(); |
|
|
Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>(); |
|
|
List<PurchasereceiptJobMainCreateReqVO> purchasereceiptJobMainCreateReqVOList = new ArrayList<>(); |
|
|
List<PurchasereceiptJobMainCreateReqVO> purchasereceiptJobMainCreateReqVOList = new ArrayList<>(); |
|
|
// 获取拆分类型,如果够为FALSE则不拆分
|
|
|
// 获取拆分类型,如果都为FALSE则不拆分
|
|
|
String key = ""; |
|
|
String key; |
|
|
if ("TRUE".equals(jsonObject.get("ByItem"))) {//按零件拆分
|
|
|
if ("TRUE".equals(jsonObject.get("ByItem"))) {//按零件拆分
|
|
|
key = "item"; |
|
|
key = "item"; |
|
|
} else if ("TRUE".equals(jsonObject.get("ByContainer"))) {//按器具拆分
|
|
|
} else if ("TRUE".equals(jsonObject.get("ByContainer"))) {//按器具拆分
|
|
@ -392,11 +392,12 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
} |
|
|
} |
|
|
// 每个任务单最多任务数
|
|
|
// 每个任务单最多任务数
|
|
|
int count = Integer.parseInt(String.valueOf(jsonObject.get("JobDetailCount"))); |
|
|
int count = Integer.parseInt(String.valueOf(jsonObject.get("JobDetailCount"))); |
|
|
if(count == 0) { |
|
|
if(count == 0) {//0表示不拆分
|
|
|
count = Integer.MAX_VALUE; |
|
|
count = Integer.MAX_VALUE; |
|
|
} |
|
|
} |
|
|
for(PurchasereceiptRequestDetailDO detailDO : detailDOList) { |
|
|
for(PurchasereceiptRequestDetailDO detailDO : detailDOList) { |
|
|
List<PurchasereceiptRequestDetailDO> list; |
|
|
List<PurchasereceiptRequestDetailDO> list; |
|
|
|
|
|
//从map取出list
|
|
|
switch (key) { |
|
|
switch (key) { |
|
|
case "item": |
|
|
case "item": |
|
|
list = listMap.get(detailDO.getItemCode()); |
|
|
list = listMap.get(detailDO.getItemCode()); |
|
@ -410,12 +411,25 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
if(list == null) { |
|
|
if(list == null) { |
|
|
list = new ArrayList<>(); |
|
|
list = new ArrayList<>(); |
|
|
} |
|
|
} |
|
|
|
|
|
//向list增加数据
|
|
|
list.add(detailDO); |
|
|
list.add(detailDO); |
|
|
listMap.put(key, list); |
|
|
//放回map
|
|
|
|
|
|
switch (key) { |
|
|
|
|
|
case "item": |
|
|
|
|
|
listMap.put(detailDO.getItemCode(), list); |
|
|
|
|
|
case "container": |
|
|
|
|
|
listMap.put(detailDO.getContainerNumber(), list); |
|
|
|
|
|
case "location": |
|
|
|
|
|
listMap.put(detailDO.getFromLocationCode(), list); |
|
|
|
|
|
default: |
|
|
|
|
|
listMap.put(key, list); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
//组装任务数据
|
|
|
for(String mapKey : listMap.keySet()) { |
|
|
for(String mapKey : listMap.keySet()) { |
|
|
List<PurchasereceiptRequestDetailDO> purchasereceiptRequestDetailDOList = listMap.get(mapKey); |
|
|
List<PurchasereceiptRequestDetailDO> purchasereceiptRequestDetailDOList = listMap.get(mapKey); |
|
|
for(int i = 0; i < purchasereceiptRequestDetailDOList.size(); i++) { |
|
|
for(int i = 0; i < purchasereceiptRequestDetailDOList.size(); i++) { |
|
|
|
|
|
//PurchasereceiptJobMainCreateReqVO不包含id、创建人等信息
|
|
|
PurchasereceiptJobMainCreateReqVO purchasereceiptJobMainCreateReqVO; |
|
|
PurchasereceiptJobMainCreateReqVO purchasereceiptJobMainCreateReqVO; |
|
|
List<PurchasereceiptJobDetailCreateReqVO> subList = null; |
|
|
List<PurchasereceiptJobDetailCreateReqVO> subList = null; |
|
|
if(i % count == 0) { |
|
|
if(i % count == 0) { |
|
@ -428,7 +442,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
subList.add(purchasereceiptJobDetailCreateReqVO); |
|
|
subList.add(purchasereceiptJobDetailCreateReqVO); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//插入数据库
|
|
|
//把任务插入数据库
|
|
|
for(PurchasereceiptJobMainCreateReqVO purchasereceiptJobMainCreateReqVO : purchasereceiptJobMainCreateReqVOList) { |
|
|
for(PurchasereceiptJobMainCreateReqVO purchasereceiptJobMainCreateReqVO : purchasereceiptJobMainCreateReqVOList) { |
|
|
PurchasereceiptJobMainDO purchasereceiptJobMainDO = PurchasereceiptJobMainConvert.INSTANCE.convert(purchasereceiptJobMainCreateReqVO); |
|
|
PurchasereceiptJobMainDO purchasereceiptJobMainDO = PurchasereceiptJobMainConvert.INSTANCE.convert(purchasereceiptJobMainCreateReqVO); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_JOB.getCode()); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_JOB.getCode()); |
|
|