diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index 4d4adc0e..a23be87c 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -880,5 +880,7 @@ public interface ErrorCodeConstants { ErrorCode QTY_ERROR = new ErrorCode(1_000_301_000, "发货数量【{}】大于订单号【{}】、订单行【{}】、物品代码【{}】的未发货数量【{}】"); ErrorCode QTY_ERRORR = new ErrorCode(1_000_301_001, "上架数量【{}】不能大于库存数量【{}】"); + + ErrorCode TIME_AFTER = new ErrorCode(1_000_302_000, "申请时间【{}】小于截止时间【{}】"); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/TransferissueRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/TransferissueRequestMainController.java index 0ee38b10..a9a6e8b5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/TransferissueRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/TransferissueRequestMainController.java @@ -3,6 +3,7 @@ package com.win.module.wms.controller.transferissueRequest; import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.excel.core.util.ConvertUtil; import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; @@ -11,6 +12,7 @@ import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.transferissueRequest.vo.*; import com.win.module.wms.convert.transferissueRequest.TransferissueRequestMainConvert; import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; +import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.transferissueRequest.TransferissueRequestMainService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -125,10 +127,10 @@ public class TransferissueRequestMainController { // 手动创建导出 demo List list = new ArrayList<>(); Map mapDropDown = new HashMap<>(); -// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); -// mapDropDown.put(16, purchaseReturnReason); -// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); -// mapDropDown.put(25, uom); + String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); + mapDropDown.put(2, transferMode); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(10, inventoryStatus); // 输出 ExcelUtils.write(response, "调拨出库申请信息导入模板.xlsx", "调拨出库申请信息列表", TransferissueRequestMainImportVO.class, list, mapDropDown); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestDetailBaseVO.java index b7995098..a351d2fd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestDetailBaseVO.java @@ -51,7 +51,6 @@ public class TransferissueRequestDetailBaseVO { private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @@ -86,4 +85,7 @@ public class TransferissueRequestDetailBaseVO { @Schema(description = "从货主代码") private String fromOwnerCode; + @Schema(description = "master_id", example = "master_id") + private Long masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainBaseVO.java index e955a26f..37e47f23 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainBaseVO.java @@ -1,5 +1,6 @@ package com.win.module.wms.controller.transferissueRequest.vo; +import com.win.framework.excel.core.annotations.OnlyOne; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -32,18 +33,16 @@ public class TransferissueRequestMainBaseVO { private String vehiclePlateNumber; @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据号不能为空") + @OnlyOne private String number; @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "业务类型不能为空") private String businessType; @Schema(description = "备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @@ -59,7 +58,6 @@ public class TransferissueRequestMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "状态") @@ -73,30 +71,24 @@ public class TransferissueRequestMainBaseVO { private String updater; @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从仓库代码不能为空") private String fromWarehouseCode; @Schema(description = "从月台代码") private String fromDockCode; @Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从库位类型范围不能为空") private String fromLocationTypes; @Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从库区代码范围不能为空") private String fromAreaCodes; @Schema(description = "到仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "到仓库代码不能为空") private String toWarehouseCode; @Schema(description = "到库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "到库位类型范围不能为空") private String toLocationTypes; @Schema(description = "到库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "到库区代码范围不能为空") private String toAreaCodes; @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainImportVO.java index 922861d0..8909cccf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainImportVO.java @@ -1,11 +1,16 @@ package com.win.module.wms.controller.transferissueRequest.vo; import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.wms.enums.DictTypeConstants; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; +import java.time.LocalDateTime; + /** * 采购索赔申请子 Excel VO @@ -21,26 +26,40 @@ public class TransferissueRequestMainImportVO { //主表数据 @ExcelProperty("承运商") private String carrierCode; + @ExcelProperty("从月台代码") private String fromDockCode; - @ExcelProperty("运输方式") + + @ExcelProperty(value = "运输方式", converter = DictConvert.class) + @DictFormat(DictTypeConstants.TRANSFER_MODE) private String transferMode; + @ExcelProperty("车牌号") private String vehiclePlateNumber; + @ExcelProperty("截止时间") + private LocalDateTime dueTime; + //子表数据 @ExcelProperty("来源库位") private String fromLocationCode; + @ExcelProperty("零件号") private String itemCode; + @ExcelProperty("包装号") private String packingNumber; + @ExcelProperty("器具号") private String containerNumber; + @ExcelProperty("批次") private String batch; - @ExcelProperty("库存状态") + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) private String inventoryStatus; + @ExcelProperty("目标库位") private String toLocationCode; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainUpdateReqVO.java index 6869369e..407b34c8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainUpdateReqVO.java @@ -1,12 +1,20 @@ package com.win.module.wms.controller.transferissueRequest.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailUpdateReqVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.List; + @Schema(description = "管理后台 - 调拨出库申请主更新 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class TransferissueRequestMainUpdateReqVO extends TransferissueRequestMainBaseVO { + + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestDetailConvert.java index 6e0d5a24..32a40069 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestDetailConvert.java @@ -37,6 +37,8 @@ public interface TransferissueRequestDetailConvert { TransferissueRequestDetailCreateReqVO convert1(TransferissueRequestDetailDO bean); + List convertList05(List list); + @Mappings({ @Mapping(source = "mainDO.number", target = "number"), @Mapping(source = "mainDO.remark", target = "remark"), diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java index 814f68a4..1c20f1ca 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java @@ -3,11 +3,10 @@ package com.win.module.wms.convert.transferissueRequest; import java.util.*; import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainCreateReqVO; -import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainExcelVO; -import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainRespVO; -import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainUpdateReqVO; +import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainBaseVO; +import com.win.module.wms.controller.transferissueRequest.vo.*; +import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; +import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; @@ -22,6 +21,8 @@ public interface TransferissueRequestMainConvert { TransferissueRequestMainConvert INSTANCE = Mappers.getMapper(TransferissueRequestMainConvert.class); + TransferissueRequestMainDO convert(TransferissueRequestMainBaseVO bean); + TransferissueRequestMainDO convert(TransferissueRequestMainCreateReqVO bean); TransferissueRequestMainDO convert(TransferissueRequestMainUpdateReqVO bean); @@ -34,4 +35,6 @@ public interface TransferissueRequestMainConvert { List convertList02(List list); + TransferissueRequestMainImportErrorVO convert(TransferissueRequestMainCreateReqVO mainVo, TransferissueRequestDetailDO detailDo); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java index f6588fef..bcef34f7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java @@ -104,7 +104,7 @@ public class BalanceServiceImpl implements BalanceService { @Override public List selectPackaging(String itemCode, String packingNumber, String batch, List inventoryStatus, String locationCode) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("item_code", itemCode); queryWrapper.eq("packing_number", packingNumber); queryWrapper.eq("batch", batch); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java index 612ddf9b..e6d01ade 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java @@ -216,7 +216,6 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest private String validateInventorymoveRequestMainImport(InventorymoveRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { StringBuilder message = new StringBuilder(); - mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); mainDo.setCreateTime(LocalDateTime.now()); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("MoveRequest"); if (requestsettingDO == null) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java index 3bbd7a05..7125f7e8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java @@ -87,8 +87,6 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque @Resource private JobUtils jobUtils; - @Resource - private BusinesstypeService businesstypeService; @Resource private Validator validator; @@ -97,7 +95,6 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque @Resource private SerialNumberApi serialNumberApi; - @Resource private DictDataApi dictDataApi; @Resource @@ -297,7 +294,6 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); } - if (businesstypeDO == null) { message.append("根据单据设置未查找到制品上架申请的相关业务类型"); } else { @@ -325,10 +321,8 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque jobUtils.ifInToLocationType(fromlocationcode,bus); } - List selectlocationReturnManagement(String ItemCode, String packingNumber, - String batch , String fromLocationCode , List business){ - List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(ItemCode, packingNumber, - batch,fromLocationCode, business); + List selectlocationReturnManagement(String ItemCode, String packingNumber, String batch, String fromLocationCode ,List business){ + List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(ItemCode, packingNumber, batch,fromLocationCode, business); return balanceDO; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestDetailServiceImpl.java index 424f5da5..20ea9abe 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestDetailServiceImpl.java @@ -1,14 +1,33 @@ package com.win.module.wms.service.transferissueRequest; import com.win.framework.common.pojo.CustomConditions; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO; import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailCreateReqVO; import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailExportReqVO; import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailPageReqVO; import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailUpdateReqVO; +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.itembasic.ItembasicDO; +import com.win.module.wms.dal.dataobject.location.LocationDO; +import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO; +import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; +import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; +import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; +import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.service.itembasic.ItembasicService; +import com.win.module.wms.service.location.LocationService; +import com.win.module.wms.service.requestsetting.RequestsettingService; +import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; +import java.time.LocalDateTime; import java.util.*; import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; @@ -25,6 +44,7 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; * * @author 超级管理员 */ + @Service @Validated public class TransferissueRequestDetailServiceImpl implements TransferissueRequestDetailService { @@ -32,14 +52,80 @@ public class TransferissueRequestDetailServiceImpl implements TransferissueReque @Resource private TransferissueRequestDetailMapper transferissueRequestDetailMapper; + @Resource + private ItembasicService itembasicService; + + @Resource + private LocationService locationService; + + @Resource + private JobUtils jobUtils; + + @Resource + private TrendsApi trendsApi; + + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private RequestsettingService requestsettingService; @Override public Long createTransferissueRequestDetail(TransferissueRequestDetailCreateReqVO createReqVO) { + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); // 插入 - TransferissueRequestDetailDO transferissueRequestDetail = TransferissueRequestDetailConvert.INSTANCE.convert(createReqVO); - transferissueRequestDetailMapper.insert(transferissueRequestDetail); - // 返回 + TransferissueRequestDetailDO transferissueRequestDetail = validatorToCreate(createReqVO,requestsettingDO); + + trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了调拨出库申请", TrendsTypeEnum.CREATE); return transferissueRequestDetail.getId(); } + + private List validatebalance(TransferissueRequestDetailDO detailDo){ + List inventoryStatus = new ArrayList<>(); + inventoryStatus.add(detailDo.getInventoryStatus()); + List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getToLocationCode(), inventoryStatus); + return balanceDO; + } + + private LocationDO validatorLocation(String Location){ + + return locationService.selectLocation(Location); + } + + private TransferissueRequestDetailDO validatorToCreate(TransferissueRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); + TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convert(createReqVO); + transferissueRequestDetailDO = validateDetailMethod(transferissueRequestDetailDO,businesstypeDO); + String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode()); + transferissueRequestDetailDO.setNumber(number); + transferissueRequestDetailDO.setMasterId(createReqVO.getMasterId()); + transferissueRequestDetailMapper.insert(transferissueRequestDetailDO); + return transferissueRequestDetailDO; + + } + + + + private ItembasicDO validatorItembasic(String itemCode) { + return itembasicService.selectItembasic(itemCode); + } + + private TransferissueRequestDetailDO validateDetailMethod(TransferissueRequestDetailDO transferissueRequestDetailDO, BusinesstypeDO businesstypeDO) { + transferissueRequestDetailDO.setCreateTime(LocalDateTime.now()); + ItembasicDO item = validatorItembasic(transferissueRequestDetailDO.getItemCode()); + transferissueRequestDetailDO.setItemDesc1(item.getDesc1()); + transferissueRequestDetailDO.setItemDesc2(item.getDesc2()); + transferissueRequestDetailDO.setItemName(item.getName()); + transferissueRequestDetailDO.setUom(item.getUom()); + transferissueRequestDetailDO.setProjectCode(item.getProject()); + validatorLocation(transferissueRequestDetailDO.getToLocationCode()); + jobUtils.ifInToLocationType(transferissueRequestDetailDO.getToLocationCode(), businesstypeDO); + jobUtils.ifOutInventoryStatuses(transferissueRequestDetailDO.getInventoryStatus(), businesstypeDO); + validatebalance(transferissueRequestDetailDO); + return transferissueRequestDetailDO; + } + + + + @Override public PageResult getTransferissueRequestDetailSenior(CustomConditions conditions) { return transferissueRequestDetailMapper.selectSenior(conditions); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java index c3418cfe..34aa1222 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java @@ -1,42 +1,48 @@ package com.win.module.wms.service.transferissueRequest; import cn.hutool.core.collection.CollUtil; -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.common.util.validation.ValidationUtils; import com.win.framework.dict.core.util.DictFrameworkUtils; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailUpdateReqVO; +import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainUpdateReqVO; import com.win.module.wms.controller.transferissueRequest.vo.*; +import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestDetailConvert; import com.win.module.wms.convert.transferissueRequest.TransferissueRequestDetailConvert; import com.win.module.wms.convert.transferissueRequest.TransferissueRequestMainConvert; 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.itembasic.ItembasicDO; +import com.win.module.wms.dal.dataobject.location.LocationDO; +import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO; +import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestDetailMapper; import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestMainMapper; import com.win.module.wms.enums.DictTypeConstants; -import com.win.module.wms.service.businesstype.BusinesstypeService; +import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.enums.request.RequestStatusState; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.requestsetting.RequestsettingService; -import com.win.module.wms.service.shift.ShiftService; -import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; -import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.validation.annotation.Validated; - import javax.annotation.Resource; +import javax.validation.Validator; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collection; import java.util.List; - import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; +import static com.win.module.wms.enums.ErrorCodeConstants.TIME_AFTER; import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_REQUEST_MAIN_NOT_EXISTS; /** @@ -53,39 +59,119 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest @Resource private TransferissueRequestDetailMapper transferissueRequestDetailMapper; @Resource - private ShiftService shiftService; + private LocationService locationService; @Resource private ItembasicService itembasicService; @Resource - private SupplieritemService supplieritemService; + private Validator validator; @Resource private JobUtils jobUtils; @Resource - private LocationService locationService; - @Resource private SerialNumberApi serialNumberApi; @Resource private RequestsettingService requestsettingService; - @Resource - private BusinesstypeService businesstypeService; + @Resource + private TrendsApi trendsApi; @Override public Long createTransferissueRequestMain(TransferissueRequestMainCreateReqVO createReqVO) { - // 插入 - TransferissueRequestMainDO transferissueRequestMain = TransferissueRequestMainConvert.INSTANCE.convert(createReqVO); - transferissueRequestMainMapper.insert(transferissueRequestMain); - // 返回 - return transferissueRequestMain.getId(); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); + TransferissueRequestMainDO transferissueRequestMainDO = validatorToCreate(createReqVO,requestsettingDO); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(transferissueRequestMainDO.getStatus())) { + + } + trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了调拨出库申请", TrendsTypeEnum.CREATE); + return transferissueRequestMainDO.getId(); + } + + private TransferissueRequestMainDO validatorToCreate(TransferissueRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); + TransferissueRequestMainDO transferissueRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); + List subList = createReqVO.getSubList(); + List subDOList = TransferissueRequestDetailConvert.INSTANCE.convertList03(subList); + for(TransferissueRequestDetailDO transferissueRequestDetailDO: subDOList){ + validateDetailMethod(transferissueRequestDetailDO,businesstypeDO,transferissueRequestMainDO); + } + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); + transferissueRequestMainDO.setNumber(number); + transferissueRequestMainMapper.insert(transferissueRequestMainDO); + for(TransferissueRequestDetailDO transferissueRequestDetailDO: subDOList){ + transferissueRequestDetailDO.setMasterId(transferissueRequestMainDO.getId()); + transferissueRequestDetailDO.setNumber(transferissueRequestMainDO.getNumber()); + } + transferissueRequestDetailMapper.insertBatch(subDOList); + return transferissueRequestMainDO; + } + + + + private void validateDetailMethod(TransferissueRequestDetailDO transferissueRequestDetailDO, BusinesstypeDO businesstypeDO, TransferissueRequestMainDO transferissueRequestMainDO) { + transferissueRequestDetailDO.setCreateTime(LocalDateTime.now()); + ItembasicDO item = validatorItembasic(transferissueRequestDetailDO.getItemCode()); + transferissueRequestDetailDO.setItemDesc1(item.getDesc1()); + transferissueRequestDetailDO.setItemDesc2(item.getDesc2()); + transferissueRequestDetailDO.setItemName(item.getName()); + transferissueRequestDetailDO.setUom(item.getUom()); + transferissueRequestDetailDO.setProjectCode(item.getProject()); + validatorLocation(transferissueRequestDetailDO.getToLocationCode()); + jobUtils.ifInToLocationType(transferissueRequestDetailDO.getToLocationCode(), businesstypeDO); + jobUtils.ifOutInventoryStatuses(transferissueRequestDetailDO.getInventoryStatus(), businesstypeDO); + List balance = validatebalance(transferissueRequestDetailDO); + for(BalanceDO balancedo: balance ) { + transferissueRequestMainDO.setFromWarehouseCode(balancedo.getWarehouseCode()); + } } + + private TransferissueRequestMainDO validateMainMethod(TransferissueRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ + TransferissueRequestMainDO transferissueRequestMainDO = TransferissueRequestMainConvert.INSTANCE.convert(baseVO); + transferissueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "1")); + transferissueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); + transferissueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); + transferissueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); + transferissueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); + transferissueRequestMainDO.setBusinessType(businesstypeDO.getCode()); + transferissueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + transferissueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); + transferissueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + transferissueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); + return transferissueRequestMainDO; + } + + + + + @Override public void updateTransferissueRequestMain(TransferissueRequestMainUpdateReqVO updateReqVO) { + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); // 校验存在 validateTransferissueRequestMainExists(updateReqVO.getId()); // 更新 - TransferissueRequestMainDO updateObj = TransferissueRequestMainConvert.INSTANCE.convert(updateReqVO); - transferissueRequestMainMapper.updateById(updateObj); + TransferissueRequestMainDO transferissueRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); + if(RequestStatusEnum.HANDLING.getCode().equals(transferissueRequestMainDO.getStatus())) { + + } + trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了调拨出库申请", TrendsTypeEnum.CREATE); + } + + private TransferissueRequestMainDO validatorToUpdate(TransferissueRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); + TransferissueRequestMainDO transferissueRequestMainDO = validateMainMethod(updateReqVO,businesstypeDO,requestsettingDO); + //子表校验 + List subList = updateReqVO.getSubList(); + if(!subList.isEmpty()) { + List subDOList = TransferissueRequestDetailConvert.INSTANCE.convertList05(subList); + for (TransferissueRequestDetailDO transferissueRequestDetailDO : subDOList) { + validateDetailMethod(transferissueRequestDetailDO, businesstypeDO, transferissueRequestMainDO); + } + transferissueRequestDetailMapper.updateBatch(subDOList); + } + transferissueRequestMainMapper.updateById(transferissueRequestMainDO); + return transferissueRequestMainDO; + } @Override @@ -127,116 +213,148 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest return transferissueRequestMainMapper.selectList(exportReqVO); } + private ItembasicDO validatorItembasic(String itemCode) { + return itembasicService.selectItembasic(itemCode); + } + + private LocationDO validatorLocation(String Location){ + + return locationService.selectLocation(Location); + } + + private void validordurtime(LocalDateTime durtime){ + if(!durtime.isAfter(LocalDateTime.now())){ + throw exception(TIME_AFTER,LocalDateTime.now(),durtime); + } + } + + private String validateTransferissueRequestMainImport(TransferissueRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { + StringBuilder message = new StringBuilder(); + mainDo.setRequestTime(LocalDateTime.now()); + mainDo.setCreateTime(LocalDateTime.now()); + try { + validordurtime(mainDo.getDueTime()); + } catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); + if (requestsettingDO == null) { + message.append("未查找到制品上架申请的相关申请设置"); + } else { + mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); + mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); + mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); + mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); + } + if (businesstypeDO == null) { + message.append("根据单据设置未查找到制品上架申请的相关业务类型"); + } else { + mainDo.setBusinessType(businesstypeDO.getCode()); + mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes()); + mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes()); + } + try { + ValidationUtils.validate(validator, mainDo); + } catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + + + return message.toString(); + } + private List validatebalance(TransferissueRequestDetailDO detailDo){ + List inventoryStatus = new ArrayList<>(); + inventoryStatus.add(detailDo.getInventoryStatus()); + List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getToLocationCode(), inventoryStatus); + return balanceDO; + } + + + private String validateTransferissueRequestDetailImport(TransferissueRequestDetailDO detailDo, TransferissueRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { + StringBuilder message = new StringBuilder(); + detailDo.setCreateTime(LocalDateTime.now()); + try{ + ItembasicDO item = validatorItembasic(detailDo.getItemCode()); + detailDo.setItemDesc1(item.getDesc1()); + detailDo.setItemDesc2(item.getDesc2()); + detailDo.setItemName(item.getName()); + detailDo.setUom(item.getUom()); + detailDo.setProjectCode(item.getProject()); + }catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + try{ + LocationDO location = validatorLocation(detailDo.getToLocationCode()); + }catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + try{ + jobUtils.ifInToLocationType(detailDo.getToLocationCode(), businesstypeDO); + }catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + try{ + jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); + }catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + try{ + List balance = validatebalance(detailDo); + for(BalanceDO balancedo: balance ){ + mainDo.setFromWarehouseCode(balancedo.getWarehouseCode()); + } + }catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + return message.toString(); + } + + public List importTransferissueRequestMainList(List datas, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(datas)) { - throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); + throw exception(TRANSFERISSUE_REQUEST_MAIN_NOT_EXISTS); } List errorList = new ArrayList<>(); datas.forEach(createReqVO -> { - // 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList - String messageMain = ""; - //主表的验证 - //子表的验证 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); + TransferissueRequestMainDO mainDo = TransferissueRequestMainConvert.INSTANCE.convert(createReqVO); + String messageMain = validateTransferissueRequestMainImport(mainDo, businesstypeDO); List subList = createReqVO.getSubList(); List subDOList = TransferissueRequestDetailConvert.INSTANCE.convertList03(subList); - for (TransferissueRequestDetailDO purchasePlanDetailDO : subDOList) { - String messageDetail = ""; - // 校验物品基础信息 - try { - ItembasicDO itembasicDO = itembasicService.selectItembasic(purchasePlanDetailDO.getItemCode()); - if (itembasicDO.getUom() != purchasePlanDetailDO.getUom()) { - messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + purchasePlanDetailDO.getUom() + ","; - } else { - purchasePlanDetailDO.setItemDesc1(itembasicDO.getDesc1()); - purchasePlanDetailDO.setItemDesc2(itembasicDO.getDesc2()); - purchasePlanDetailDO.setItemName(itembasicDO.getName()); - purchasePlanDetailDO.setProjectCode(itembasicDO.getProject()); - } - } catch (ServiceException ex) { - messageDetail += ex.getMessage() + ","; - } - // 校验业务类型 - try { - BusinesstypeDO businesstypeDO = businesstypeService.selectBusinesstypeExist("UnplannedReceipt"); - jobUtils.ifInToLocationType(purchasePlanDetailDO.getToLocationCode(), businesstypeDO); -// jobUtils.ifInToLocationType(createReqVO.GETf(), businesstypeDO); - jobUtils.ifOutInventoryStatuses(purchasePlanDetailDO.getInventoryStatus(), businesstypeDO); - } catch (ServiceException ex) { - messageDetail += ex.getMessage() + ","; - } - // 校验库存余额是否存在 - try { - List inventoryStatus = new ArrayList<>(); - inventoryStatus.add(purchasePlanDetailDO.getInventoryStatus()); - List balanceDOList = jobUtils.selectlocationReturnManagementAccuracy(purchasePlanDetailDO.getItemCode(), purchasePlanDetailDO.getPackingNumber() - , purchasePlanDetailDO.getBatch(), purchasePlanDetailDO.getToLocationCode(), inventoryStatus); - } catch (ServiceException ex) { - messageDetail += ex.getMessage() + ","; - } - - TransferissueRequestDetailCreateReqVO purchasePlanDetailCreateReqVO = TransferissueRequestDetailConvert.INSTANCE.convert1(purchasePlanDetailDO); - TransferissueRequestMainImportErrorVO importVO = TransferissueRequestDetailConvert.INSTANCE.convert(createReqVO, purchasePlanDetailCreateReqVO); - //进行子表的错误统计 - //主表没有错误 写入库里 - if (!messageMain.equals("") || !messageDetail.equals("")) { - importVO.setImportStatus("失败"); + boolean flag = true; + for (TransferissueRequestDetailDO detailDO : subDOList) { + String messageDetail = validateTransferissueRequestDetailImport(detailDO, mainDo, businesstypeDO); + if (!"".equals(messageMain) ||!"".equals(messageDetail) ) { + TransferissueRequestMainImportErrorVO importErrorVO = TransferissueRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); + importErrorVO.setImportStatus("失败"); messageMain = messageMain + messageDetail; - importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); - errorList.add(importVO); - } else { - purchasePlanDetailDO.setNumber(createReqVO.getNumber()); - purchasePlanDetailDO.setMasterId(createReqVO.getId()); + importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); + errorList.add(importErrorVO); + flag = false; } } - - if (errorList.isEmpty()) { - TransferissueRequestMainDO existPurchaseclaimRequestMainDO = transferissueRequestMainMapper.selectByCarrierCode(createReqVO.getCarrierCode()); - // 判断如果不存在,在进行插入 - if (existPurchaseclaimRequestMainDO == null &&mode != 3) { - createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); - if (businesstypeDO != null) { - createReqVO.setBusinessType(businesstypeDO.getCode()); - } - String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_REQUEST.getCode()); - createReqVO.setNumber(number); - - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); - if (requestsettingDO != null) { - createReqVO.setAutoAgree(requestsettingDO.getAutoAgree()); - createReqVO.setAutoCommit(requestsettingDO.getAutoCommit()); - createReqVO.setAutoExecute(requestsettingDO.getAutoExecute()); - createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); - } - TransferissueRequestMainDO createObj = TransferissueRequestMainConvert.INSTANCE.convert(createReqVO); - transferissueRequestMainMapper.insert(createObj); - transferissueRequestDetailMapper.insertBatch(subDOList); - } else if (existPurchaseclaimRequestMainDO == null &&mode != 2) { - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); - if (businesstypeDO != null) { - createReqVO.setBusinessType(businesstypeDO.getCode()); - } - String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_REQUEST.getCode()); - createReqVO.setNumber(number); - - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); - if (requestsettingDO != null) { - createReqVO.setAutoAgree(requestsettingDO.getAutoAgree()); - createReqVO.setAutoCommit(requestsettingDO.getAutoCommit()); - createReqVO.setAutoExecute(requestsettingDO.getAutoExecute()); - createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); - } - TransferissueRequestMainDO createObj = TransferissueRequestMainConvert.INSTANCE.convert(createReqVO); - transferissueRequestMainMapper.updateById(createObj); - transferissueRequestDetailMapper.updateBatch(subDOList); + //写入数据 + if (flag) { + String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_PUTAWAY_REQUEST.getCode()); + mainDo.setNumber(number); + RequestStatusState requestStatusState = new RequestStatusState(); + requestStatusState.newObject(mainDo.getAutoCommit(), mainDo.getAutoAgree(), mainDo.getAutoExecute()); + mainDo.setStatus(requestStatusState.getState().getCode()); + transferissueRequestMainMapper.insert(mainDo); + for (TransferissueRequestDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDo.getId()); + detailDO.setNumber(number); } + transferissueRequestDetailMapper.insertBatch(subDOList); } }); - //错误不为空并非部分更新,手工回滚 - if (!errorList.isEmpty() && !updatePart) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } return errorList; } + + + }