From 66d8e2eb12b13d33cfafebdfbbb6d896cc9dcb5e Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Tue, 12 Dec 2023 19:20:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8A=A5=E5=BA=9F=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scrapJob/vo/ScrapJobDetailPageReqVO.java | 3 +++ .../vo/ScrapRecordDetailExportReqVO.java | 3 +++ .../vo/ScrapRecordDetailPageReqVO.java | 3 +++ .../ScrapRequestMainController.java | 8 ++++---- .../scrapRequest/vo/ScrapRequestImportVO.java | 7 +++---- .../scrapRequest/ScrapRequestMainConvert.java | 4 +--- .../scrapRecord/ScrapRecordMainDO.java | 4 ++-- .../mysql/scrapJob/ScrapJobDetailMapper.java | 1 + .../scrapRecord/ScrapRecordDetailMapper.java | 2 ++ .../scrapJob/ScrapJobMainServiceImpl.java | 11 +++++++---- .../ScrapRecordMainServiceImpl.java | 19 +++++++++---------- .../ScrapRequestMainServiceImpl.java | 4 ++-- 12 files changed, 40 insertions(+), 29 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailPageReqVO.java index 0c2ccaf4..99205099 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailPageReqVO.java @@ -72,4 +72,7 @@ public class ScrapJobDetailPageReqVO extends PageParam { @Schema(description = "创建者Id") private String creator; + @Schema(description = "主键ID") + private String masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java index 165c1f4c..6483b012 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java @@ -91,4 +91,7 @@ public class ScrapRecordDetailExportReqVO { @Schema(description = "任务明细ID") private String jobDetailId; + @Schema(description = "主键ID") + private String masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailPageReqVO.java index 4ba0b106..8dd62a80 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailPageReqVO.java @@ -93,4 +93,7 @@ public class ScrapRecordDetailPageReqVO extends PageParam { @Schema(description = "任务明细ID") private String jobDetailId; + @Schema(description = "主键ID") + private String masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java index eec1c957..73abd2a6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java @@ -102,7 +102,7 @@ public class ScrapRequestMainController { } @PostMapping("/senior") - @Operation(summary = "高级搜索获得物品基本信息分页") + @Operation(summary = "高级搜索获得报废出库分页") @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:query')") public CommonResult> getScrapRequestMainSenior(@Valid @RequestBody CustomConditions conditions) { PageResult pageResult = scrapRequestMainService.getScrapRequestMainSenior(conditions); @@ -116,17 +116,17 @@ public class ScrapRequestMainController { } @GetMapping("/get-import-template") - @Operation(summary = "获得导入制品报废申请信息模板") + @Operation(summary = "获得报废出库基本信息模板") public void importTemplate(HttpServletResponse response) throws IOException { List list = new ArrayList<>(); Map mapDropDown = new HashMap<>(); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); mapDropDown.put(7, uom); - ExcelUtils.write(response, "制品报废申请信息导入模板.xlsx", "制品报废申请信息列表", ScrapRequestImportVO.class, list,mapDropDown); + ExcelUtils.write(response, "报废出库申请信息导入模板.xlsx", "报废出库申请信息列表", ScrapRequestImportVO.class, list,mapDropDown); } @PostMapping("/import") - @Operation(summary = "导入制品报废申请基本信息") + @Operation(summary = "导入报废出库请基本信息") @Parameters({ @Parameter(name = "file", description = "Excel 文件", required = true), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestImportVO.java index 9ba3c599..9b4c296d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestImportVO.java @@ -3,6 +3,7 @@ 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 io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -24,13 +25,12 @@ import java.time.LocalDateTime; @Accessors(chain = false) // 设置 chain = false,避免用户导入有问题 public class ScrapRequestImportVO { - @ExcelProperty("单据号") - private String number; + @ExcelProperty("从仓库代码") + private String fromWarehouseCode; @ExcelProperty("截止时间") private LocalDateTime dueTime; - @ExcelProperty("零件号") @NotBlank(message = "物品代码不能为空") private String itemCode; @@ -44,7 +44,6 @@ public class ScrapRequestImportVO { @ExcelProperty("批次") private String batch; - @ExcelProperty("数量") private BigDecimal qty; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapRequest/ScrapRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapRequest/ScrapRequestMainConvert.java index 215784bb..847722cf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapRequest/ScrapRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapRequest/ScrapRequestMainConvert.java @@ -29,9 +29,7 @@ import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; public interface ScrapRequestMainConvert { ScrapRequestMainConvert INSTANCE = Mappers.getMapper(ScrapRequestMainConvert.class); - @Mappings({ - @Mapping(source = "mainVo.number", target = "number"), - }) + ScrapRequestImportErrorVO convert(ScrapRequestMainCreateReqVO mainVo, ScrapRequestDetailDO detailDo); ScrapRequestMainDO convert(ScrapRequestMainBaseVO bean); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRecord/ScrapRecordMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRecord/ScrapRecordMainDO.java index e43156e7..b94b307a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRecord/ScrapRecordMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRecord/ScrapRecordMainDO.java @@ -27,8 +27,8 @@ public class ScrapRecordMainDO extends BaseDO { /** * id */ - @TableId(type = IdType.INPUT) - private String id; + @TableId + private Long id; /** * 申请单号 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java index 510a1f33..17155a23 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java @@ -41,6 +41,7 @@ public interface ScrapJobDetailMapper extends BaseMapperX { .eqIfPresent(ScrapJobDetailDO::getRemark, reqVO.getRemark()) .betweenIfPresent(ScrapJobDetailDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(ScrapJobDetailDO::getCreator, reqVO.getCreator()) + .eqIfPresent(ScrapJobDetailDO::getMasterId, reqVO.getMasterId()) .orderByDesc(ScrapJobDetailDO::getId)); } default PageResult selectSenior(CustomConditions conditions) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRecord/ScrapRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRecord/ScrapRecordDetailMapper.java index c47d03ca..47ed7bab 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRecord/ScrapRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRecord/ScrapRecordDetailMapper.java @@ -47,6 +47,7 @@ public interface ScrapRecordDetailMapper extends BaseMapperX selectSenior(CustomConditions conditions) { @@ -79,6 +80,7 @@ public interface ScrapRecordDetailMapper extends BaseMapperX getScrapJobMainList(ScrapJobMainExportReqVO exportReqVO) { return scrapJobMainMapper.selectList(exportReqVO); } + @Override public ScrapJobMainDO scrapJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); @@ -159,6 +160,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { return map; } + @Transactional @Override public int acceptScrapJobMain(Long id) { ScrapJobMainDO acceptJobMainDO = this.validateScrapJobMainExists(id); @@ -176,6 +178,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { return scrapJobMainMapper.updateById(acceptJobMainDO); } + @Transactional @Override public int abandonScrapJobMain(Long id) { ScrapJobMainDO acceptJobMainDO = this.validateScrapJobMainExists(id); @@ -191,6 +194,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { return scrapJobMainMapper.updateById(acceptJobMainDO); } + @Transactional @Override public int closeScrapJobMain(Long id) { ScrapJobMainDO acceptJobMainDO = this.validateScrapJobMainExists(id); @@ -203,6 +207,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { return scrapJobMainMapper.updateById(acceptJobMainDO); } + @Transactional @Override public String executeScrapJobMain(ScrapJobMainUpdateReqVO updateReqVO) { // 查询任务主表与子表 @@ -248,8 +253,6 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { // 创建报废出库记录明细 List reqSubList = updateReqVO.getSubList(); List scrapRecordDetailDOList = new ArrayList<>(); - - List scrapRequestDetailCreateReqVOList = new ArrayList<>(); //库存事务 List transactionCreateReqVOList = new ArrayList<>(); for(ScrapJobDetailDO scrapJobDetailDO:subList) { @@ -281,7 +284,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { BeanUtils.copyProperties(scrapJobDetailDO, transactionCreateReqVO); //增加业务类型 transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); transactionCreateReqVO.setBusinessType(scrapJobMainDO.getBusinessType()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java index ffa916b7..7328432c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java @@ -1,24 +1,23 @@ package com.win.module.wms.service.scrapRecord; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainExportReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainPageReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainUpdateReqVO; +import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; +import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; +import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import java.util.*; - -import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; -import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; +import javax.annotation.Resource; +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.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_RECORD_MAIN_NOT_EXISTS; /** * 报废出库记录主 Service 实现类 @@ -38,7 +37,7 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService { ScrapRecordMainDO scrapRecordMain = ScrapRecordMainConvert.INSTANCE.convert(createReqVO); scrapRecordMainMapper.insert(scrapRecordMain); // 返回 - return scrapRecordMain.getId(); + return String.valueOf(scrapRecordMain.getId()); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java index 9a8e31f5..234e46cb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java @@ -251,7 +251,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { for (ScrapRequestDetailDO scrapRequestDetailDO : subDOList) { validateDetailMethod(scrapRequestDetailDO, businesstypeDO, scrapRequestMainDO); } - String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_REQUEST.getCode()); scrapRequestMainDO.setNumber(number); AdminUserRespDTO adminUserRespDTO = userApi.getUser(getLoginUserId()); scrapRequestMainDO.setDepartmentCode(String.valueOf(adminUserRespDTO.getDeptId())); @@ -439,7 +439,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { try{ LocationDO locationDO = validatorLocation(detailDo.getFromLocationCode()); mainDo.setFromAreaCodes(locationDO.getAreaCode()); - mainDo.setFromLocationTypes(locationDO.getCode()); + mainDo.setFromLocationTypes(locationDO.getType()); }catch (Exception ex) { message.append(ex.getMessage()).append(","); } From 46a3d5ca75c61ccaf37161ab2ac3abc6a14ec56c Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Wed, 13 Dec 2023 08:23:36 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=AD=96=E7=95=A5=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CountRecordMainController.java | 12 +- .../vo/CountRecordDetailBaseVO.java | 2 - .../vo/CountRecordMainCreateReqVO.java | 10 +- .../InspectRecordMainController.java | 12 +- .../vo/InspectRecordDetailBaseVO.java | 1 - .../vo/InspectRecordMainBaseVO.java | 2 - .../vo/InspectRecordMainCreateReqVO.java | 10 +- .../PurchasereceiptRecordMainController.java | 15 +- .../vo/PurchasereceiptRecordMainBaseVO.java | 2 - .../PurchasereceiptRecordMainCreateReqVO.java | 10 +- .../PutawayRecordMainController.java | 14 +- .../vo/PutawayRecordMainCreateReqVO.java | 10 +- .../countRecord/CountRecordDetailConvert.java | 9 +- .../InspectRecordDetailConvert.java | 9 +- .../PurchasereceiptRecordDetailConvert.java | 9 +- .../PutawayRecordDetailConvert.java | 9 +- .../dal/mysql/itembasic/ItembasicMapper.java | 3 +- .../dal/mysql/location/LocationMapper.java | 6 +- .../dal/mysql/supplier/SupplierMapper.java | 10 +- .../countRecord/CountRecordMainService.java | 8 + .../CountRecordMainServiceImpl.java | 31 ++ .../CountRequestMainServiceImpl.java | 2 +- .../InspectRecordMainService.java | 8 + .../InspectRecordMainServiceImpl.java | 58 ++- .../InspectRequestMainServiceImpl.java | 6 +- .../IssueRequestMainServiceImpl.java | 16 +- .../service/location/LocationServiceImpl.java | 28 +- ...roductionreturnRequestMainServiceImpl.java | 10 +- .../purchase/PurchaseMainServiceImpl.java | 3 +- .../PurchasereceiptJobMainServiceImpl.java | 6 +- .../PurchasereceiptRecordMainService.java | 8 + .../PurchasereceiptRecordMainServiceImpl.java | 39 +- ...PurchasereceiptRequestMainServiceImpl.java | 32 +- .../PutawayRecordMainService.java | 8 + .../PutawayRecordMainServiceImpl.java | 41 ++ .../PutawayRequestMainServiceImpl.java | 9 +- .../module/wms/service/rule/RuleService.java | 87 +--- .../wms/service/rule/RuleServiceImpl.java | 390 +++++++----------- .../service/supplier/SupplierServiceImpl.java | 59 +-- ...SupplierdeliverRequestMainServiceImpl.java | 5 +- .../transaction/TransactionServiceImpl.java | 4 +- .../com/win/module/wms/util/JobUtils.java | 45 +- 42 files changed, 564 insertions(+), 494 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java index 54860d34..bd1d9dcf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java @@ -8,10 +8,7 @@ import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO; +import com.win.module.wms.controller.countRecord.vo.*; import com.win.module.wms.convert.countRecord.CountRecordMainConvert; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; @@ -51,6 +48,13 @@ public class CountRecordMainController { @Resource private AdminUserApi userApi; + @PostMapping("/create") + @Operation(summary = "创建盘点记录") + @PreAuthorize("@ss.hasPermission('wms:count-record-main:create')") + public CommonResult createCountRecordMain(@Valid @RequestBody CountRecordMainCreateReqVO createReqVO) { + return success(countRecordMainService.createCountRecordMain(createReqVO)); + } + @GetMapping("/page") @Operation(summary = "获得盘点记录主分页") @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java index ba31bc09..9e39012e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java @@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; -import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -21,7 +20,6 @@ public class CountRecordDetailBaseVO { private Long id; @Schema(description = "盘点明细号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "盘点明细号不能为空") private String countDetailNumber; @Schema(description = "货主代码") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainCreateReqVO.java index c0181647..ece61930 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainCreateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.countRecord.vo; -import lombok.*; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 盘点记录主创建 Request VO") @Data @@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class CountRecordMainCreateReqVO extends CountRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/InspectRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/InspectRecordMainController.java index 2ac832f6..afbe6287 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/InspectRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/InspectRecordMainController.java @@ -8,10 +8,7 @@ import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExcelVO; -import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO; -import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO; -import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainRespVO; +import com.win.module.wms.controller.inspectRecord.vo.*; import com.win.module.wms.convert.inspectRecord.InspectRecordMainConvert; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; @@ -50,6 +47,13 @@ public class InspectRecordMainController { @Resource private AdminUserApi userApi; + @PostMapping("/create") + @Operation(summary = "创建检验记录") + @PreAuthorize("@ss.hasPermission('wms:inspect-record-main:create')") + public CommonResult createInspectRecordMain(@Valid @RequestBody InspectRecordMainCreateReqVO createReqVO) { + return success(inspectRecordMainService.createInspectRecordMain(createReqVO)); + } + @GetMapping("/page") @Operation(summary = "获得检验记录主分页") @PreAuthorize("@ss.hasPermission('wms:inspect-record-main:query')") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordDetailBaseVO.java index e4425022..779bc7d9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordDetailBaseVO.java @@ -90,7 +90,6 @@ public class InspectRecordDetailBaseVO { private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainBaseVO.java index 92a91506..d31edc7a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainBaseVO.java @@ -30,14 +30,12 @@ public class InspectRecordMainBaseVO { private Long id; @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "申请单号不能为空") private String requestNumber; @Schema(description = "任务单号") private String jobNumber; @Schema(description = "采购收货记录单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "采购收货记录单号不能为空") private String purchaseReceiptRecordNumber; @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainCreateReqVO.java index 583c4d8d..19b0fdbc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainCreateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.inspectRecord.vo; -import lombok.*; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 检验记录主创建 Request VO") @Data @@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class InspectRecordMainCreateReqVO extends InspectRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/PurchasereceiptRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/PurchasereceiptRecordMainController.java index 989233a8..9e3b033d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/PurchasereceiptRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/PurchasereceiptRecordMainController.java @@ -8,10 +8,7 @@ import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExcelVO; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainRespVO; +import com.win.module.wms.controller.purchasereceiptRecord.vo.*; import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; @@ -46,13 +43,19 @@ public class PurchasereceiptRecordMainController { private PurchasereceiptRecordMainService purchasereceiptRecordMainService; @Resource private PurchasereceiptRecordDetailService purchasereceiptRecordDetailService; - @Resource private AdminUserApi userApi; + @PostMapping("/create") + @Operation(summary = "创建采购收货记录") + @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-record-main:create')") + public CommonResult createPurchasereceiptRecordMain(@Valid @RequestBody PurchasereceiptRecordMainCreateReqVO createReqVO) { + return success(purchasereceiptRecordMainService.createPurchasereceiptRecordMain(createReqVO)); + } + @PostMapping("/senior") @Operation(summary = "高级搜索获得采购收货记录主信息分页") - @PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRecordMain:query')") + @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-record-main:query')") public CommonResult> getPurchasereceiptRecordMainSenior(@Valid @RequestBody CustomConditions conditions) { PageResult pageResult = purchasereceiptRecordMainService.getPurchasereceiptRecordMainSenior(conditions); PageResult result = PurchasereceiptRecordMainConvert.INSTANCE.convertPage(pageResult); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainBaseVO.java index a67ddb97..3ca10db4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainBaseVO.java @@ -24,7 +24,6 @@ public class PurchasereceiptRecordMainBaseVO { private Long id; @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "申请单号不能为空") private String requestNumber; @Schema(description = "任务单号") @@ -68,7 +67,6 @@ public class PurchasereceiptRecordMainBaseVO { private String inTransaction; @Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "执行时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime executeTime; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainCreateReqVO.java index 72dc968e..9fbc2aa6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainCreateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.purchasereceiptRecord.vo; -import lombok.*; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 采购收货记录主创建 Request VO") @Data @@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class PurchasereceiptRecordMainCreateReqVO extends PurchasereceiptRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/PutawayRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/PutawayRecordMainController.java index df0013db..00186e3b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/PutawayRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/PutawayRecordMainController.java @@ -8,10 +8,7 @@ import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExcelVO; -import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO; -import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO; -import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainRespVO; +import com.win.module.wms.controller.putawayRecord.vo.*; import com.win.module.wms.convert.putawayRecord.PutawayRecordMainConvert; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO; @@ -46,11 +43,16 @@ public class PutawayRecordMainController { private PutawayRecordMainService putawayRecordMainService; @Resource private PutawayRecordDetailService putawayRecordDetailService; - - @Resource private AdminUserApi userApi; + @PostMapping("/create") + @Operation(summary = "创建上架记录") + @PreAuthorize("@ss.hasPermission('wms:putaway-record-main:create')") + public CommonResult createPutawayRecordMain(@Valid @RequestBody PutawayRecordMainCreateReqVO createReqVO) { + return success(putawayRecordMainService.createPutawayRecordMain(createReqVO)); + } + @GetMapping("/page") @Operation(summary = "获得上架记录主分页") @PreAuthorize("@ss.hasPermission('wms:putaway-record-main:query')") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainCreateReqVO.java index edd5c38c..87a1bda8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainCreateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.putawayRecord.vo; -import lombok.*; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 上架记录主创建 Request VO") @Data @@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class PutawayRecordMainCreateReqVO extends PutawayRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordDetailConvert.java index 78ada80b..6badfa5c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordDetailConvert.java @@ -1,16 +1,15 @@ package com.win.module.wms.convert.countRecord; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExcelVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailRespVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; + +import java.util.List; /** * 盘点记录子 Convert @@ -34,4 +33,6 @@ public interface CountRecordDetailConvert { List convertList02(List list); + List convertList03(List list); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRecord/InspectRecordDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRecord/InspectRecordDetailConvert.java index ff3edfd9..5778bc53 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRecord/InspectRecordDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRecord/InspectRecordDetailConvert.java @@ -1,16 +1,15 @@ package com.win.module.wms.convert.inspectRecord; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailCreateReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailExcelVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailRespVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; + +import java.util.List; /** * 检验记录子 Convert @@ -34,4 +33,6 @@ public interface InspectRecordDetailConvert { List convertList02(List list); + List convertList03(List list); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRecord/PurchasereceiptRecordDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRecord/PurchasereceiptRecordDetailConvert.java index 1f767209..3f0a377c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRecord/PurchasereceiptRecordDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRecord/PurchasereceiptRecordDetailConvert.java @@ -1,16 +1,15 @@ package com.win.module.wms.convert.purchasereceiptRecord; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailCreateReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailExcelVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailRespVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; + +import java.util.List; /** * 采购收货记录子 Convert @@ -34,4 +33,6 @@ public interface PurchasereceiptRecordDetailConvert { List convertList02(List list); + List convertList03(List list); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRecord/PutawayRecordDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRecord/PutawayRecordDetailConvert.java index 1ba475e8..90817004 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRecord/PutawayRecordDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRecord/PutawayRecordDetailConvert.java @@ -1,16 +1,15 @@ package com.win.module.wms.convert.putawayRecord; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailCreateReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailExcelVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailRespVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO; + +import java.util.List; /** * 上架记录子 Convert @@ -34,4 +33,6 @@ public interface PutawayRecordDetailConvert { List convertList02(List list); + List convertList03(List list); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java index 0d6e7c81..f2d27e18 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java @@ -9,7 +9,6 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO; import com.win.module.wms.controller.itembasic.vo.ItembasicPageReqVO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; -import com.win.module.wms.dal.dataobject.owner.OwnerDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -23,7 +22,7 @@ import java.util.List; public interface ItembasicMapper extends BaseMapperX { default ItembasicDO selectByCode(String code) { - return selectOne(ItembasicDO::getCode, code); + return selectOne(ItembasicDO::getCode, code, ItembasicDO::getAvailable, "TRUE"); } default PageResult selectPage(ItembasicPageReqVO reqVO) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java index b4b2a17c..25b431fc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java @@ -7,7 +7,6 @@ import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.location.vo.LocationExportReqVO; import com.win.module.wms.controller.location.vo.LocationPageReqVO; -import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; import org.apache.ibatis.annotations.Mapper; @@ -79,7 +78,10 @@ public interface LocationMapper extends BaseMapperX { .orderByDesc(LocationDO::getId)); } - default LocationDO selectByCode(String code){return selectOne(LocationDO::getCode,code);}; + default LocationDO selectByCode(String code){ + return selectOne(LocationDO::getCode,code, LocationDO::getAvailable, "TRUE"); + } + default List selectSeniorList(CustomConditions conditions) { return selectList(QueryWrapperUtils.structure(conditions)); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java index c24fabe8..3db5a5f4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java @@ -1,20 +1,18 @@ package com.win.module.wms.dal.mysql.supplier; -import java.util.*; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.supplier.vo.SupplierExportReqVO; import com.win.module.wms.controller.supplier.vo.SupplierPageReqVO; -import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; -import com.win.module.wms.dal.dataobject.owner.OwnerDO; import com.win.module.wms.dal.dataobject.supplier.SupplierDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 供应商 Mapper * @@ -24,7 +22,7 @@ import org.apache.ibatis.annotations.Mapper; public interface SupplierMapper extends BaseMapperX { default SupplierDO selectByCode(String code) { - return selectOne(SupplierDO::getCode, code); + return selectOne(SupplierDO::getCode, code, SupplierDO::getAvailable, "TRUE"); } default PageResult selectPage(SupplierPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java index a398145b..cf9a3706 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java @@ -2,6 +2,7 @@ package com.win.module.wms.service.countRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; @@ -15,6 +16,13 @@ import java.util.List; */ public interface CountRecordMainService { + /** + * 创建盘点记录 + * @param createReqVO 盘点记录主 + * @return id + */ + Long createCountRecordMain(CountRecordMainCreateReqVO createReqVO); + /** * 获得盘点记录主分页 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java index 160cd5c9..faf3b1d1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java @@ -7,8 +7,12 @@ 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.countRecord.vo.CountRecordMainCreateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; +import com.win.module.wms.convert.countRecord.CountRecordDetailConvert; +import com.win.module.wms.convert.countRecord.CountRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO; @@ -18,8 +22,10 @@ import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper; import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -49,6 +55,31 @@ public class CountRecordMainServiceImpl implements CountRecordMainService { private CountadjustRequestDetailMapper countadjustRequestDetailMapper; @Resource private TrendsApi trendsApi; + @Resource + private JobUtils jobUtils; + + @Override + @Transactional + public Long createCountRecordMain(CountRecordMainCreateReqVO createReqVO) { + CountRecordMainDO mainDO = CountRecordMainConvert.INSTANCE.convert(createReqVO); + List subDOList = CountRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); + String number = serialNumberApi.generateCode(RuleCodeEnum.COUNT_RECORD.getCode()); + mainDO.setNumber(number); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRecord"); + mainDO.setBusinessType(businesstypeDO.getCode()); + countRecordMainMapper.insert(mainDO); + for (int i = 0; i < subDOList.size(); i++) { + CountRecordDetailDO detailDO = subDOList.get(i); + detailDO.setMasterId(mainDO.getId()); + detailDO.setNumber(number); + detailDO.setCountDetailNumber(String.valueOf(i+1)); + } + countRecordDetailMapper.insertBatch(subDOList); + //增加操作记录 + trendsApi.createTrends(mainDO.getId(), "countRecordMain", "增加了盘点记录", TrendsTypeEnum.CREATE); + // 返回 + return mainDO.getId(); + } @Override public PageResult getCountRecordMainPage(CountRecordMainPageReqVO pageReqVO) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java index f5e945a2..aed675d3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java @@ -131,7 +131,7 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { } countRequestDetailMapper.insertBatch(subDOList); //增加操作记录 - trendsApi.createTrends(requestsettingDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(mainDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE); //调用自动执行方法 if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { this.generateJob(mainDO, subDOList); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainService.java index 1952d861..4e5f8da2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainService.java @@ -2,6 +2,7 @@ package com.win.module.wms.service.inspectRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainCreateReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; @@ -15,6 +16,13 @@ import java.util.List; */ public interface InspectRecordMainService { + /** + * 创建检验记录 + * @param createReqVO 检验记录主 + * @return id + */ + Long createInspectRecordMain(InspectRecordMainCreateReqVO createReqVO); + /** * 获得检验记录主分页 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainServiceImpl.java index cbb149aa..a8af32db7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainServiceImpl.java @@ -1,25 +1,28 @@ package com.win.module.wms.service.inspectRecord; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +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.inspectRecord.vo.InspectRecordMainCreateReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO; -import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainUpdateReqVO; -import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; -import com.win.framework.common.pojo.PageResult; - +import com.win.module.wms.convert.inspectRecord.InspectRecordDetailConvert; import com.win.module.wms.convert.inspectRecord.InspectRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; +import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; +import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordDetailMapper; import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordMainMapper; +import com.win.module.wms.util.JobUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import javax.annotation.Resource; +import java.util.List; /** * 检验记录主 Service 实现类 @@ -32,6 +35,35 @@ public class InspectRecordMainServiceImpl implements InspectRecordMainService { @Resource private InspectRecordMainMapper inspectRecordMainMapper; + @Resource + private InspectRecordDetailMapper inspectRecordDetailMapper; + @Resource + private TrendsApi trendsApi; + @Resource + private JobUtils jobUtils; + @Resource + private SerialNumberApi serialNumberApi; + + @Override + @Transactional + public Long createInspectRecordMain(InspectRecordMainCreateReqVO createReqVO) { + InspectRecordMainDO mainDO = InspectRecordMainConvert.INSTANCE.convert(createReqVO); + List subDOList = InspectRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); + String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode()); + mainDO.setNumber(number); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord"); + mainDO.setBusinessType(businesstypeDO.getCode()); + inspectRecordMainMapper.insert(mainDO); + for (InspectRecordDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDO.getId()); + detailDO.setNumber(number); + } + inspectRecordDetailMapper.insertBatch(subDOList); + //增加操作记录 + trendsApi.createTrends(mainDO.getId(), "inspectRecordMain", "增加了检验记录", TrendsTypeEnum.CREATE); + // 返回 + return mainDO.getId(); + } @Override public PageResult getInspectRecordMainPage(InspectRecordMainPageReqVO pageReqVO) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java index a926621f..c61d9356 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java @@ -473,9 +473,9 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService BigDecimal result = BigDecimal.ZERO; for (Object o : aplList) { JSONObject parse = JSONUtil.parseObj(o); - BigDecimal floorQty = new BigDecimal(String.valueOf(parse.get("FloorQty"))); - BigDecimal ceilingQty = new BigDecimal(String.valueOf(parse.get("CeilingQty"))); - BigDecimal sampleValue = new BigDecimal(String.valueOf(parse.get("SampleValue"))); + BigDecimal floorQty = new BigDecimal(parse.getStr("FloorQty")); + BigDecimal ceilingQty = new BigDecimal(parse.getStr("CeilingQty")); + BigDecimal sampleValue = new BigDecimal(parse.getStr("SampleValue")); if (maxFloorQty.compareTo(floorQty) < 0) { maxFloorQty = floorQty; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java index 579f96ea..88aef484 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.exceptions.UtilException; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -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; @@ -19,29 +18,19 @@ import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO; import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO; import com.win.module.wms.controller.issueRequest.vo.*; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailCreateReqVO; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO; import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert; import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert; -import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordDetailConvert; -import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert; 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.countRequest.CountRequestDetailDO; -import com.win.module.wms.dal.dataobject.expectout.ExpectoutDO; import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO; import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO; 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.itempackaging.ItempackagingDO; import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; 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.purchasereceiptJob.PurchasereceiptJobDetailDO; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.mysql.balance.BalanceMapper; @@ -52,10 +41,8 @@ import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper; import com.win.module.wms.dal.mysql.issueRequest.IssueRequestMainMapper; import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.job.JobStatusEnum; -import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; -import com.win.module.wms.service.balance.BalanceService; import com.win.module.wms.service.businesstype.BusinesstypeService; import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.expectout.ExpectoutService; @@ -76,7 +63,6 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Validator; -import javax.xml.crypto.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; @@ -378,7 +364,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { } catch (Exception ex) { message.append(ex.getMessage()).append(","); } - RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, detailDo.getItemCode(), null, null, null, null, null, null); + RuleRespVO grounding = ruleService.grounding(null, null, detailDo.getItemCode(), null, null, null, null, null, null); if (grounding == null) { message.append("未查找到该条上架策略"); } else { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java index 908dd300..90474184 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java @@ -314,7 +314,7 @@ public class LocationServiceImpl implements LocationService { @Override public LocationDO inspectLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus) { JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); - Object locationCode = jsonObject.get("LocationCode"); + String locationCode = jsonObject.getStr("LocationCode"); //设置了库位直接返回 if (locationCode != null) { return this.selectLocation(String.valueOf(locationCode)); @@ -327,38 +327,38 @@ public class LocationServiceImpl implements LocationService { locationTypeList.add("SEMI"); locationTypeList.add("FG"); queryWrapper.in("`type`", locationTypeList); - Object warehouseCode = jsonObject.get("WarehouseCode"); + String warehouseCode = jsonObject.getStr("WarehouseCode"); if (!"".equals(warehouseCode)) { queryWrapper.eq("warehouse_code", warehouseCode); } - Object areaCode = jsonObject.get("AreaCode"); + String areaCode = jsonObject.getStr("AreaCode"); if (!"".equals(areaCode)) { queryWrapper.eq("area_code", areaCode); } - Object locationGroupCode = jsonObject.get("LocationGroupCode"); + String locationGroupCode = jsonObject.getStr("LocationGroupCode"); if (!"".equals(locationGroupCode)) { queryWrapper.eq("location_group_code", locationGroupCode); } //排序 - Object aisleOrder = jsonObject.get("AisleOrder"); + String aisleOrder = jsonObject.getStr("AisleOrder"); if ("DESC".equals(aisleOrder)) { queryWrapper.orderByDesc("aisle"); } else { queryWrapper.orderByAsc("aisle"); } - Object shelfOrder = jsonObject.get("ShelfOrder"); + String shelfOrder = jsonObject.getStr("ShelfOrder"); if ("DESC".equals(shelfOrder)) { queryWrapper.orderByDesc("shelf"); } else { queryWrapper.orderByAsc("shelf"); } - Object rowOrder = jsonObject.get("RowOrder"); + String rowOrder = jsonObject.getStr("RowOrder"); if ("DESC".equals(rowOrder)) { queryWrapper.orderByDesc("location_row"); } else { queryWrapper.orderByAsc("location_row"); } - Object columOrder = jsonObject.get("ColumOrder"); + String columOrder = jsonObject.getStr("ColumOrder"); if ("DESC".equals(columOrder)) { queryWrapper.orderByDesc("location_colum"); } else { @@ -367,15 +367,15 @@ public class LocationServiceImpl implements LocationService { List locationDOList = locationMapper.selectList(queryWrapper); //查询符合条件的库位之后过滤 //优先空库位 - Object emptyLocationFirst = jsonObject.get("EmptyLocationFirst"); + String emptyLocationFirst = jsonObject.getStr("EmptyLocationFirst"); //优先非空库位 - Object notEmptyLocationFirst = jsonObject.get("NotEmptyLocationFirst"); + String notEmptyLocationFirst = jsonObject.getStr("NotEmptyLocationFirst"); //可以混物品 - Object enableMixItem = jsonObject.get("EnableMixItem"); + String enableMixItem = jsonObject.getStr("EnableMixItem"); //可以混批次 - Object enableMixLot = jsonObject.get("EnableMixLot"); + String enableMixLot = jsonObject.getStr("EnableMixLot"); //可以混状态 - Object enableMixStatus = jsonObject.get("EnableMixStatus"); + String enableMixStatus = jsonObject.getStr("EnableMixStatus"); locationDOList = this.locationFirst(locationDOList, emptyLocationFirst, notEmptyLocationFirst, itemCode, batch, inventoryStatus, enableMixItem, enableMixLot, enableMixStatus); return locationDOList.get(0); } @@ -394,7 +394,7 @@ public class LocationServiceImpl implements LocationService { * @param enableMixStatus 可以混状态 * @return 过滤之后的库位list */ - private List locationFirst(List locationDOList, Object emptyLocationFirst, Object notEmptyLocationFirst, String itemCode, String batch, String inventoryStatus, Object enableMixItem, Object enableMixLot, Object enableMixStatus) { + private List locationFirst(List locationDOList, Object emptyLocationFirst, Object notEmptyLocationFirst, String itemCode, String batch, String inventoryStatus, String enableMixItem, String enableMixLot, String enableMixStatus) { List emptyList = new ArrayList<>(); List notEmptyList = new ArrayList<>(); for (LocationDO locationDO : locationDOList) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java index 829d9bb3..114443f5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java @@ -676,10 +676,9 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR productionreturnRecordDetailDO.setFromBatch(item.getBatch()); productionreturnRecordDetailDO.setToBatch(item.getBatch()); productionreturnRecordDetailDO.setFromLocationCode(item.getFromLocationCode()); - ItembasicDO itembasicDO = itembasicService.selectItembasic(productionreturnRecordDetailDO.getItemCode()); // 获取上架策略 并赋值 to库位 - RuleRespVO ruleRespVO = ruleService.grounding(null,null,itembasicDO.getAbcClass(),itembasicDO.getType(),itembasicDO.getItemGroup(),itembasicDO.getProject(), itembasicDO.getCode(),null,null,null,null,null,null); - LocationDO locationDO = locationService.inspectLocation(ruleRespVO, itembasicDO.getCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus()); + RuleRespVO ruleRespVO = ruleService.grounding(null,null, productionreturnRecordDetailDO.getItemCode(),null,null,null,null,null,null); + LocationDO locationDO = locationService.inspectLocation(ruleRespVO, productionreturnRecordDetailDO.getItemCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus()); productionreturnRecordDetailDO.setToLocationCode(locationDO.getCode()); // 获取库位信息 并赋值 LocationDO locationDOFrom = locationService.selectLocation(item.getFromLocationCode()); @@ -786,7 +785,6 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR List expectinCreateReqVOList = new ArrayList<>(); detailDO.forEach(item -> { ProductionreturnJobDetailDO productionreturnJobDetailDO = new ProductionreturnJobDetailDO(); - ItembasicDO itembasicDO = itembasicService.selectItembasic(item.getItemCode()); BeanUtils.copyProperties(item, productionreturnJobDetailDO); productionreturnJobDetailDO.setId(null); productionreturnJobDetailDO.setCreateTime(null); @@ -796,8 +794,8 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR productionreturnJobDetailDO.setMasterId(productionreturnJobMainDO.getId()); productionreturnJobDetailDO.setNumber(number); // 获取上架策略 并赋值 to库位 - RuleRespVO ruleRespVO = ruleService.grounding(null,null, itembasicDO.getAbcClass(), itembasicDO.getType(), itembasicDO.getItemGroup(), itembasicDO.getProject(), productionreturnJobDetailDO.getItemCode(),null,null,null,null,null,null); - LocationDO locationDO = locationService.inspectLocation(ruleRespVO, itembasicDO.getCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus()); + RuleRespVO ruleRespVO = ruleService.grounding(null,null, item.getItemCode(),null,null,null,null,null,null); + LocationDO locationDO = locationService.inspectLocation(ruleRespVO, item.getItemCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus()); productionreturnJobDetailDO.setToLocationCode(locationDO.getCode()); // 判断合格 不合格 if (!mainDO.getBusinessType().equals("ReturnToStore")) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java index f19e5249..59d31cd8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java @@ -45,7 +45,6 @@ import com.win.module.wms.service.currencyexchange.CurrencyexchangeService; import com.win.module.wms.service.documentSwitch.SwitchService; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itempackaging.ItempackagingService; -import com.win.module.wms.service.purchasePlan.PurchasePlanMainService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.shift.ShiftService; @@ -525,7 +524,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { purchasePlanMainDO.setAvailable("TRUE"); //供应商代码 purchasePlanMainDO.setSupplierCode(mainDO.getSupplierCode()); - RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDO.getSupplierCode(), null); + RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDO.getSupplierCode(), null); if (ruleRespVO == null) { throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); } else { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index d65d630e..f4c8290a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -380,7 +380,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain } RuleRespVO ruleRespVO = ruleService.inspect(purchasereceiptRecordMainDO.getSupplierCode(), null); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); - if("EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { + if("EXEMPT".equals(jsonObject.getStr("InspectType"))) { for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) { transactionCreateReqVO.setInventoryStatus("OK"); } @@ -404,7 +404,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated"); SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated"); //采购收货记录 生成后 创建 到货检验申请 - if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { + if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXEMPT".equals(jsonObject.getStr("InspectType"))) { //按零件号和批次分组 Map> listMap = new HashMap<>(); for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) { @@ -463,7 +463,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain //移除预计入 expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber()); //采购收货记录 生成后免检物品 创建 上架申请 - if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { + if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXEMPT".equals(jsonObject.getStr("InspectType"))) { PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO(); BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO); List putawayRequestDetailCreateReqVOList = new ArrayList<>(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java index c8df22e1..637b82c1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java @@ -2,6 +2,7 @@ package com.win.module.wms.service.purchasereceiptRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; @@ -16,6 +17,13 @@ import java.util.List; */ public interface PurchasereceiptRecordMainService { + /** + * 创建采购收货记录 + * @param createReqVO 采购收货记录主 + * @return id + */ + Long createPurchasereceiptRecordMain(PurchasereceiptRecordMainCreateReqVO createReqVO); + /** * 通过id获取采购收货记录主 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java index 1ce21d63..d9c3fda9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java @@ -4,15 +4,25 @@ import cn.hutool.core.exceptions.UtilException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +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.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO; +import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordDetailConvert; +import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; import com.win.module.wms.dal.mysql.purchasereceiptJob.PurchasereceiptJobMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestMainMapper; +import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -36,6 +46,12 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper; @Resource private PurchasereceiptRequestMainMapper purchasereceiptRequestMainMapper; + @Resource + private TrendsApi trendsApi; + @Resource + private JobUtils jobUtils; + @Resource + private SerialNumberApi serialNumberApi; // @Resource // private RuleService ruleService; // @Resource @@ -45,6 +61,27 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco // @Resource // private InspectRequestMainService inspectRequestMainService; + @Override + @Transactional + public Long createPurchasereceiptRecordMain(PurchasereceiptRecordMainCreateReqVO createReqVO) { + PurchasereceiptRecordMainDO mainDO = PurchasereceiptRecordMainConvert.INSTANCE.convert(createReqVO); + List subDOList = PurchasereceiptRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode()); + mainDO.setNumber(number); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord"); + mainDO.setBusinessType(businesstypeDO.getCode()); + purchasereceiptRecordMainMapper.insert(mainDO); + for (PurchasereceiptRecordDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDO.getId()); + detailDO.setNumber(number); + } + purchasereceiptRecordDetailMapper.insertBatch(subDOList); + //增加操作记录 + trendsApi.createTrends(mainDO.getId(), "purchasereceiptRecordMain", "增加了采购收货记录", TrendsTypeEnum.CREATE); + // 返回 + return mainDO.getId(); + } + @Override public PurchasereceiptRecordMainDO getPurchasereceiptRecordMainById(Long id) { return purchasereceiptRecordMainMapper.selectById(id); @@ -108,7 +145,7 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco // SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated"); // SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated"); // //采购收货记录 生成后 创建 到货检验申请 -// if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { +// if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXAMPT".equals(jsonObject.getStr("InspectType"))) { // //按零件号和批次分组 // Map> listMap = new HashMap<>(); // for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : detailDOList) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java index e8f12f15..56cc6db5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java @@ -392,14 +392,14 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq */ private void validatePurchasereceiptRequestMainCreate(PurchasereceiptRequestMainDO mainDo) { supplierService.selectSupplier(mainDo.getSupplierCode()); - RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null); + RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDo.getSupplierCode(), null); if(ruleRespVO == null) { throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); } else { JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); - mainDo.setFromWarehouseCode(String.valueOf(jsonObject.get("WarehouseCode"))); - mainDo.setToDockCode(String.valueOf(jsonObject.get("DockCode"))); - mainDo.setToWarehouseCode(String.valueOf(jsonObject.get("OnTheWayLocationCode"))); + mainDo.setFromWarehouseCode(jsonObject.getStr("WarehouseCode")); + mainDo.setToDockCode(jsonObject.getStr("DockCode")); + mainDo.setToWarehouseCode(jsonObject.getStr("OnTheWayLocationCode")); } } @@ -428,23 +428,23 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq } return; } - RuleRespVO ruleRespVO = ruleService.deliveryGoods(null, mainDO.getSupplierCode()); + RuleRespVO ruleRespVO = ruleService.deliveryGoods(mainDO.getSupplierCode()); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); Map> listMap = new HashMap<>(); List purchasereceiptJobMainCreateReqVOList = new ArrayList<>(); // 获取拆分类型,如果都为FALSE则不拆分 String key; - if ("TRUE".equals(jsonObject.get("ByItem"))) {//按零件拆分 + if ("TRUE".equals(jsonObject.getStr("ByItem"))) {//按零件拆分 key = "item"; - } else if ("TRUE".equals(jsonObject.get("ByContainer"))) {//按器具拆分 + } else if ("TRUE".equals(jsonObject.getStr("ByContainer"))) {//按器具拆分 key = "container"; - } else if ("TRUE".equals(jsonObject.get("ByLocation"))) {//按库位拆分 + } else if ("TRUE".equals(jsonObject.getStr("ByLocation"))) {//按库位拆分 key = "location"; } else { key = "null"; } // 每个任务单最多任务数 - int count = Integer.parseInt(String.valueOf(jsonObject.get("JobDetailCount"))); + int count = Integer.parseInt(jsonObject.getStr("JobDetailCount")); if(count == 0) {//0表示不拆分 count = Integer.MAX_VALUE; } @@ -625,18 +625,18 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq */ private void validateSupplier(PurchasereceiptRequestMainDO mainDo) { supplierService.selectSupplier(mainDo.getSupplierCode()); - RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null); + RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDo.getSupplierCode(), null); JSONArray conditionArray = JSONUtil.parseArray(ruleRespVO.getCondition()); for (int i = 0; i < conditionArray.size(); i++) { JSONObject conditionObject = conditionArray.getJSONObject(i); - if ("WarehouseCode".equals(conditionObject.get("ParamCode"))) { - mainDo.setFromWarehouseCode(String.valueOf(conditionObject.get("Value"))); + if ("WarehouseCode".equals(conditionObject.getStr("ParamCode"))) { + mainDo.setFromWarehouseCode(conditionObject.getStr("Value")); } - if ("DockCode".equals(conditionObject.get("ParamCode"))) { - mainDo.setToDockCode(String.valueOf(conditionObject.get("Value"))); + if ("DockCode".equals(conditionObject.getStr("ParamCode"))) { + mainDo.setToDockCode(conditionObject.getStr("Value")); } - if ("OnTheWayLocationCode".equals(conditionObject.get("ParamCode"))) { - mainDo.setToWarehouseCode(String.valueOf(conditionObject.get("Value"))); + if ("OnTheWayLocationCode".equals(conditionObject.getStr("ParamCode"))) { + mainDo.setToWarehouseCode(conditionObject.getStr("Value")); } } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainService.java index 0bf4df42..96ef843b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainService.java @@ -2,6 +2,7 @@ package com.win.module.wms.service.putawayRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainCreateReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO; @@ -15,6 +16,13 @@ import java.util.List; */ public interface PutawayRecordMainService { + /** + * 创建上架记录 + * @param createReqVO 上架记录主 + * @return id + */ + Long createPutawayRecordMain(PutawayRecordMainCreateReqVO createReqVO); + /** * 获得上架记录主分页 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java index b4ca5424..51e38cba 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java @@ -2,11 +2,23 @@ package com.win.module.wms.service.putawayRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +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.putawayRecord.vo.PutawayRecordMainCreateReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO; +import com.win.module.wms.convert.putawayRecord.PutawayRecordDetailConvert; +import com.win.module.wms.convert.putawayRecord.PutawayRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO; +import com.win.module.wms.dal.mysql.putawayRecord.PutawayRecordDetailMapper; import com.win.module.wms.dal.mysql.putawayRecord.PutawayRecordMainMapper; +import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -23,6 +35,35 @@ public class PutawayRecordMainServiceImpl implements PutawayRecordMainService { @Resource private PutawayRecordMainMapper putawayRecordMainMapper; + @Resource + private PutawayRecordDetailMapper putawayRecordDetailMapper; + @Resource + private TrendsApi trendsApi; + @Resource + private JobUtils jobUtils; + @Resource + private SerialNumberApi serialNumberApi; + + @Override + @Transactional + public Long createPutawayRecordMain(PutawayRecordMainCreateReqVO createReqVO) { + PutawayRecordMainDO mainDO = PutawayRecordMainConvert.INSTANCE.convert(createReqVO); + List subDOList = PutawayRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + mainDO.setNumber(number); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRecord"); + mainDO.setBusinessType(businesstypeDO.getCode()); + putawayRecordMainMapper.insert(mainDO); + for (PutawayRecordDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDO.getId()); + detailDO.setNumber(number); + } + putawayRecordDetailMapper.insertBatch(subDOList); + //增加操作记录 + trendsApi.createTrends(mainDO.getId(), "putawayRecordMain", "增加了检验记录", TrendsTypeEnum.CREATE); + // 返回 + return mainDO.getId(); + } @Override public PageResult getPutawayRecordMainPage(PutawayRecordMainPageReqVO pageReqVO) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java index ea810377..e8c836bd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java @@ -329,7 +329,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService //增加业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); putawayRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); - putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO)); + int result = putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO)); for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { PutawayRecordDetailCreateReqVO putawayRecordDetailCreateReqVO = new PutawayRecordDetailCreateReqVO(); BeanUtils.copyProperties(putawayRequestDetailDO, putawayRecordDetailCreateReqVO); @@ -363,11 +363,8 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService List putawayJobDetailDOList = new ArrayList<>(); for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { PutawayJobDetailDO putawayJobDetailDO = PutawayJobDetailConvert.INSTANCE.convert(putawayRequestDetailDO); - ItembasicDO itembasicDO = itembasicService.selectItembasic(putawayRequestDetailDO.getItemCode()); - RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, itembasicDO.getAbcClass(), itembasicDO.getType(), itembasicDO.getItemGroup(), itembasicDO.getProject(), - putawayJobDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null); - - LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, itembasicDO.getCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus()); + RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null); + LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus()); putawayJobDetailDO.setToLocationCode(locationDO.getCode()); putawayJobDetailDO.setNumber(number); putawayJobDetailDO.setMasterId(putawayJobDetailDO.getId()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java index cb4816f5..aa8f2963 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java @@ -2,16 +2,12 @@ package com.win.module.wms.service.rule; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO; import com.win.module.wms.controller.rule.vo.*; -import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.rule.RuleDO; import javax.validation.Valid; -import java.util.Collection; import java.util.HashMap; import java.util.List; -import java.util.Map; /** * 规则 Service 接口 @@ -27,6 +23,7 @@ public interface RuleService { * @return 编号 */ Long createRule(@Valid RuleCreateReqVO createReqVO); + /** * 获得用高级搜索规则分页列表 * @@ -41,6 +38,7 @@ public interface RuleService { * @param updateReqVO 更新信息 */ void updateRule(@Valid RuleUpdateReqVO updateReqVO); + /** * 获得物品基本信息列表 * @@ -85,21 +83,19 @@ public interface RuleService { /** * 采购默认策略 * - * @param supplierType 供应商类型 * @param supplierCode 供应商代码 * @param weekday 星期几 * @return */ - RuleRespVO deliverGoods(String supplierType, String supplierCode, String weekday); + RuleRespVO deliverGoods(String supplierCode, String weekday); /** * 获取采购收货任务拆分策略 * - * @param supplierType 供应商类型 * @param supplierCode 供应商代码 * @return */ - RuleRespVO deliveryGoods(String supplierType, String supplierCode); + RuleRespVO deliveryGoods(String supplierCode); /** * 获取检验策略 @@ -113,21 +109,16 @@ public interface RuleService { /** * 获取到货检验任务拆分策略 * - * @param supplierType 供应商类型 - * @param itemCode 物品代码 + * @param supplierCode 供应商代码 * @return */ - RuleRespVO inspectSplit(String supplierType, String itemCode); + RuleRespVO inspectSplit(String supplierCode); /** * 获取上架策略 * * @param supplierCode 供应商 * @param customerCode 客户 - * @param abcClass ABC类 - * @param itemType 物品类型 - * @param itemGroup 物品分组 - * @param project 项目 * @param itemCode 物品代码 * @param inventoryStatus 库存状态 * @param storageType 存储类型 @@ -137,120 +128,86 @@ public interface RuleService { * @param volume 体积 * @return */ - RuleRespVO grounding(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, - String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, - String area, String volume); + RuleRespVO grounding(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, String area, String volume); /** * 获取存储容量策略 * - * @param itemGroup 物品分组 - * @param project 项目 - * @param itemCode 物品代码 - * @param warehouseCode 仓库代码 - * @param areaCode 库区代码 - * @param locationGroupCode 库位组代码 - * @param locationCode 库位代码 + * @param itemCode 物品代码 + * @param locationCode 库位代码 * @return */ - RuleRespVO storageCapacity(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, - String locationCode); + RuleRespVO storageCapacity(String itemCode, String locationCode); /** * 获取下架策略 * * @param supplierCode 供应商 * @param customerCode 客户 - * @param abcClass ABC 类 - * @param itemType 物品类型 - * @param itemGroup 物品分组 - * @param project 项目 * @param itemCode 物品代码 * @param inventoryStatus 库存状态 * @param storageType 存储类型 * @param transactionType 库存事务 * @return */ - RuleRespVO offShelf(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, - String itemCode, String inventoryStatus, String storageType, String transactionType); + RuleRespVO offShelf(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType); /** * 获取补料策略 * - * @param itemGroup 物品分组 - * @param project 项目 - * @param itemCode 物品代码 - * @param warehouseCode 仓库代码 - * @param areaCode 库区代码 - * @param locationGroupCode 库位组代码 - * @param locationCode 库位代码 + * @param itemCode 物品代码 + * @param locationCode 库位代码 * @return */ - RuleRespVO replenishment(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode); + RuleRespVO replenishment(String itemCode, String locationCode); /** * 获取管理精度策略 * * @param supplierCode 供应商 * @param customerCode 客户 - * @param abcClass ABC 类 - * @param itemType 物品类型 - * @param itemGroup 物品分组 - * @param project 项目 * @param itemCode 物品代码 - * @param warehouseCode 仓库代码 - * @param areaCode 库区代码 - * @param locationGroupCode 库位组代码 * @param locationCode 库位代码 * @param ignoreListOfItem 物品忽略名单 * @param ignoreListOfLocation 库位忽略名单 * @return */ - RuleRespVO management(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, - String warehouseCode, String areaCode, String locationGroupCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation); + RuleRespVO management(String supplierCode, String customerCode, String itemCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation); /** * 获取批次策略 * * @param supplierCode 供应商 * @param customerCode 客户 - * @param abcClass ABC 类 - * @param itemType 物品类型 - * @param itemGroup 物品分组 - * @param project 项目 * @param itemCode 物品代码 * @return */ - RuleRespVO batch(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode); + RuleRespVO batch(String supplierCode, String customerCode, String itemCode); /** - * SQ----WS + * SQ----WS * 获取库位存储策略 * - * @param warehouseCode 仓库代码 - * @param areaCode 库区代码 - * @param locationGroupCode 库位组代码 - * @param locationCode 库位代码 + * @param locationCode 库位代码 * @return */ - RuleRespVO warehouseStorage(String warehouseCode, String areaCode, String locationGroupCode, String locationCode); + RuleRespVO warehouseStorage(String locationCode); /** * 获取器具容量策略 * * @param containerType 器具类型 - * @param itemGroup 物品分组 - * @param projectCode 项目代码 * @param itemCode 物品代码 * @return */ - RuleRespVO applianceCapacity(String containerType, String itemGroup, String projectCode, String itemCode); + RuleRespVO applianceCapacity(String containerType, String itemCode); /** * 获取根据物品代码List以及库位代码管理精度策略 + * * @param reqVO * @return */ - List> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO); + List> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java index 49206dae..8818a49d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java @@ -10,8 +10,14 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.datapermission.core.util.DataPermissionUtils; import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.convert.rule.RuleConvert; +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.rule.RuleDO; +import com.win.module.wms.dal.dataobject.supplier.SupplierDO; +import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; +import com.win.module.wms.dal.mysql.location.LocationMapper; import com.win.module.wms.dal.mysql.rule.RuleMapper; +import com.win.module.wms.dal.mysql.supplier.SupplierMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -33,10 +39,16 @@ public class RuleServiceImpl implements RuleService { @Resource private RuleMapper ruleMapper; + @Resource + private ItembasicMapper itembasicMapper; + @Resource + private SupplierMapper supplierMapper; + @Resource + private LocationMapper locationMapper; @Override public Long createRule(RuleCreateReqVO createReqVO) { - validateRuleForCreateOrUpdate(createReqVO.getId(),createReqVO.getStrategyCode(),createReqVO.getPriority()); + validateRuleForCreateOrUpdate(createReqVO.getId(), createReqVO.getStrategyCode(), createReqVO.getPriority()); // 插入 RuleDO rule = RuleConvert.INSTANCE.convert(createReqVO); validateRule(rule); @@ -46,24 +58,24 @@ public class RuleServiceImpl implements RuleService { } - public void validateRule(RuleDO rule){ + public void validateRule(RuleDO rule) { RuleDO RuleDO = existRuleDO(rule); - if(RuleDO!=null){ + if (RuleDO != null) { throw exception(RULE_PRIORITY_EXISTS); } } - public RuleDO existRuleDO(RuleDO rule){ - QueryWrapper queryWrapper = new QueryWrapper<>(); + public RuleDO existRuleDO(RuleDO rule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", rule.getStrategyCode()); - queryWrapper.eq("priority",rule.getPriority()); + queryWrapper.eq("priority", rule.getPriority()); return ruleMapper.selectOne(queryWrapper); } @Override public void updateRule(RuleUpdateReqVO updateReqVO) { // 校验存在 - validateRuleForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getStrategyCode(),updateReqVO.getPriority()); + validateRuleForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getStrategyCode(), updateReqVO.getPriority()); // 更新 RuleDO updateObj = RuleConvert.INSTANCE.convert(updateReqVO); ruleMapper.updateById(updateObj); @@ -76,6 +88,7 @@ public class RuleServiceImpl implements RuleService { // 删除 ruleMapper.deleteById(id); } + @Override public PageResult getRuleSenior(CustomConditions conditions) { return ruleMapper.selectSenior(conditions); @@ -96,11 +109,13 @@ public class RuleServiceImpl implements RuleService { public PageResult getRulePage(RulePageReqVO pageReqVO) { return ruleMapper.selectPage(pageReqVO); } + @Override public List getRuleList(CustomConditions conditions) { return ruleMapper.selectSeniorList(conditions); } - private void validateRuleForCreateOrUpdate(Long id, String strategyCode,Integer priority) { + + private void validateRuleForCreateOrUpdate(Long id, String strategyCode, Integer priority) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 DataPermissionUtils.executeIgnore(() -> { validateRuleExists(id); @@ -109,6 +124,7 @@ public class RuleServiceImpl implements RuleService { validatePriority(priority); }); } + @VisibleForTesting private void validateRuleExists(Long id) { if (id == null) { @@ -125,6 +141,7 @@ public class RuleServiceImpl implements RuleService { throw exception(RULE_STRATEGYCODE_NOT_EXISTS); } } + @VisibleForTesting private void validatePriority(Integer priority) { if (priority == null) { @@ -133,29 +150,26 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO deliverGoods(String supplierType, String supplierCode, String weekday) { + public RuleRespVO deliverGoods(String supplierCode, String weekday) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S001"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); //condition为空是默认规则,直接返回 - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierType != null && !supplierType.isEmpty()) { - params.put("SupplierType", supplierType); - } - if(supplierCode != null && !supplierCode.isEmpty()) { + if (supplierCode != null && !supplierCode.isEmpty()) { params.put("SupplierCode", supplierCode); } - if(weekday != null && !weekday.isEmpty()) { + if (weekday != null && !weekday.isEmpty()) { params.put("Weekday", weekday); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -163,26 +177,23 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO deliveryGoods(String supplierType, String supplierCode) { + public RuleRespVO deliveryGoods(String supplierCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S002"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); //condition为空是默认规则,直接返回 - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierType != null && !supplierType.isEmpty()) { - params.put("SupplierType", supplierType); - } - if(supplierCode != null && !supplierCode.isEmpty()) { + if (supplierCode != null && !supplierCode.isEmpty()) { params.put("SupplierCode", supplierCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -195,18 +206,18 @@ public class RuleServiceImpl implements RuleService { queryWrapper.eq("strategy_code", "S003"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); params.put("SupplierCode", supplierCode); - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -214,25 +225,22 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO inspectSplit(String supplierType, String itemCode) { + public RuleRespVO inspectSplit(String supplierCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S004"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierType != null && !supplierType.isEmpty()) { - params.put("SupplierType", supplierType); - } - if(itemCode != null && !itemCode.isEmpty()) { - params.put("ItemCode", itemCode); + if (supplierCode != null && !supplierCode.isEmpty()) { + params.put("SupplierCode", supplierCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -240,58 +248,46 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO grounding(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, String area, String volume) { + public RuleRespVO grounding(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, String area, String volume) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S005"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierCode != null && !supplierCode.isEmpty()) { + if (supplierCode != null && !supplierCode.isEmpty()) { params.put("SupplierType", supplierCode); } - if(customerCode != null && !customerCode.isEmpty()) { + if (customerCode != null && !customerCode.isEmpty()) { params.put("CustomerCode", customerCode); } - if(abcClass != null && !abcClass.isEmpty()) { - params.put("AbcClass", abcClass); - } - if(itemType != null && !itemType.isEmpty()) { - params.put("ItemType", itemType); - } - if(itemGroup != null && !itemGroup.isEmpty()) { - params.put("ItemGroup", itemGroup); - } - if(project != null && !project.isEmpty()) { - params.put("Project", project); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(inventoryStatus != null && !inventoryStatus.isEmpty()) { + if (inventoryStatus != null && !inventoryStatus.isEmpty()) { params.put("InventoryStatus", inventoryStatus); } - if(storageType != null && !storageType.isEmpty()) { + if (storageType != null && !storageType.isEmpty()) { params.put("StorageType", storageType); } - if(transactionType != null && !transactionType.isEmpty()) { + if (transactionType != null && !transactionType.isEmpty()) { params.put("TransactionType", transactionType); } - if(weight != null && !weight.isEmpty()) { + if (weight != null && !weight.isEmpty()) { params.put("Weight", weight); } - if(area != null && !area.isEmpty()) { + if (area != null && !area.isEmpty()) { params.put("Area", area); } - if(volume != null && !volume.isEmpty()) { + if (volume != null && !volume.isEmpty()) { params.put("Volume", volume); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -299,40 +295,25 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO storageCapacity(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode) { + public RuleRespVO storageCapacity(String itemCode, String locationCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S006"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(itemGroup != null && !itemGroup.isEmpty()) { - params.put("ItemGroup", itemGroup); - } - if(project != null && !project.isEmpty()) { - params.put("Project", project); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(warehouseCode != null && !warehouseCode.isEmpty()) { - params.put("WarehouseCode", warehouseCode); - } - if(areaCode != null && !areaCode.isEmpty()) { - params.put("AreaCode", areaCode); - } - if(locationGroupCode != null && !locationGroupCode.isEmpty()) { - params.put("LocationGroupCode", locationGroupCode); - } - if(locationCode != null && !locationCode.isEmpty()) { + if (locationCode != null && !locationCode.isEmpty()) { params.put("LocationCode", locationCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -340,49 +321,37 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO offShelf(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, String inventoryStatus, String storageType, String transactionType) { + public RuleRespVO offShelf(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S007"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierCode != null && !supplierCode.isEmpty()) { + if (supplierCode != null && !supplierCode.isEmpty()) { params.put("SupplierCode", supplierCode); } - if(customerCode != null && !customerCode.isEmpty()) { + if (customerCode != null && !customerCode.isEmpty()) { params.put("CustomerCode", customerCode); } - if(abcClass != null && !abcClass.isEmpty()) { - params.put("AbcClass", abcClass); - } - if(itemType != null && !itemType.isEmpty()) { - params.put("ItemType", itemType); - } - if(itemGroup != null && !itemGroup.isEmpty()) { - params.put("ItemGroup", itemGroup); - } - if(project != null && !project.isEmpty()) { - params.put("Project", project); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(inventoryStatus != null && !inventoryStatus.isEmpty()) { + if (inventoryStatus != null && !inventoryStatus.isEmpty()) { params.put("InventoryStatus", inventoryStatus); } - if(storageType != null && !storageType.isEmpty()) { + if (storageType != null && !storageType.isEmpty()) { params.put("StorageType", storageType); } - if(transactionType != null && !transactionType.isEmpty()) { + if (transactionType != null && !transactionType.isEmpty()) { params.put("TransactionType", transactionType); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -390,37 +359,25 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO replenishment(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode) { + public RuleRespVO replenishment(String itemCode, String locationCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S008"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(project != null && !project.isEmpty()) { - params.put("Project", project); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(warehouseCode != null && !warehouseCode.isEmpty()) { - params.put("WarehouseCode", warehouseCode); - } - if(areaCode != null && !areaCode.isEmpty()) { - params.put("AreaCode", areaCode); - } - if(locationGroupCode != null && !locationGroupCode.isEmpty()) { - params.put("LocationGroupCode", locationGroupCode); - } - if(locationCode != null && !locationCode.isEmpty()) { + if (locationCode != null && !locationCode.isEmpty()) { params.put("LocationCode", locationCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -428,58 +385,37 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO management(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation) { + public RuleRespVO management(String supplierCode, String customerCode, String itemCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S009"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierCode != null && !supplierCode.isEmpty()) { + if (supplierCode != null && !supplierCode.isEmpty()) { params.put("SupplierCode", supplierCode); } - if(customerCode != null && !customerCode.isEmpty()) { + if (customerCode != null && !customerCode.isEmpty()) { params.put("CustomerCode", customerCode); } - if(abcClass != null && !abcClass.isEmpty()) { - params.put("AbcClass", abcClass); - } - if(itemType != null && !itemType.isEmpty()) { - params.put("ItemType", itemType); - } - if(itemGroup != null && !itemGroup.isEmpty()) { - params.put("ItemGroup", itemGroup); - } - if(project != null && !project.isEmpty()) { - params.put("Project", project); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(warehouseCode != null && !warehouseCode.isEmpty()) { - params.put("WarehouseCode", warehouseCode); - } - if(areaCode != null && !areaCode.isEmpty()) { - params.put("AreaCode", areaCode); - } - if(locationGroupCode != null && !locationGroupCode.isEmpty()) { - params.put("LocationGroupCode", locationGroupCode); - } - if(locationCode != null && !locationCode.isEmpty()) { + if (locationCode != null && !locationCode.isEmpty()) { params.put("LocationCode", locationCode); } - if(ignoreListOfItem != null && !ignoreListOfItem.isEmpty()) { + if (ignoreListOfItem != null && !ignoreListOfItem.isEmpty()) { params.put("IgnoreListOfItem", ignoreListOfItem); } - if(ignoreListOfLocation != null && !ignoreListOfLocation.isEmpty()) { + if (ignoreListOfLocation != null && !ignoreListOfLocation.isEmpty()) { params.put("IgnoreListOfLocation", ignoreListOfLocation); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -487,40 +423,28 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO batch(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode) { + public RuleRespVO batch(String supplierCode, String customerCode, String itemCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S010"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(supplierCode != null && !supplierCode.isEmpty()) { + if (supplierCode != null && !supplierCode.isEmpty()) { params.put("SupplierCode", supplierCode); } - if(customerCode != null && !customerCode.isEmpty()) { + if (customerCode != null && !customerCode.isEmpty()) { params.put("CustomerCode", customerCode); } - if(abcClass != null && !abcClass.isEmpty()) { - params.put("AbcClass", abcClass); - } - if(itemType != null && !itemType.isEmpty()) { - params.put("ItemType", itemType); - } - if(itemGroup != null && !itemGroup.isEmpty()) { - params.put("ItemGroup", itemGroup); - } - if(project != null && !project.isEmpty()) { - params.put("Project", project); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -529,31 +453,22 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO warehouseStorage(String warehouseCode, String areaCode, String locationGroupCode, String locationCode) { + public RuleRespVO warehouseStorage(String locationCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S011"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); - if(warehouseCode != null && !warehouseCode.isEmpty()) { - params.put("WarehouseCode", warehouseCode); - } - if(areaCode != null && !areaCode.isEmpty()) { - params.put("AreaCode", areaCode); - } - if(locationGroupCode != null && !locationGroupCode.isEmpty()) { - params.put("LocationGroupCode", locationGroupCode); - } - if(locationCode != null && !locationCode.isEmpty()) { + if (locationCode != null && !locationCode.isEmpty()) { params.put("LocationCode", locationCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -561,29 +476,23 @@ public class RuleServiceImpl implements RuleService { } @Override - public RuleRespVO applianceCapacity(String containerType, String itemGroup, String projectCode, String itemCode) { + public RuleRespVO applianceCapacity(String containerType, String itemCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("strategy_code", "S012"); queryWrapper.orderByDesc("priority"); List ruleDOList = ruleMapper.selectList(queryWrapper); - for(RuleDO ruleDO : ruleDOList) { + for (RuleDO ruleDO : ruleDOList) { String condition = ruleDO.getCondition(); - if(condition == null || condition.isEmpty()) { + if (condition == null || condition.isEmpty()) { return RuleConvert.INSTANCE.convert(ruleDO); } JSONArray conditionArray = JSONUtil.parseArray(condition); Map params = new HashMap<>(); params.put("ContainerType", containerType); - if(itemGroup != null && !itemGroup.isEmpty()) { - params.put("ItemGroup", itemGroup); - } - if(projectCode != null && !projectCode.isEmpty()) { - params.put("ProjectCode", projectCode); - } - if(itemCode != null && !itemCode.isEmpty()) { + if (itemCode != null && !itemCode.isEmpty()) { params.put("ItemCode", itemCode); } - if(this.forEachParams(params, conditionArray)) { + if (this.forEachParams(params, conditionArray)) { return RuleConvert.INSTANCE.convert(ruleDO); } } @@ -592,14 +501,13 @@ public class RuleServiceImpl implements RuleService { @Override public List> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO) { - List> list = new ArrayList<>(); - for (String code:reqVO.getItemCodes()){ + List> list = new ArrayList<>(); + for (String code : reqVO.getItemCodes()) { HashMap map = new HashMap<>(); - RuleRespVO RespVO = management(null, null, null, null, null, null, code, null, null, - null, reqVO.getLocationCode(), null, null); + RuleRespVO RespVO = management(null, null, code, reqVO.getLocationCode(), null, null); JSONObject entries = JSONUtil.parseObj(RespVO.getConfiguration()); - map.put("ManagementPrecision",entries.get("ManagementPrecision")); - map.put("itemCode",code); + map.put("ManagementPrecision", entries.get("ManagementPrecision")); + map.put("itemCode", code); list.add(map); } return list; @@ -607,18 +515,39 @@ public class RuleServiceImpl implements RuleService { /** * 循环校验参数 - * @param params 参数 + * + * @param params 参数 * @param conditionArray 条件json数组 * @return */ private boolean forEachParams(Map params, JSONArray conditionArray) { + Map paramsMap = new HashMap<>(); boolean result1 = false; - for(int i = 0; i < conditionArray.size(); i++) { + //填充参数 + for (String key : params.keySet()) { + if ("SupplierCode".equals(key)) { + SupplierDO supplierDO = supplierMapper.selectByCode(params.get(key)); + paramsMap.put("SupplierType", supplierDO.getType()); + } else if ("ItemCode".equals(key)) { + ItembasicDO itembasicDO = itembasicMapper.selectByCode(params.get(key)); + paramsMap.put("AbcClass", itembasicDO.getAbcClass()); + paramsMap.put("ItemType", itembasicDO.getType()); + paramsMap.put("ItemGroup", itembasicDO.getItemGroup()); + paramsMap.put("Project", itembasicDO.getProject()); + } else if ("LocationCode".equals(key)) { + LocationDO locationDO = locationMapper.selectByCode(params.get(key)); + paramsMap.put("WarehouseCode", locationDO.getWarehouseCode()); + paramsMap.put("AreaCode", locationDO.getAreaCode()); + paramsMap.put("LocationGroupCode", locationDO.getLocationGroupCode()); + } + paramsMap.put(key, params.get(key)); + } + for (int i = 0; i < conditionArray.size(); i++) { JSONObject conditionObject = conditionArray.getJSONObject(i); - for (String key : params.keySet()) { - if(key.equals(conditionObject.get("ParamCode")) && conditionObject.get("ParamCode") != null) { + for (String key : paramsMap.keySet()) { + if (key.equals(conditionObject.get("ParamCode")) && conditionObject.get("ParamCode") != null) { boolean result2 = this.checkCondition(conditionObject, key, params.get(key)); - if(!result2) { + if (!result2) { result1 = false; break; } else { @@ -632,56 +561,57 @@ public class RuleServiceImpl implements RuleService { /** * 判断条件 + * * @param conditionObject 条件json - * @param paramCode 条件key - * @param paramValue 条件value + * @param paramCode 条件key + * @param paramValue 条件value * @return */ private boolean checkCondition(JSONObject conditionObject, String paramCode, String paramValue) { - if(conditionObject.get("ParamCode").equals(paramCode)) { + if (conditionObject.get("ParamCode").equals(paramCode)) { String operator = conditionObject.get("Operator").toString(); String value = conditionObject.get("Value").toString(); - if(paramValue != null && !paramValue.isEmpty()) { - if(operator.equals("==")) { - if(value.equals(paramValue)) { + if (paramValue != null && !paramValue.isEmpty()) { + if (operator.equals("==")) { + if (value.equals(paramValue)) { return true; } - } else if(operator.equals("!=")) { - if(!value.equals(paramValue)) { + } else if (operator.equals("!=")) { + if (!value.equals(paramValue)) { return true; } - } else if(operator.equals(">")) { + } else if (operator.equals(">")) { BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value2 = new BigDecimal(value); - if(value1.compareTo(value2) > 0) { + if (value1.compareTo(value2) > 0) { return true; } - } else if(operator.equals("<")) { + } else if (operator.equals("<")) { BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value2 = new BigDecimal(value); - if(value1.compareTo(value2) < 0) { + if (value1.compareTo(value2) < 0) { return true; } - } else if(operator.equals(">=")) { + } else if (operator.equals(">=")) { BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value2 = new BigDecimal(value); - if(value1.compareTo(value2) >= 0) { + if (value1.compareTo(value2) >= 0) { return true; } - } else if(operator.equals("<=")) { + } else if (operator.equals("<=")) { BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value2 = new BigDecimal(value); - if(value1.compareTo(value2) <= 0) { + if (value1.compareTo(value2) <= 0) { return true; } - } else if(operator.equals("IN")) { + } else if (operator.equals("IN")) { List valueList = Arrays.asList(value.split(",")); - if(valueList.contains(paramValue)) { + if (valueList.contains(paramValue)) { return true; } - } else if(operator.equals("NOT IN")) { + } else if (operator.equals("NOT IN")) { List valueList = Arrays.asList(value.split(",")); - if(!valueList.contains(paramValue)) { + if (!valueList.contains(paramValue)) { return true; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java index 83824f91..956dbcb2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java @@ -2,7 +2,6 @@ package com.win.module.wms.service.supplier; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.annotations.VisibleForTesting; import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; @@ -18,7 +17,6 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -38,7 +36,7 @@ public class SupplierServiceImpl implements SupplierService { @Override public Long createSupplier(SupplierCreateReqVO createReqVO) { - validateSupplierForCreateOrUpdate(createReqVO.getId(),createReqVO.getCode(),createReqVO.getShortName(),createReqVO.getAvailable()); + validateSupplierForCreateOrUpdate(createReqVO.getId(), createReqVO.getCode(), createReqVO.getShortName(), createReqVO.getAvailable()); // 插入 SupplierDO supplier = SupplierConvert.INSTANCE.convert(createReqVO); supplierMapper.insert(supplier); @@ -49,15 +47,17 @@ public class SupplierServiceImpl implements SupplierService { @Override public void updateSupplier(SupplierUpdateReqVO updateReqVO) { // 校验存在 - validateSupplierForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getCode(),updateReqVO.getShortName(),updateReqVO.getAvailable()); + validateSupplierForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getCode(), updateReqVO.getShortName(), updateReqVO.getAvailable()); // 更新 SupplierDO updateObj = SupplierConvert.INSTANCE.convert(updateReqVO); supplierMapper.updateById(updateObj); } + @Override public PageResult getSupplierSenior(CustomConditions conditions) { return supplierMapper.selectSenior(conditions); } + @Override public void deleteSupplier(Long id) { // 校验存在 @@ -75,10 +75,12 @@ public class SupplierServiceImpl implements SupplierService { public List getSupplierList(CustomConditions conditions) { return supplierMapper.selectSeniorList(conditions); } + @Override public List getSupplierList() { return supplierMapper.selectAllList(); } + @Override public PageResult getSupplierPage(SupplierPageReqVO pageReqVO) { return supplierMapper.selectPage(pageReqVO); @@ -89,7 +91,7 @@ public class SupplierServiceImpl implements SupplierService { return supplierMapper.selectList(exportReqVO); } - public List importSupplierList(List suppliers, Integer mode, boolean updatePart) { + public List importSupplierList(List suppliers, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(suppliers)) { throw exception(SUPPLIER_IMPORT_LIST_IS_EMPTY); } @@ -119,41 +121,42 @@ public class SupplierServiceImpl implements SupplierService { massage += ex.getMessage() + ","; } - if (StrUtil.isNotEmpty(massage)) { - massage.substring(0, massage.length() - 1); - errorList.add(supplier); - } - if (errorList == null) { - // 判断如果不存在,在进行插入 - SupplierDO existSupplier = supplierMapper.selectByCode(supplier.getCode()); - if (existSupplier == null && mode != 3) { - supplierMapper.insert(SupplierConvert.INSTANCE.convert(supplier)); - } else if (existSupplier != null && mode != 2) {// 如果存在,判断是否允许更新 - SupplierDO supplierDO = SupplierConvert.INSTANCE.convert(supplier); - supplierDO.setId(existSupplier.getId()); - supplierMapper.updateById(supplierDO); + if (StrUtil.isNotEmpty(massage)) { + massage.substring(0, massage.length() - 1); + errorList.add(supplier); + } + if (errorList == null) { + // 判断如果不存在,在进行插入 + SupplierDO existSupplier = supplierMapper.selectByCode(supplier.getCode()); + if (existSupplier == null && mode != 3) { + supplierMapper.insert(SupplierConvert.INSTANCE.convert(supplier)); + } else if (existSupplier != null && mode != 2) {// 如果存在,判断是否允许更新 + SupplierDO supplierDO = SupplierConvert.INSTANCE.convert(supplier); + supplierDO.setId(existSupplier.getId()); + supplierMapper.updateById(supplierDO); + } } } - } }); //错误不为空并非部分更新,手工回滚 - if(!errorList.isEmpty() && !updatePart) { + if (!errorList.isEmpty() && !updatePart) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } return errorList; } - private void validateSupplierForCreateOrUpdate(Long id, String code, String shortname, String available) { + private void validateSupplierForCreateOrUpdate(Long id, String code, String shortname, String available) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 DataPermissionUtils.executeIgnore(() -> { validateSupplierExists(id); // 校验code唯一 - validateCodeExists(id,code); + validateCodeExists(id, code); validateShortnameExists(shortname); validateAvailableExists(available); }); } + @VisibleForTesting private void validateSupplierExists(Long id) { if (id == null) { @@ -165,7 +168,7 @@ public class SupplierServiceImpl implements SupplierService { } @VisibleForTesting - private void validateCodeExists(Long id,String code) { + private void validateCodeExists(Long id, String code) { if (code.isEmpty()) { throw exception(SUPPLIER_MOUBLE_EXISTSNO); } @@ -184,6 +187,7 @@ public class SupplierServiceImpl implements SupplierService { throw exception(SUPPLIER_NOT_EXISTSNO); } } + @VisibleForTesting private void validateShortnameExists(String shortname) { if (shortname.isEmpty()) { @@ -198,14 +202,13 @@ public class SupplierServiceImpl implements SupplierService { throw exception(SUPPLIER_AVAILABLE_NOT_EXISTS); } } + @Override public SupplierDO selectSupplier(String code) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("code",code); - SupplierDO supplierDO = supplierMapper.selectOne(queryWrapper); - if(supplierDO != null && supplierDO.getAvailable().equals("TRUE")){ + SupplierDO supplierDO = supplierMapper.selectByCode(code); + if (supplierDO != null) { return supplierDO; - }else { + } else { throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java index aa2d631d..b1d1a3f2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java @@ -12,13 +12,10 @@ 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.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO; -import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainCreateReqVO; import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordMainCreateReqVO; import com.win.module.wms.controller.supplierdeliverRequest.vo.*; -import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert; import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordDetailConvert; import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordMainConvert; import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestDetailConvert; @@ -255,7 +252,7 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq //主表校验 校验供应商基础信息 private RuleRespVO validatordeliverGoods() { - RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null, null); + RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null); return ruleRespVO; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transaction/TransactionServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transaction/TransactionServiceImpl.java index f8ef3ff5..ac74b50c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transaction/TransactionServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transaction/TransactionServiceImpl.java @@ -63,7 +63,7 @@ public class TransactionServiceImpl implements TransactionService { BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO(); BeanUtils.copyProperties(createReqVO, balanceCreateReqVO); balanceCreateReqVO.setLastTransNumber(number); - RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getWarehouseCode(), createReqVO.getAreaCode(), createReqVO.getLocationGroupCode(), createReqVO.getLocationCode()); + RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getLocationCode()); balanceMapper.updateBalanceQty(balanceCreateReqVO, ruleRespVO, createReqVO.getInventoryAction()); } return result; @@ -82,7 +82,7 @@ public class TransactionServiceImpl implements TransactionService { BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO(); BeanUtils.copyProperties(createReqVO, balanceCreateReqVO); balanceCreateReqVO.setLastTransNumber(number); - RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getWarehouseCode(), createReqVO.getAreaCode(), createReqVO.getLocationGroupCode(), createReqVO.getLocationCode()); + RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getLocationCode()); balanceMapper.updateBalanceQty(balanceCreateReqVO, ruleRespVO, createReqVO.getInventoryAction()); } for(TransferlogCreateReqVO transferlogCreateReqVO : transferlogCreateReqVOList) { 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 55ba061c..e324ca50 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 @@ -248,17 +248,13 @@ public class JobUtils { /** * 获取当前库位采用的获取库位存储策略信息 * - * @param warehouseCode 仓库代码 - * @param areaCode 区域代码 - * @param locationGroupCode 库位组code * @param plocationCode 库位 * @return 库位存储策略信息 * @author chenfang */ //TODO 后期具体业务时需判断策略相关标签状态(还没写) - public RuleRespVO selectLocationStrategyRule(String warehouseCode, String areaCode, String locationGroupCode, String plocationCode) { - RuleRespVO ruleRespVO = ruleService.warehouseStorage(warehouseCode, areaCode, locationGroupCode, plocationCode); - return ruleRespVO; + public RuleRespVO selectLocationStrategyRule(String plocationCode) { + return ruleService.warehouseStorage(plocationCode); } /** @@ -270,7 +266,7 @@ public class JobUtils { * @author chenfang */ public RuleRespVO selectLocationAndModRelation(String pitemCode) { - RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, pitemCode, null, null, null, null, null, null); + RuleRespVO grounding = ruleService.grounding(null, null, pitemCode, null, null, null, null, null, null); if (grounding != null) { return grounding; } else { @@ -435,8 +431,7 @@ public class JobUtils { * @return */ public List selectlocationReturnManagementAccuracyToBalance(String itemcode, String packingnumber, String batch, String locationcode, List inventoryStatus) { - RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, - null, locationcode, null, null); + RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null); List balanceDO = null; if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode); @@ -464,8 +459,7 @@ public class JobUtils { * @author lianhongxi */ public List selectlocationReturnManagementAccuracy(String itemcode, String packingnumber, String batch, String locationcode, List inventoryStatus) { - RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, - null, locationcode, null, null); + RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null); List balanceDO = null; if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode); @@ -515,8 +509,7 @@ public class JobUtils { * @author lianhongxi */ public List selectLocatioNew(String itemcode, String packingnumber, String batch, String locationcode, List inventoryStatus) { - RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, - null, locationcode, null, null); + RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null); List expectoutDO = null; if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { expectoutDO = expectoutService.selectNumberNew(itemcode, inventoryStatus, locationcode); @@ -574,7 +567,7 @@ public class JobUtils { //查询储存容量 public String selectlocationstrategy(String itemcode, String locationcode) { - RuleRespVO storagecapacityrule = ruleService.storageCapacity(null, null, itemcode, null, null, null, locationcode); + RuleRespVO storagecapacityrule = ruleService.storageCapacity(itemcode, locationcode); String[] StorageQty = storagecapacityrule.getConfiguration().split(","); String[] StorageQty1 = StorageQty[1].split(":"); String StorageQty2 = StorageQty1[1]; @@ -586,8 +579,7 @@ public class JobUtils { //库存不应该存在 public List warehouseStocknNotExist(String itemcode, String packingnumber, String locationcode, List inventoryStatus) { - RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, - null, locationcode, null, null); + RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null); List balanceDO = null; if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus); @@ -622,8 +614,7 @@ public class JobUtils { * @author lianhongxi */ public List selectExpectort(String pitemcode, String ppackingnumber, String pbatch, List pinventoryStatus, String plocationcode) { - RuleRespVO management = ruleService.management(null, null, null, null, null, null, pitemcode, - null, null, null, plocationcode, null, null); + RuleRespVO management = ruleService.management(null, null, pitemcode, plocationcode, null, null); List expectoutDO = null; if (management != null) { String[] splits = management.getConfiguration().split("\""); @@ -742,10 +733,10 @@ public class JobUtils { */ public List getBalanceByBatchOffShelf(String itemCode, String inventoryStatus, String projectCode, BigDecimal qty, String locationTypes ) { List locationList = new ArrayList<>(); - if (locationTypes != null && !locationTypes.equals("")) { + if (locationTypes != null && !locationTypes.isEmpty()) { String[] locationTypesStrs = locationTypes.split(","); for(int i=0;i qw = new QueryWrapper<>(); qw.eq("type",locationTypesStrs[i]); List locationDOSList = locationMapper.selectList(qw); locationDOSList.forEach(itemLocation -> { @@ -753,22 +744,20 @@ public class JobUtils { }); } } - // 批次策略 - RuleRespVO ruleRespVOBatch = ruleService.batch(null, null,null,null,null,projectCode,itemCode); + RuleRespVO ruleRespVOBatch = ruleService.batch(null, null,itemCode); JSONObject jsonObjectBatch = JSONUtil.parseObj(ruleRespVOBatch.getConfiguration()); - // 下架策略 - RuleRespVO ruleRespVOOffShelf = ruleService.offShelf(null,null,null,null,null,projectCode,itemCode,inventoryStatus,null,null); + RuleRespVO ruleRespVOOffShelf = ruleService.offShelf(null,null,itemCode,inventoryStatus,null,null); JSONObject jsonObjectOffShelf = JSONUtil.parseObj(ruleRespVOOffShelf.getConfiguration()); // 查询库存余额 - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("item_code", "batch", "SUM(qty) as qty", "inventory_status","warehouse_code", "area_code", "location_group_code", "location_code", "produce_date", "arrive_date"); - if (itemCode != null && !itemCode.equals("")) { + if (itemCode != null && !itemCode.isEmpty()) { queryWrapper.eq("item_code", itemCode); } else { throw exception(BALANCE_ITEM_NOT_EXISTS); } - if (inventoryStatus != null && !inventoryStatus.equals("")) { + if (inventoryStatus != null && !inventoryStatus.isEmpty()) { queryWrapper.eq("inventory_status", inventoryStatus); } else { throw exception(BALANCE_STATU_NOT_EXISTS); @@ -777,7 +766,7 @@ public class JobUtils { throw exception(BALANCE_QTY_NOT_EXISTS); } // 根据库存类型 过滤 查询的库位 - if (locationList != null && locationList.size() > 0) { + if (locationList != null && !locationList.isEmpty()) { queryWrapper.in("location_code", locationList); } // 根据下架策略 作为查询库存余额条件 From a4e40783eac5357de46a320bc2c3b4504bb5d619 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Wed, 13 Dec 2023 08:28:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SupplierdeliverRequestMainServiceImpl.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java index b1d1a3f2..e394173f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java @@ -251,9 +251,8 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq } //主表校验 校验供应商基础信息 - private RuleRespVO validatordeliverGoods() { - RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null); - return ruleRespVO; + private RuleRespVO validatordeliverGoods(String supplierCode) { + return ruleService.deliverGoods(supplierCode, null); } //子表校验 校验供应商基础信息 @@ -273,10 +272,8 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq //子表校验 校验要货计划 private PurchasePlanDetailDO validatorPurchasePlan(SupplierdeliverRequestMainDO supplierdeliverRequestMainDO, SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO) { - PurchasePlanDetailDO purchasePlanDetailDO = - purchasePlanMainService.selectPurchasePlan(supplierdeliverRequestMainDO.getPpNumber(), supplierdeliverRequestMainDO.getSupplierCode(), + return purchasePlanMainService.selectPurchasePlan(supplierdeliverRequestMainDO.getPpNumber(), supplierdeliverRequestMainDO.getSupplierCode(), supplierdeliverRequestDetailDO.getPoNumber(), supplierdeliverRequestDetailDO.getPoLine(), supplierdeliverRequestDetailDO.getItemCode()); - return purchasePlanDetailDO; } //校验主表公共方法(适用于新增/修改) @@ -286,7 +283,7 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq if (supplierDO == null) { throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); } - RuleRespVO ruleRespVO = validatordeliverGoods(); + RuleRespVO ruleRespVO = validatordeliverGoods(mainDo.getSupplierCode()); if (ruleRespVO == null) { throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); } else {