|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.win.framework.common.exception.ServiceException; |
|
|
|
import com.win.framework.common.pojo.CustomConditions; |
|
|
|
import com.win.framework.common.pojo.PageResult; |
|
|
|
import com.win.framework.web.core.util.WebFrameworkUtils; |
|
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
@ -11,6 +12,9 @@ import com.win.module.system.api.user.AdminUserApi; |
|
|
|
import com.win.module.system.api.user.dto.AdminUserRespDTO; |
|
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
|
import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO; |
|
|
|
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailCreateReqVO; |
|
|
|
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailCreateReqVO; |
|
|
|
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO; |
|
|
|
import com.win.module.wms.controller.productreceiptJob.vo.*; |
|
|
|
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; |
|
|
|
import com.win.module.wms.convert.productreceiptJob.ProductreceiptJobMainConvert; |
|
|
@ -46,6 +50,7 @@ import com.win.module.wms.dal.mysql.productreceiptRecord.BackflushRecordDetailbM |
|
|
|
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordMainMapper; |
|
|
|
import com.win.module.wms.enums.job.JobStatusState; |
|
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
|
import com.win.module.wms.service.backflushRequest.BackflushRequestDetailbService; |
|
|
|
import com.win.module.wms.service.balance.BalanceService; |
|
|
|
import com.win.module.wms.service.businesstype.BusinesstypeService; |
|
|
@ -55,6 +60,7 @@ import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
|
import com.win.module.wms.service.offlinesettlementRecord.OfflinesettlementRecordMainService; |
|
|
|
import com.win.module.wms.service.production.ProductionMainService; |
|
|
|
import com.win.module.wms.service.productputawayRequest.ProductputawayRequestMainService; |
|
|
|
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService; |
|
|
|
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestMainService; |
|
|
|
import com.win.module.wms.service.recordsetting.RecordsettingService; |
|
|
@ -87,6 +93,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
@Validated |
|
|
|
public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private ProductputawayRequestMainService productputawayRequestMainService; |
|
|
|
@Resource |
|
|
|
private OfflinesettlementRecordDetailMapper offlinesettlementRecordDetailMapper; |
|
|
|
@Resource |
|
|
@ -399,12 +407,32 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe |
|
|
|
// 根据单据开关判断是否创建 制品上架申请
|
|
|
|
SwitchDO switchDO = switchService.selectSwitchExist("CreateProductputawayRequestAfterProductreceiptRecordCreated"); |
|
|
|
if (switchDO.getEffectiveSetValue().equals("TRUE")) { |
|
|
|
// TODO: 创建 制品上架申请
|
|
|
|
|
|
|
|
generateProductputawayRequest(productreceiptRecordMainDO, productreceiptRecordDetailDOList); |
|
|
|
} |
|
|
|
return number; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建 制品上架申请 |
|
|
|
* @param productreceiptRecordMainDO |
|
|
|
* @param productreceiptRecordDetailDOList |
|
|
|
*/ |
|
|
|
private void generateProductputawayRequest(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<ProductreceiptRecordDetailDO> productreceiptRecordDetailDOList) { |
|
|
|
ProductputawayRequestMainCreateReqVO productputawayRequestMainCreateReqVO = new ProductputawayRequestMainCreateReqVO(); |
|
|
|
productputawayRequestMainCreateReqVO.setStatus(RequestStatusEnum.NEW.getCode()); |
|
|
|
productputawayRequestMainCreateReqVO.setDepartmentCode(String.valueOf(userApi.getUser(WebFrameworkUtils.getLoginUserId()).getDeptId())); |
|
|
|
List<ProductputawayRequestDetailCreateReqVO> subList = new ArrayList<>(); |
|
|
|
productreceiptRecordDetailDOList.forEach(itemDetailDO -> { |
|
|
|
ProductputawayRequestDetailCreateReqVO productputawayRequestDetailCreateReqVO = new ProductputawayRequestDetailCreateReqVO(); |
|
|
|
productputawayRequestDetailCreateReqVO.setItemCode(itemDetailDO.getItemCode()); |
|
|
|
productputawayRequestDetailCreateReqVO.setQty(itemDetailDO.getQty()); |
|
|
|
productputawayRequestDetailCreateReqVO.setInventoryStatus(itemDetailDO.getInventoryStatus()); |
|
|
|
subList.add(productputawayRequestDetailCreateReqVO); |
|
|
|
}); |
|
|
|
productputawayRequestMainCreateReqVO.setSubList(subList); |
|
|
|
productputawayRequestMainService.createProductputawayRequestMain(productputawayRequestMainCreateReqVO); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建 回冲记录 |
|
|
|
* @param productreceiptRecordMainDO |
|
|
|