|
@ -10,20 +10,25 @@ import com.win.framework.dict.core.util.DictFrameworkUtils; |
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
|
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
|
|
|
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO; |
|
|
import com.win.module.wms.controller.productionreturnRequest.vo.*; |
|
|
import com.win.module.wms.controller.productionreturnRequest.vo.*; |
|
|
import com.win.module.wms.controller.productionreturnRequest.vo.*; |
|
|
import com.win.module.wms.controller.productionreturnRequest.vo.*; |
|
|
|
|
|
import com.win.module.wms.controller.rule.vo.RuleRespVO; |
|
|
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert; |
|
|
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert; |
|
|
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestDetailConvert; |
|
|
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestDetailConvert; |
|
|
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert; |
|
|
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert; |
|
|
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.issueRequest.IssueRequestMainDO; |
|
|
|
|
|
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.itempackaging.ItempackagingDO; |
|
|
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.location.LocationDO; |
|
|
import com.win.module.wms.dal.dataobject.packageMassage.PackageDO; |
|
|
import com.win.module.wms.dal.dataobject.packageMassage.PackageDO; |
|
|
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; |
|
|
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; |
|
|
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; |
|
|
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.productionreturnJob.ProductionreturnJobDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.productionreturnJob.ProductionreturnJobMainDO; |
|
|
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestMainDO; |
|
|
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestMainDO; |
|
|
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; |
|
@ -31,18 +36,24 @@ import com.win.module.wms.dal.dataobject.productionreturnRequest.Productionretur |
|
|
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; |
|
|
import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; |
|
|
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; |
|
|
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; |
|
|
|
|
|
import com.win.module.wms.dal.mysql.productionreturnJob.ProductionreturnJobDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.productionreturnJob.ProductionreturnJobMainMapper; |
|
|
import com.win.module.wms.dal.mysql.productionreturnJob.ProductionreturnJobMainMapper; |
|
|
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestMainMapper; |
|
|
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestMainMapper; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
|
|
|
import com.win.module.wms.enums.job.JobStatusEnum; |
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.enums.request.RequestStatusState; |
|
|
import com.win.module.wms.enums.request.RequestStatusState; |
|
|
import com.win.module.wms.service.businesstype.BusinesstypeService; |
|
|
import com.win.module.wms.service.businesstype.BusinesstypeService; |
|
|
|
|
|
import com.win.module.wms.service.expectin.ExpectinService; |
|
|
import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
import com.win.module.wms.service.itempackaging.ItempackagingService; |
|
|
import com.win.module.wms.service.itempackaging.ItempackagingService; |
|
|
|
|
|
import com.win.module.wms.service.jobsetting.JobsettingService; |
|
|
|
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
import com.win.module.wms.service.productionline.ProductionlineService; |
|
|
import com.win.module.wms.service.productionline.ProductionlineService; |
|
|
import com.win.module.wms.service.productionlineitem.ProductionlineitemService; |
|
|
import com.win.module.wms.service.productionlineitem.ProductionlineitemService; |
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
|
|
|
import com.win.module.wms.service.rule.RuleService; |
|
|
import com.win.module.wms.service.workshop.WorkshopService; |
|
|
import com.win.module.wms.service.workshop.WorkshopService; |
|
|
import com.win.module.wms.service.workstation.WorkstationService; |
|
|
import com.win.module.wms.service.workstation.WorkstationService; |
|
|
import com.win.module.wms.util.JobUtils; |
|
|
import com.win.module.wms.util.JobUtils; |
|
@ -60,6 +71,7 @@ import java.util.Collection; |
|
|
import java.util.List; |
|
|
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.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
|
|
import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -71,6 +83,18 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
@Validated |
|
|
@Validated |
|
|
public class ProductionreturnRequestMainServiceImpl implements ProductionreturnRequestMainService { |
|
|
public class ProductionreturnRequestMainServiceImpl implements ProductionreturnRequestMainService { |
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
private AdminUserApi userApi; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private ExpectinService expectinService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private ProductionreturnJobDetailMapper productionreturnJobDetailMapper; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private LocationService locationService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private RuleService ruleService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private JobsettingService jobsettingService; |
|
|
@Resource |
|
|
@Resource |
|
|
private ItempackagingService itempackagingService; |
|
|
private ItempackagingService itempackagingService; |
|
|
@Resource |
|
|
@Resource |
|
@ -252,6 +276,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCTION_RETURN_REQUEST.getCode()); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCTION_RETURN_REQUEST.getCode()); |
|
|
mainDo.setNumber(number); |
|
|
mainDo.setNumber(number); |
|
|
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "审批中")); |
|
|
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "审批中")); |
|
|
|
|
|
mainDo.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString()); |
|
|
productionreturnRequestMainMapper.insert(mainDo); |
|
|
productionreturnRequestMainMapper.insert(mainDo); |
|
|
// 拆解后 子表集合
|
|
|
// 拆解后 子表集合
|
|
|
List<ProductionreturnRequestDetailDO> subDOListPack = new ArrayList<>(); |
|
|
List<ProductionreturnRequestDetailDO> subDOListPack = new ArrayList<>(); |
|
@ -477,7 +502,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
} |
|
|
} |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
//增加操作记录
|
|
|
//增加操作记录
|
|
|
trendsApi.createTrends(id, "productionreturnRequest", "关闭了生产收料申请", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(id, "productionreturnRequest", "关闭了生产退料申请", TrendsTypeEnum.UPDATE); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -496,7 +521,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
} |
|
|
} |
|
|
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
|
|
|
trendsApi.createTrends(id, "issueRequest", "打开了生产收料申请", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(id, "productionreturnRequest", "打开了生产退料申请", TrendsTypeEnum.UPDATE); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -518,10 +543,9 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
//调用自动执行方法
|
|
|
//调用自动执行方法
|
|
|
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
// 审批通过 生成标签
|
|
|
// 审批通过 生成标签
|
|
|
this.generateLabel(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
|
|
|
this.generateJob(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
this.generateJob(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
} |
|
|
} |
|
|
trendsApi.createTrends(id, "issueRequest", "提交了生产收料申请", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(id, "productionreturnRequest", "提交了生产退料申请", TrendsTypeEnum.UPDATE); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -540,7 +564,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
} |
|
|
} |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
trendsApi.createTrends(id, "issueRequest", "驳回了生产收料申请", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(id, "productionreturnRequest", "驳回了生产退料申请", TrendsTypeEnum.UPDATE); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -554,18 +578,16 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_JOB_EXISTS); |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_JOB_EXISTS); |
|
|
} |
|
|
} |
|
|
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); |
|
|
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); |
|
|
boolean flag = requestStatusState.agree(mainDO.getAutoExecute()); |
|
|
boolean flag = requestStatusState.agree(mainDO.getAutoAgree()); |
|
|
if(!flag) { |
|
|
if(!flag) { |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
} |
|
|
} |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
// 审批通过 生成标签
|
|
|
|
|
|
this.generateLabel(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
|
|
|
//调用自动执行方法
|
|
|
//调用自动执行方法
|
|
|
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
this.generateJob(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
this.generateJob(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
} |
|
|
} |
|
|
trendsApi.createTrends(id, "issueRequest", "审批通过了生产收料申请", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(id, "productionreturnRequest", "审批通过了生产退料申请", TrendsTypeEnum.UPDATE); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -581,32 +603,107 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR |
|
|
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); |
|
|
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); |
|
|
boolean flag = requestStatusState.handle(); |
|
|
boolean flag = requestStatusState.handle(); |
|
|
if(!flag) { |
|
|
if(!flag) { |
|
|
throw new ServiceException(ISSUE_REQUEST_MAIN_CANNOT_HANDLE); |
|
|
throw new ServiceException(PRODUCTIONRETURN_REQUEST_MAIN_ERROR); |
|
|
} |
|
|
} |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
//调用执行方法
|
|
|
//调用执行方法
|
|
|
this.generateJob(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
this.generateJob(mainDO, productionreturnRequestDetailMapper.selectList(mainDO.getId())); |
|
|
trendsApi.createTrends(id, "issueRequest", "执行了发料申请", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(id, "productionreturnRequest", "执行了生产退料申请", TrendsTypeEnum.UPDATE); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
return productionreturnRequestMainMapper.updateById(mainDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 创建标签 |
|
|
|
|
|
* @param mainDO |
|
|
|
|
|
* @param detailDO |
|
|
|
|
|
*/ |
|
|
|
|
|
private void generateLabel (ProductionreturnRequestMainDO mainDO, List<ProductionreturnRequestDetailDO> detailDO) { |
|
|
|
|
|
// 查询 mainDO.packingNumber 在包装表中,是否存在,如果存在不创建标签,如果不存在,创建
|
|
|
|
|
|
// PackageDO packageDO =
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 创建任务 OR 创建记录 |
|
|
* 创建任务 OR 创建记录 |
|
|
* @param mainDO |
|
|
* @param mainDO |
|
|
* @param detailDO |
|
|
* @param detailDO |
|
|
*/ |
|
|
*/ |
|
|
private void generateJob (ProductionreturnRequestMainDO mainDO, List<ProductionreturnRequestDetailDO> detailDO) { |
|
|
private void generateJob (ProductionreturnRequestMainDO mainDO, List<ProductionreturnRequestDetailDO> detailDO) { |
|
|
|
|
|
//跳过任务直接生成记录
|
|
|
|
|
|
if("TRUE".equals(mainDO.getDirectCreateRecord())) { |
|
|
|
|
|
// TODO: 发料申请 跳过任务直接生成记录 未做!!
|
|
|
|
|
|
// PurchasereceiptRecordMainCreateReqVO purchasereceiptRecordMainCreateReqVO = new PurchasereceiptRecordMainCreateReqVO();
|
|
|
|
|
|
// BeanUtils.copyProperties(mainDO, purchasereceiptRecordMainCreateReqVO);
|
|
|
|
|
|
// purchasereceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
|
|
|
|
|
|
// String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode());
|
|
|
|
|
|
// purchasereceiptRecordMainCreateReqVO.setNumber(number);
|
|
|
|
|
|
// //增加业务类型
|
|
|
|
|
|
// BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord");
|
|
|
|
|
|
// purchasereceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
|
|
|
|
|
|
// purchasereceiptRecordMainMapper.insert(PurchasereceiptRecordMainConvert.INSTANCE.convert(purchasereceiptRecordMainCreateReqVO));
|
|
|
|
|
|
// for(PurchasereceiptRequestDetailDO purchasereceiptRequestDetailDO : detailDOList) {
|
|
|
|
|
|
// PurchasereceiptRecordDetailCreateReqVO purchasereceiptRecordDetailCreateReqVO = new PurchasereceiptRecordDetailCreateReqVO();
|
|
|
|
|
|
// BeanUtils.copyProperties(purchasereceiptRequestDetailDO, purchasereceiptRecordDetailCreateReqVO);
|
|
|
|
|
|
// purchasereceiptRecordDetailCreateReqVO.setNumber(number);
|
|
|
|
|
|
// purchasereceiptRecordDetailMapper.insert(PurchasereceiptRecordDetailConvert.INSTANCE.convert(purchasereceiptRecordDetailCreateReqVO));
|
|
|
|
|
|
// }
|
|
|
|
|
|
// return;
|
|
|
|
|
|
} |
|
|
|
|
|
// 任务主表信息
|
|
|
|
|
|
ProductionreturnJobMainDO productionreturnJobMainDO = new ProductionreturnJobMainDO(); |
|
|
|
|
|
BeanUtils.copyProperties(mainDO, productionreturnJobMainDO); |
|
|
|
|
|
productionreturnJobMainDO.setRequestNumber(mainDO.getNumber()); |
|
|
|
|
|
productionreturnJobMainDO.setRequestDueTime(mainDO.getDueTime()); |
|
|
|
|
|
productionreturnJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); |
|
|
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCTION_RETURN_JOB.getCode()); |
|
|
|
|
|
productionreturnJobMainDO.setNumber(number); |
|
|
|
|
|
// 获取任务单据设置
|
|
|
|
|
|
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("MaterialReturnJob"); |
|
|
|
|
|
productionreturnJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber()); |
|
|
|
|
|
productionreturnJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach()); |
|
|
|
|
|
//增加业务类型
|
|
|
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ReturnToStoreJob"); |
|
|
|
|
|
productionreturnJobMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
|
|
|
productionreturnJobMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
|
|
|
productionreturnJobMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
|
|
|
productionreturnJobMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
|
|
productionreturnJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); |
|
|
|
|
|
productionreturnJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); |
|
|
|
|
|
productionreturnJobMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
|
|
productionreturnJobMainDO.setId(null); |
|
|
|
|
|
productionreturnJobMainDO.setCreateTime(null); |
|
|
|
|
|
productionreturnJobMainDO.setCreator(null); |
|
|
|
|
|
productionreturnJobMainDO.setUpdateTime(null); |
|
|
|
|
|
productionreturnJobMainDO.setUpdater(null); |
|
|
|
|
|
productionreturnJobMainMapper.insert(productionreturnJobMainDO); |
|
|
|
|
|
|
|
|
|
|
|
List<ProductionreturnJobDetailDO> productionreturnJobDetailDOList = new ArrayList<>(); |
|
|
|
|
|
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>(); |
|
|
|
|
|
detailDO.forEach(item -> { |
|
|
|
|
|
ProductionreturnJobDetailDO productionreturnJobDetailDO = new ProductionreturnJobDetailDO(); |
|
|
|
|
|
BeanUtils.copyProperties(item, productionreturnJobDetailDO); |
|
|
|
|
|
productionreturnJobDetailDO.setId(null); |
|
|
|
|
|
productionreturnJobDetailDO.setCreateTime(null); |
|
|
|
|
|
productionreturnJobDetailDO.setCreator(null); |
|
|
|
|
|
productionreturnJobDetailDO.setUpdateTime(null); |
|
|
|
|
|
productionreturnJobDetailDO.setUpdater(null); |
|
|
|
|
|
productionreturnJobDetailDO.setMasterId(productionreturnJobMainDO.getId()); |
|
|
|
|
|
productionreturnJobDetailDO.setNumber(number); |
|
|
|
|
|
// 获取上架策略 并赋值 to库位
|
|
|
|
|
|
RuleRespVO ruleRespVO = ruleService.grounding(null,null,null,null,null,null,productionreturnJobDetailDO.getItemCode(),null,null,null,null,null,null); |
|
|
|
|
|
LocationDO locationDO = locationService.inspectLocation(ruleRespVO,null,productionreturnJobDetailDO.getItemCode(),null); |
|
|
|
|
|
productionreturnJobDetailDO.setToLocationCode(locationDO.getCode()); |
|
|
|
|
|
productionreturnJobDetailDOList.add(productionreturnJobDetailDO); |
|
|
|
|
|
//预计入
|
|
|
|
|
|
ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO(); |
|
|
|
|
|
BeanUtils.copyProperties(productionreturnJobDetailDO, expectinCreateReqVO); |
|
|
|
|
|
expectinCreateReqVO.setJobNumber(number); |
|
|
|
|
|
expectinCreateReqVO.setBusinessType(productionreturnJobMainDO.getBusinessType()); |
|
|
|
|
|
expectinCreateReqVO.setLocationCode(productionreturnJobDetailDO.getToLocationCode()); |
|
|
|
|
|
expectinCreateReqVO.setOwnerCode(productionreturnJobDetailDO.getToOwnerCode()); |
|
|
|
|
|
expectinCreateReqVOList.add(expectinCreateReqVO); |
|
|
|
|
|
}); |
|
|
|
|
|
productionreturnJobDetailMapper.insertBatch(productionreturnJobDetailDOList); |
|
|
|
|
|
//增加预计入
|
|
|
|
|
|
expectinService.createExpectin(expectinCreateReqVOList); |
|
|
|
|
|
trendsApi.createTrends(productionreturnJobMainDO.getId(), "productionreturnJob", "生产退料申请生成任务", TrendsTypeEnum.CREATE); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|