|
|
@ -29,6 +29,7 @@ import com.win.module.wms.service.workshop.WorkshopService; |
|
|
|
import com.win.module.wms.service.workstation.WorkstationService; |
|
|
|
import com.win.module.wms.util.JobUtils; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.validation.Validator; |
|
|
|
|
|
|
@ -81,6 +82,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
private RuleService ruleService; |
|
|
|
@Resource |
|
|
|
private RequestsettingService requestsettingService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public Long createIssueRequestMain(IssueRequestMainCreateReqVO createReqVO) { |
|
|
|
// 插入
|
|
|
@ -129,6 +131,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
public PageResult<IssueRequestMainDO> getIssueRequestMainPage(IssueRequestMainPageReqVO pageReqVO) { |
|
|
|
return issueRequestMainMapper.selectPage(pageReqVO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageResult<IssueRequestMainDO> getIssueRequestMainSenior(CustomConditions conditions) { |
|
|
|
return issueRequestMainMapper.selectSenior(conditions); |
|
|
@ -167,10 +170,8 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
List<IssueRequestImportErrorVO> errorList = new ArrayList<>(); |
|
|
|
datas.forEach(createReqVO -> { |
|
|
|
String messageMain = ""; |
|
|
|
String messageAll = ""; |
|
|
|
String itemType = ""; |
|
|
|
BusinesstypeDO businesstypeDO = null; |
|
|
|
//主表校验方法
|
|
|
|
if(mode != null){ |
|
|
|
try { |
|
|
|
validateIssueRequestMainExists(null); |
|
|
|
} catch (Exception ex) { |
|
|
@ -194,11 +195,25 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
} catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
try { |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest"); |
|
|
|
createReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
|
createReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
|
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
|
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
} catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
try { |
|
|
|
ValidationUtils.validate(validator, createReqVO); |
|
|
|
} catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_REQUEST.getCode()); |
|
|
|
createReqVO.setNumber(number); |
|
|
|
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
|
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList); |
|
|
|
if(!"".equals(messageMain)){ |
|
|
|
for (IssueRequestDetailDO detailDO : subDOList) { |
|
|
|
String messageDetail = ""; |
|
|
|
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
|
|
|
@ -209,7 +224,11 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
detailDO.setItemDesc2(itembasicDO.getDesc2()); |
|
|
|
detailDO.setItemName(itembasicDO.getName()); |
|
|
|
detailDO.setProjectCode(itembasicDO.getProject()); |
|
|
|
itemType = itembasicDO.getType(); |
|
|
|
try { |
|
|
|
jobUtils.ifInType(itembasicDO.getType(), businesstypeDO); |
|
|
|
} catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
try { |
|
|
|
ifUomSuccess(itembasicDO.getUom(), detailDO.getUom()); |
|
|
|
} catch (Exception ex) { |
|
|
@ -251,42 +270,16 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
} |
|
|
|
IssueRequestDetailCreateReqVO purchaseturnRequestDetailCreateReqVO = IssueRequestDetailConvert.INSTANCE.convert1(detailDO); |
|
|
|
IssueRequestImportErrorVO importVO = IssueRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseturnRequestDetailCreateReqVO); |
|
|
|
if (!messageDetail.equals("")) { |
|
|
|
if (!messageMain.equals("") || !messageDetail.equals("")) { |
|
|
|
importVO.setImportStatus("失败"); |
|
|
|
importVO.setImportRemark(messageDetail.substring(0, messageDetail.length() - 1)); |
|
|
|
messageMain = messageMain + messageDetail; |
|
|
|
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); |
|
|
|
errorList.add(importVO); |
|
|
|
} else { |
|
|
|
detailDO.setNumber(createReqVO.getNumber()); |
|
|
|
detailDO.setMasterId(createReqVO.getId()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
try { |
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest"); |
|
|
|
try { |
|
|
|
jobUtils.ifInType(itemType, businesstypeDO); |
|
|
|
} catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
createReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
|
createReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
|
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
|
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
} catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
try{ |
|
|
|
ValidationUtils.validate(validator,createReqVO); |
|
|
|
}catch (Exception ex) { |
|
|
|
messageMain += ex.getMessage() + ","; |
|
|
|
} |
|
|
|
IssueRequestImportErrorVO importVO = new IssueRequestImportErrorVO(); |
|
|
|
if (!messageMain.equals("")) { |
|
|
|
importVO.setImportStatus("失败"); |
|
|
|
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); |
|
|
|
errorList.add(importVO); |
|
|
|
} |
|
|
|
IssueRequestMainDO createobj = IssueRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
|
if (errorList.isEmpty()) { |
|
|
|
IssueRequestMainDO existIssueRequestMainDO = issueRequestMainMapper.selectWorkShopCodeAndUseOnTheWayLocation(createReqVO.getWorkshopCode(), createobj.getUseOnTheWayLocation()); |
|
|
@ -298,7 +291,6 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
|
issueRequestDetailMapper.updateBatch(subDOList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
//错误不为空并非部分更新,手工回滚
|
|
|
|
if (!errorList.isEmpty() && !updatePart) { |
|
|
|