diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java index 656fd473..330c0620 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java @@ -11,17 +11,21 @@ import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.purchaseclaimRequest.vo.*; import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert; import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO; import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO; +import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestDetailMapper; import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestMainMapper; import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.purchase.PurchaseMainService; +import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.supplier.SupplierService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; +import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -67,6 +71,11 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest @Resource private Validator validator; + @Resource + private JobUtils jobUtils; + @Resource + private RequestsettingService requestsettingService; + @Override @Transactional public Long createPurchaseclaimRequestMain(PurchaseclaimRequestMainCreateReqVO createReqVO) { @@ -182,7 +191,6 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest } catch (Exception ex) { messageMain += ex.getMessage() + ","; } - PurchaseclaimRequestMainDO createObj = PurchaseclaimRequestMainConvert.INSTANCE.convert(createReqVO); List subList = createReqVO.getSubList(); List subDOList = PurchaseclaimRequestDetailConvert.INSTANCE.convertList03(subList); // 新增子表数据 @@ -231,7 +239,18 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); createReqVO.setNumber(number); - + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseClaimRequest"); + if(businesstypeDO != null){ + createReqVO.setBusinessType(businesstypeDO.getCode()); + } + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseClaimRequest"); + if(requestsettingDO != null){ + createReqVO.setAutoAgree(requestsettingDO.getAutoAgree()); + createReqVO.setAutoCommit(requestsettingDO.getAutoCommit()); + createReqVO.setAutoExecute(requestsettingDO.getAutoExecute()); + createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); + } + PurchaseclaimRequestMainDO createObj = PurchaseclaimRequestMainConvert.INSTANCE.convert(createReqVO); purchaseclaimRequestMainMapper.insert(createObj); } //反之 跳出本次循环 进行下一个主表的循环 if(messageMain != null || messageDetail != null) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java index 7f61a73c..61a6b71d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java @@ -8,6 +8,7 @@ import com.win.framework.common.exception.ErrorCode; import com.win.module.wms.controller.rule.vo.RuleRespVO; 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.documentsetting.DocumentsettingDO; import com.win.module.wms.dal.dataobject.expectout.ExpectoutDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; @@ -16,6 +17,8 @@ import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.expectout.ExpectoutMapper; import com.win.module.wms.dal.mysql.location.LocationMapper; import com.win.module.wms.service.balance.BalanceService; +import com.win.module.wms.service.businesstype.BusinesstypeService; +import com.win.module.wms.service.documentsetting.DocumentsettingService; import com.win.module.wms.service.expectout.ExpectoutService; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; @@ -64,6 +67,12 @@ public class JobUtils { @Resource private ExpectoutService expectoutService; + @Resource + private DocumentsettingService documentsettingService; + + @Resource + private BusinesstypeService businesstypeService; + /** * 解析JSON串,返回两个对象的集合 @@ -691,6 +700,30 @@ public class JobUtils { return balanceDOList; } + /** + * DBT3 + * 根据单据设置查询业务类型 + * @author chenfang + * @param pcode + * @return + */ + public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode){ + DocumentsettingDO documentsettingDO = documentsettingService.selectDocumentsettingExist(pcode); + if(documentsettingDO != null){ + if(documentsettingDO.getBusinessType() != null){ + BusinesstypeDO businesstypeDO = businesstypeService.selectBusinesstypeExist(documentsettingDO.getBusinessType()); + if(businesstypeDO != null){ + return businesstypeDO; + }else { + return null; + } + }else { + return null; + } + }else { + return null; + } + } /** * 从库存有效,状态正确(使用客户寄售库) * author:yejiaxing