diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index 2b9af940..8fbf488e 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -404,24 +404,20 @@ public interface ErrorCodeConstants { ErrorCode PURCHASE_PLAN_DETAIL_NOT_EXISTS = new ErrorCode(1_000_069_001, "要货计划子不存在"); //供应商发货申请主ErrorCode ErrorCode SUPPLIERDELIVER_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_070_000, "供应商发货申请主不存在"); - //供应商发货申请子ErrorCode ErrorCode SUPPLIERDELIVER_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_070_001, "供应商发货申请子不存在"); - //供应商发货记录主ErrorCode ErrorCode SUPPLIERDELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_071_000, "供应商发货记录主不存在"); - //供应商发货记录子ErrorCode ErrorCode SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_071_001, "供应商发货记录不存在"); - //采购收货申请主ErrorCode ErrorCode PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_072_000, "采购收货申请主不存在"); - //采购收货申请子ErrorCode ErrorCode PURCHASERECEIPT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_072_001, "采购收货申请子不存在"); //采购收货任务主ErrorCode ErrorCode PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_073_000, "采购收货任务主不存在"); //采购收货任务子ErrorCode ErrorCode PURCHASERECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_073_001, "采购收货任务子不存在"); ErrorCode PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_073_002, "采购收货任务状态错误"); - //采购收货记录主ErrorCode + ErrorCode PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "采购收货不是新增状态,不能修改"); + ErrorCode PURCHASERECEIPT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "采购收货存在采购收货任务单,不能删除"); + //采购收货任务子ErrorCode ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在"); - //采购收货记录子ErrorCode ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在"); //采购退货申请主ErrorCode ErrorCode PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_075_000, "采购退货申请主不存在"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java index 4a13dbde..620c5556 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java @@ -1,19 +1,13 @@ package com.win.module.wms.controller.purchasereceiptRequest.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.math.BigDecimal; -import java.math.BigDecimal; -import java.math.BigDecimal; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; -import org.springframework.format.annotation.DateTimeFormat; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -35,49 +29,42 @@ public class PurchasereceiptRequestDetailBaseVO { private String containerNumber; @Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "批次不能为空") + @NotBlank(message = "批次不能为空") private String batch; @Schema(description = "替代批次") private String altBatch; @Schema(description = "到货日期", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "到货日期不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime arriveDate; @Schema(description = "生产日期", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "生产日期不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime produceDate; @Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "过期日期不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime expireDate; @Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "库存状态不能为空") private String inventoryStatus; @Schema(description = "从库位代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从库位代码不能为空") private String fromLocationCode; @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单号不能为空") + @NotBlank(message = "订单号不能为空") private String poNumber; @Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单行不能为空") + @NotBlank(message = "订单行不能为空") private String poLine; @Schema(description = "标包数量", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "标包数量不能为空") private BigDecimal stdPackQty; @Schema(description = "标包单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "标包单位不能为空") private String stdPackUnit; @Schema(description = "供应商计量数量") @@ -87,14 +74,13 @@ public class PurchasereceiptRequestDetailBaseVO { private String supplierPackUnit; @Schema(description = "转换率", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "转换率不能为空") private BigDecimal convertRate; @Schema(description = "单据号") private String number; @Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物品代码不能为空") + @NotBlank(message = "物品代码不能为空") private String itemCode; @Schema(description = "备注") @@ -113,9 +99,11 @@ public class PurchasereceiptRequestDetailBaseVO { private String projectCode; @Schema(description = "数量") + @NotBlank(message = "数量不能为空") private BigDecimal qty; @Schema(description = "计量单位") + @NotBlank(message = "计量单位不能为空") private String uom; @Schema(description = "最后更新时间") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainBaseVO.java index e5458877..b2f17c52 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainBaseVO.java @@ -1,15 +1,13 @@ package com.win.module.wms.controller.purchasereceiptRequest.vo; +import com.win.framework.excel.core.annotations.OnlyOne; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.NotBlank; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -22,15 +20,15 @@ public class PurchasereceiptRequestMainBaseVO { @Schema(description = "id", example = "id") private Long id; - @Schema(description = "发货单号") private String asnNumber; @Schema(description = "要货计划单号") private String ppNumber; + @OnlyOne @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "供应商代码不能为空") + @NotBlank(message = "供应商代码不能为空") private String supplierCode; @Schema(description = "承运商") @@ -40,11 +38,9 @@ public class PurchasereceiptRequestMainBaseVO { private String transferMode; @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从仓库代码不能为空") private String fromWarehouseCode; @Schema(description = "到仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "到仓库代码不能为空") private String toWarehouseCode; @Schema(description = "从库位类型范围") @@ -63,11 +59,9 @@ public class PurchasereceiptRequestMainBaseVO { private String toDockCode; @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据号不能为空") private String number; @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "业务类型不能为空") private String businessType; @Schema(description = "备注") @@ -89,7 +83,6 @@ public class PurchasereceiptRequestMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "最后更新时间") @@ -103,19 +96,15 @@ public class PurchasereceiptRequestMainBaseVO { private String status; @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动提交不能为空") private String autoCommit; @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动通过不能为空") private String autoAgree; @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动执行不能为空") private String autoExecute; @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "直接生成记录不能为空") private String directCreateRecord; @Schema(description = "车牌号") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainCreateReqVO.java index 9a86508e..3347b443 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainCreateReqVO.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import javax.validation.Valid; import java.util.List; @Schema(description = "管理后台 - 采购收货申请主创建 Request VO") @@ -16,5 +17,5 @@ public class PurchasereceiptRequestMainCreateReqVO extends PurchasereceiptReques @SubObject @Schema(description = "子表数据") - private List subList; + private List<@Valid PurchasereceiptRequestDetailCreateReqVO> subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportVO.java index a261ea49..56440b11 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportVO.java @@ -1,12 +1,12 @@ package com.win.module.wms.controller.purchasereceiptRequest.vo; import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; +import javax.validation.constraints.NotBlank; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -24,41 +24,48 @@ public class PurchasereceiptRequestMainImportVO { //主表数据 @ExcelProperty("供应商代码") - private String supplier_code; + private String supplierCode; + @NotBlank(message="订单号不能为空") @ExcelProperty("订单号") - private String po_number; + private String poNumber; + @NotBlank(message="订单行不能为空") @ExcelProperty("订单行") - private String po_line; + private String poLine; + @NotBlank(message="物品代码不能为空") @ExcelProperty("物品代码") - private String item_code; + private String itemCode; + @NotBlank(message="批次不能为空") @ExcelProperty("批次") private String batch; + @NotBlank(message="数量不能为空") @ExcelProperty("数量") - @ColumnWidth(value = 16) private String qty; + @NotBlank(message="计量单位不能为空") @ExcelProperty("计量单位") - @ColumnWidth(value = 16) private String uom; @ExcelProperty("到货日期") - private String isConsignment; + private LocalDateTime arriveDate; @ExcelProperty("生产日期") - private LocalDateTime dueDate; + private LocalDateTime produceDate; //子表数据 @ExcelProperty("过期日期") - private String itemCode; + private LocalDateTime expireDate; + @ExcelProperty("承运商") - private String orderQty; + private String carrierCode; + @ExcelProperty("运输方式") - private String aa; + private String transferMode; + @ExcelProperty("车牌号") - private BigDecimal overReceivingPercent; + private BigDecimal vehiclePlateNumber; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRequest/PurchasereceiptRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRequest/PurchasereceiptRequestMainConvert.java index d7bb9b49..d06e7f47 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRequest/PurchasereceiptRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRequest/PurchasereceiptRequestMainConvert.java @@ -1,16 +1,13 @@ package com.win.module.wms.convert.purchasereceiptRequest; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainCreateReqVO; -import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExcelVO; -import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainRespVO; -import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainUpdateReqVO; +import com.win.module.wms.controller.purchasereceiptRequest.vo.*; +import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; +import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO; + +import java.util.List; /** * 采购收货申请主 Convert @@ -34,4 +31,6 @@ public interface PurchasereceiptRequestMainConvert { List convertList02(List list); + PurchasereceiptRequestMainImportErrorVO convert(PurchasereceiptRequestMainCreateReqVO mainVo, PurchasereceiptRequestDetailDO detailDo); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java index ef4118ab..2ba7151b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java @@ -1,15 +1,18 @@ package com.win.module.wms.dal.mysql.purchasereceiptJob; -import java.util.*; - 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.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO; +import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO; +import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainRespVO; import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobMainDO; +import com.win.module.wms.enums.order.OrderStatusEnum; import org.apache.ibatis.annotations.Mapper; -import com.win.module.wms.controller.purchasereceiptJob.vo.*; + +import java.util.List; /** * 采购收货任务主 Mapper @@ -71,6 +74,13 @@ public interface PurchasereceiptJobMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } + + default Long selectByRequestNumber(String requestNumbere) { + return selectCount(new LambdaQueryWrapperX() + .eq(PurchasereceiptJobMainDO::getRequestNumber, requestNumbere) + .eq(PurchasereceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode())); + } + default List selectList(PurchasereceiptJobMainExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(PurchasereceiptJobMainDO::getRequestNumber, reqVO.getRequestNumber()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java index 8391f231..85378b4c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java @@ -1,17 +1,17 @@ package com.win.module.wms.dal.mysql.purchasereceiptRequest; -import java.util.*; - 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.purchasereceiptRequest.vo.PurchasereceiptRequestMainExportReqVO; import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainPageReqVO; import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 采购收货申请主 Mapper * @@ -55,6 +55,11 @@ public interface PurchasereceiptRequestMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } + + default PurchasereceiptRequestMainDO selectBySupplierCode(String supplierCode) { + return selectOne(PurchasereceiptRequestMainDO::getSupplierCode,supplierCode); + } + default List selectList(PurchasereceiptRequestMainExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(PurchasereceiptRequestMainDO::getAsnNumber, reqVO.getAsnNumber()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java index 526fefed..8643caf1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java @@ -1,19 +1,19 @@ package com.win.module.wms.enums.job; public enum JobStatusEnum { - PENDING(1), // 待处理 - PROCESSING(2), // 进行中 - COMPLETED(3), // 完成 - CLOSED(4), // 关闭 + PENDING("1"), // 待处理 + PROCESSING("2"), // 进行中 + COMPLETED("3"), // 完成 + CLOSED("4"), // 关闭 ; - private final Integer code; + private final String code; - JobStatusEnum(int code) { + JobStatusEnum(String code) { this.code = code; } - public int getCode() { + public String getCode() { return code; } @@ -22,9 +22,9 @@ public enum JobStatusEnum { * @param status * @return */ - static JobStatusEnum getJobStatusEnum(int status) { + static JobStatusEnum getJobStatusEnum(String status) { for (JobStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode() == status) { + if (jobStatusEnum.getCode().equals(status)) { return jobStatusEnum; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java index 67ce9957..083d2395 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java @@ -21,7 +21,7 @@ public class JobStatusState { * 构造函数,当前状态 * @param status */ - public JobStatusState(int status) { + public JobStatusState(String status) { this.jobStatusEnum = JobStatusEnum.getJobStatusEnum(status); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java index 2075345c..8460e6cd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java @@ -2,18 +2,18 @@ package com.win.module.wms.enums.order; public enum OrderStatusEnum { - READY(1), // 准备 - PUBLISHED(2), // 发布 - CLOSED(3), // 关闭 - COMPLETED(4), // 已完成 + READY("1"), // 准备 + PUBLISHED("2"), // 发布 + CLOSED("3"), // 关闭 + COMPLETED("4"), // 已完成 ; - private final Integer code; + private String code; - OrderStatusEnum(int code) { + OrderStatusEnum(String code) { this.code = code; } - public int getCode() { + public String getCode() { return code; } @@ -22,9 +22,9 @@ public enum OrderStatusEnum { * @param status * @return */ - static OrderStatusEnum getJobStatusEnum(int status) { + static OrderStatusEnum getJobStatusEnum(String status) { for (OrderStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode() == status) { + if (jobStatusEnum.getCode().equals(status)) { return jobStatusEnum; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java index 129062c5..e4f1ca88 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java @@ -21,7 +21,7 @@ public class OrderStatusState { * 构造函数,当前状态 * @param status */ - public OrderStatusState(int status) { + public OrderStatusState(String status) { this.orderStatusEnum = OrderStatusEnum.getJobStatusEnum(status); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java index 2ee174a1..5d758576 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java @@ -2,21 +2,21 @@ package com.win.module.wms.enums.plan; public enum PlanStatusEnum { - NEW(1), // 新增 - REVIEWING(2), // 审批中 - AGREED(3), // 审批通过 - REFUSED(4), // 审批驳回 - CLOSED(5), // 关闭 - PUBLISHED(6), // 发布 - COMPLETED(7), // 已完成 + NEW("1"), // 新增 + REVIEWING("2"), // 审批中 + AGREED("3"), // 审批通过 + REFUSED("4"), // 审批驳回 + CLOSED("5"), // 关闭 + PUBLISHED("6"), // 发布 + COMPLETED("7"), // 已完成 ; - private final Integer code; + private final String code; - PlanStatusEnum(int code) { + PlanStatusEnum(String code) { this.code = code; } - public int getCode() { + public String getCode() { return code; } @@ -25,9 +25,9 @@ public enum PlanStatusEnum { * @param status * @return */ - static PlanStatusEnum getJobStatusEnum(int status) { + static PlanStatusEnum getJobStatusEnum(String status) { for (PlanStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode() == status) { + if (jobStatusEnum.getCode().equals(status)) { return jobStatusEnum; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java index f24926b6..b5fd1118 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java @@ -21,7 +21,7 @@ public class PlanStatusState { * 构造函数,当前状态 * @param status */ - public PlanStatusState(int status) { + public PlanStatusState(String status) { this.orderStatusEnum = PlanStatusEnum.getJobStatusEnum(status); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java index ea5947b0..09b0493b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java @@ -2,23 +2,23 @@ package com.win.module.wms.enums.request; public enum RequestStatusEnum { - NEW(1), // 新增 - REVIEWING(2), // 审批中 - AGREED(3), // 审批通过 - REFUSED(4), // 审批驳回 - CLOSED(5), // 关闭 - HANDLING(6), // 处理中 - PARTIAL(7), // 部分完成 - COMPLETED(8), // 已完成 - ABORT(9), // 中止 + NEW("1"), // 新增 + REVIEWING("2"), // 审批中 + AGREED("3"), // 审批通过 + REFUSED("4"), // 审批驳回 + CLOSED("5"), // 关闭 + HANDLING("6"), // 处理中 + PARTIAL("7"), // 部分完成 + COMPLETED("8"), // 已完成 + ABORT("9"), // 中止 ; - private final Integer code; + private final String code; - RequestStatusEnum(int code) { + RequestStatusEnum(String code) { this.code = code; } - public int getCode() { + public String getCode() { return code; } @@ -27,9 +27,9 @@ public enum RequestStatusEnum { * @param status * @return */ - static RequestStatusEnum getRequestStatusEnum(int status) { + static RequestStatusEnum getRequestStatusEnum(String status) { for (RequestStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode() == status) { + if (jobStatusEnum.getCode().equals(status)) { return jobStatusEnum; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java index 9c1180c4..097019eb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java @@ -23,7 +23,7 @@ public class RequestStatusState { * 构造函数,当前状态 * @param status */ - public RequestStatusState(int status) { + public RequestStatusState(String status) { this.requestStatusEnum = RequestStatusEnum.getRequestStatusEnum(status); } @@ -40,6 +40,7 @@ public class RequestStatusState { * @return */ public boolean newObject(RequestsettingDO requestsettingDO) { + this.requestStatusEnum = RequestStatusEnum.NEW; if("TRUE".equals(requestsettingDO.getAutoCommit())) { this.requestStatusEnum = RequestStatusEnum.REVIEWING; if("TRUE".equals(requestsettingDO.getAutoAgree())) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java index 65bdb60c..253ec0f7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java @@ -37,14 +37,14 @@ public interface PurchasereceiptRequestMainService { * * @param updateReqVO 更新信息 */ - void updatePurchasereceiptRequestMain(@Valid PurchasereceiptRequestMainUpdateReqVO updateReqVO); + Integer updatePurchasereceiptRequestMain(@Valid PurchasereceiptRequestMainUpdateReqVO updateReqVO); /** * 删除采购收货申请主 * * @param id 编号 */ - void deletePurchasereceiptRequestMain(Long id); + Integer deletePurchasereceiptRequestMain(Long id); /** * 获得采购收货申请主 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 be0d1472..034686a7 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 @@ -1,28 +1,43 @@ package com.win.module.wms.service.purchasereceiptRequest; import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.dict.core.util.DictFrameworkUtils; +import com.win.framework.common.util.validation.ValidationUtils; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.purchasereceiptRequest.vo.*; +import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert; import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert; 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.mysql.purchasereceiptJob.PurchasereceiptJobMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestDetailMapper; import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestMainMapper; -import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.enums.request.RequestStatusState; +import com.win.module.wms.service.itembasic.ItembasicService; +import com.win.module.wms.service.requestsetting.RequestsettingService; +import com.win.module.wms.service.rule.RuleService; +import com.win.module.wms.service.supplier.SupplierService; +import com.win.module.wms.service.supplieritem.SupplieritemService; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import javax.validation.Validator; +import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; -import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.*; /** * 采购收货申请主 Service 实现类 @@ -35,43 +50,95 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq @Resource private PurchasereceiptRequestMainMapper purchasereceiptRequestMainMapper; - @Resource private PurchasereceiptRequestDetailMapper purchasereceiptRequestDetailMapper; + @Resource + private ItembasicService itembasicService; + @Resource + private SupplierService supplierService; + @Resource + private SupplieritemService supplieritemService; + @Resource + private RuleService ruleService; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private Validator validator; + @Resource + private RequestsettingService requestsettingService; + @Resource + private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper; @Override public Long createPurchasereceiptRequestMain(PurchasereceiptRequestMainCreateReqVO createReqVO) { // 插入 - PurchasereceiptRequestMainDO purchasereceiptRequestMain = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO); - purchasereceiptRequestMainMapper.insert(purchasereceiptRequestMain); + PurchasereceiptRequestMainDO mainDo = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO); + this.validatePurchasereceiptRequestMainCreate(mainDo); + List subDOList = PurchasereceiptRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); + for (PurchasereceiptRequestDetailDO detailDO : subDOList) { + this.validatePurchasereceiptRequestDetailCreate(detailDO); + } + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + mainDo.setNumber(number); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest"); + RequestStatusState requestStatusState = new RequestStatusState(); + requestStatusState.newObject(requestsettingDO); + mainDo.setStatus(requestStatusState.getState().getCode()); + mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); + mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); + mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); + //调用自动执行方法 + if(requestsettingDO.getAutoCommit().equals("TRUE") && requestsettingDO.getAutoAgree().equals("TRUE") && requestsettingDO.getAutoExecute().equals("TREU")) { + + } + purchasereceiptRequestMainMapper.insert(mainDo); + for (PurchasereceiptRequestDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDo.getId()); + detailDO.setNumber(number); + } + purchasereceiptRequestDetailMapper.insertBatch(subDOList); // 返回 - return purchasereceiptRequestMain.getId(); + return mainDo.getId(); } @Override - public void updatePurchasereceiptRequestMain(PurchasereceiptRequestMainUpdateReqVO updateReqVO) { + public Integer updatePurchasereceiptRequestMain(PurchasereceiptRequestMainUpdateReqVO updateReqVO) { // 校验存在 - validatePurchasereceiptRequestMainExists(updateReqVO.getId()); + PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = validatePurchasereceiptRequestMainExists(updateReqVO.getId()); + if(existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW); + } // 更新 PurchasereceiptRequestMainDO updateObj = PurchasereceiptRequestMainConvert.INSTANCE.convert(updateReqVO); - purchasereceiptRequestMainMapper.updateById(updateObj); + return purchasereceiptRequestMainMapper.updateById(updateObj); } @Override public PageResult getPurchasereceiptRequestMainSenior(CustomConditions conditions) { return purchasereceiptRequestMainMapper.selectSenior(conditions); } @Override - public void deletePurchasereceiptRequestMain(Long id) { + public Integer deletePurchasereceiptRequestMain(Long id) { // 校验存在 - validatePurchasereceiptRequestMainExists(id); - // 删除 - purchasereceiptRequestMainMapper.deleteById(id); + PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = validatePurchasereceiptRequestMainExists(id); + Long count = purchasereceiptJobMainMapper.selectByRequestNumber(existPurchasereceiptRequestMainDO.getNumber()); + if(count > 0) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); + } + // 删除子表数据 + Map map = new HashMap<>(); + map.put("master_id", id); + //删除子表 + purchasereceiptRequestDetailMapper.deleteByMap(map); + // 删除主表 + return purchasereceiptRequestMainMapper.deleteById(id); } - private void validatePurchasereceiptRequestMainExists(Long id) { - if (purchasereceiptRequestMainMapper.selectById(id) == null) { + private PurchasereceiptRequestMainDO validatePurchasereceiptRequestMainExists(Long id) { + PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectById(id); + if (existPurchasereceiptRequestMainDO == null) { throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS); } + return existPurchasereceiptRequestMainDO; } @Override @@ -101,30 +168,151 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq } List errorList = new ArrayList<>(); datas.forEach(createReqVO -> { - // 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList - boolean isError = false; -// try { -// if(mode != null){ -// validatePurchaseclaimRequestMainExists(null); -// } -// } catch (ServiceException ex) { -// isError = true; -// importRemark += ex.getMessage() + ","; -// } - - createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); - PurchasereceiptRequestMainDO createObj = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO); - purchasereceiptRequestMainMapper.insert(createObj); + PurchasereceiptRequestMainDO mainDo = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO); + String messageMain = this.validatePurchasereceiptRequestMainImport(mainDo); List subList = createReqVO.getSubList(); List subDOList = PurchasereceiptRequestDetailConvert.INSTANCE.convertList03(subList); - // 新增子表数据 + // 是否有错误数据 + boolean flag = true; for (PurchasereceiptRequestDetailDO detailDO : subDOList) { - // 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList - detailDO.setNumber(createReqVO.getNumber()); + String messageDetail = this.validatePurchasereceiptRequestDetailImport(detailDO); + if(!messageMain.isEmpty() || messageDetail.isEmpty()) { + PurchasereceiptRequestMainImportErrorVO importErrorVO = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); + importErrorVO.setImportStatus("失败"); + messageMain = messageMain + messageDetail; + importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); + errorList.add(importErrorVO); + flag = false; + } + } + //写入数据 + if(flag) { + PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectBySupplierCode(mainDo.getSupplierCode()); + if(existPurchasereceiptRequestMainDO == null && mode != 3) {//新增 + purchasereceiptRequestMainMapper.insert(mainDo); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + mainDo.setNumber(number); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest"); + RequestStatusState requestStatusState = new RequestStatusState(); + requestStatusState.newObject(requestsettingDO); + mainDo.setStatus(requestStatusState.getState().getCode()); + mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); + mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); + mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); + for (PurchasereceiptRequestDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDo.getId()); + detailDO.setNumber(number); + } + //调用自动执行方法 + if(requestsettingDO.getAutoCommit().equals("TRUE") && requestsettingDO.getAutoAgree().equals("TRUE") && requestsettingDO.getAutoExecute().equals("TREU")) { + + } + purchasereceiptRequestDetailMapper.insertBatch(subDOList); + } else if(existPurchasereceiptRequestMainDO != null && existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode()) && mode != 2) {//修改 + BeanUtils.copyProperties(existPurchasereceiptRequestMainDO, mainDo); + purchasereceiptRequestMainMapper.updateById(mainDo); + for (PurchasereceiptRequestDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDo.getId()); + detailDO.setNumber(mainDo.getNumber()); + purchasereceiptRequestDetailMapper.insertBatch(subDOList); + } + } } - purchasereceiptRequestDetailMapper.insertBatch(subDOList); }); + //错误不为空并非部分更新,手工回滚 + if(!errorList.isEmpty() && !updatePart) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } return errorList; } + /** + * 校验导入,并赋值一些参数,未完全实现 + * @param mainDo + * @return + */ + private void validatePurchasereceiptRequestMainCreate(PurchasereceiptRequestMainDO mainDo) { + supplierService.selectSupplier(mainDo.getSupplierCode()); + RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null); + if(ruleRespVO == null) { + throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); + } else { + JSONArray conditionArray = JSONUtil.parseArray(ruleRespVO.getConfiguration()); + 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 ("DockCode".equals(conditionObject.get("ParamCode"))) { + mainDo.setToDockCode(String.valueOf(conditionObject.get("Value"))); + } + if ("OnTheWayLocationCode".equals(conditionObject.get("ParamCode"))) { + mainDo.setToWarehouseCode(String.valueOf(conditionObject.get("Value"))); + } + } + } + } + + /** + * 校验导入,并赋值一些参数,未完全实现 + * @param mainDo + * @return + */ + private String validatePurchasereceiptRequestMainImport(PurchasereceiptRequestMainDO mainDo) { + StringBuilder message = new StringBuilder(); + try { + ValidationUtils.validate(validator, mainDo); + } catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + try { + supplierService.selectSupplier(mainDo.getSupplierCode()); + } catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null); + if(ruleRespVO == null) { + message.append(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS.getMsg()); + } else { + JSONArray conditionArray = JSONUtil.parseArray(ruleRespVO.getConfiguration()); + 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 ("DockCode".equals(conditionObject.get("ParamCode"))) { + mainDo.setToDockCode(String.valueOf(conditionObject.get("Value"))); + } + if ("OnTheWayLocationCode".equals(conditionObject.get("ParamCode"))) { + mainDo.setToWarehouseCode(String.valueOf(conditionObject.get("Value"))); + } + } + } + return message.toString(); + } + + /** + * 校验导入,并赋值一些参数,未完全实现 + * @param detailDo + * @return + */ + private void validatePurchasereceiptRequestDetailCreate(PurchasereceiptRequestDetailDO detailDo) { + + } + + /** + * 校验导入,并赋值一些参数,未完全实现 + * @param detailDo + * @return + */ + private String validatePurchasereceiptRequestDetailImport(PurchasereceiptRequestDetailDO detailDo) { + StringBuilder message = new StringBuilder(); + try { + ValidationUtils.validate(validator, detailDo); + } catch (Exception ex) { + message.append(ex.getMessage()).append(","); + } + return message.toString(); + } + } 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 92dc4ff5..b28bc252 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 @@ -581,7 +581,7 @@ public class RuleServiceImpl implements RuleService { */ private boolean forEachParams(Map params, JSONArray conditionArray) { for(int i = 0; i < conditionArray.size(); i++) { - JSONObject conditionObject = conditionArray.getJSONObject(0); + JSONObject conditionObject = conditionArray.getJSONObject(i); for (String key : params.keySet()) { if(key.equals(conditionObject.get("ParamCode"))) { boolean result = this.checkCondition(conditionObject, key, params.get(key));