Browse Source

盘点任务执行。

master
刘忱 2 years ago
parent
commit
a48f289643
  1. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobDetailUpdateReqVO.java
  2. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainUpdateReqVO.java
  3. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java
  4. 38
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailBaseVO.java
  5. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExcelVO.java
  6. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExportReqVO.java
  7. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailPageReqVO.java
  8. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java
  9. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java
  10. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java
  11. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java
  12. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRecord/CountRecordDetailDO.java
  13. 43
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestDetailDO.java
  14. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java
  15. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestDetailMapper.java
  16. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java
  17. 133
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java
  18. 47
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java
  19. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java
  20. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java
  21. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobDetailUpdateReqVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.countJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 盘点任务子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CountJobDetailUpdateReqVO extends CountJobDetailBaseVO {
@Schema(description = "盘点数量")
private BigDecimal countQty;
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainUpdateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.countJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.Valid;
import java.util.List;
@Schema(description = "管理后台 - 盘点任务主更新 Request VO")
@Data
@ -9,4 +14,6 @@ import lombok.*;
@ToString(callSuper = true)
public class CountJobMainUpdateReqVO extends CountJobMainBaseVO {
@Schema(description = "子表数据")
private List<@Valid CountJobDetailUpdateReqVO> subList;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java

@ -1,14 +1,12 @@
package com.win.module.wms.controller.countRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
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;

38
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailBaseVO.java

@ -1,16 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
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;
@ -29,14 +25,14 @@ public class CountadjustRequestDetailBaseVO {
private String countDetailNumber;
@Schema(description = "货主代码")
private String ownerlCode;
private String ownerCode;
@Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "包装号不能为空")
private String packinglNumber;
private String packingNumber;
@Schema(description = "器具号")
private String containerlNumber;
private String containerNumber;
@Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "批次不能为空")
@ -44,22 +40,22 @@ public class CountadjustRequestDetailBaseVO {
@Schema(description = "库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库位代码不能为空")
private String locationlCode;
private String locationCode;
@Schema(description = "库存状态")
private String inventorylStatus;
private String inventoryStatus;
@Schema(description = "库存数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库存数量不能为空")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@Schema(description = "盘点数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "盘点数量不能为空")
private BigDecimal countlQty;
private BigDecimal countQty;
@Schema(description = "调整数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "调整数量不能为空")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@Schema(description = "单据号")
private String number;
@ -76,16 +72,16 @@ public class CountadjustRequestDetailBaseVO {
private String creator;
@Schema(description = "物品名称")
private String itemlName;
private String itemName;
@Schema(description = "物品描述1")
private String itemlDesc1;
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemlDesc2;
private String itemDesc2;
@Schema(description = "项目代码")
private String projectlCode;
private String projectCode;
@Schema(description = "数量")
private BigDecimal qty;
@ -101,6 +97,6 @@ public class CountadjustRequestDetailBaseVO {
private String updater;
@Schema(description = "物品代码")
private String itemlCode;
private String itemCode;
}

40
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExcelVO.java

@ -1,18 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -27,32 +21,32 @@ public class CountadjustRequestDetailExcelVO {
private String countDetailNumber;
@ExcelProperty("货主代码")
private String ownerlCode;
private String ownerCode;
@ExcelProperty("包装号")
private String packinglNumber;
private String packingNumber;
@ExcelProperty("器具号")
private String containerlNumber;
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("库位代码")
private String locationlCode;
private String locationCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventorylStatus;
private String inventoryStatus;
@ExcelProperty("库存数量")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@ExcelProperty("盘点数量")
private BigDecimal countlQty;
private BigDecimal countQty;
@ExcelProperty("调整数量")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@ExcelProperty("单据号")
private String number;
@ -67,16 +61,16 @@ public class CountadjustRequestDetailExcelVO {
private String creator;
@ExcelProperty("物品名称")
private String itemlName;
private String itemName;
@ExcelProperty("物品描述1")
private String itemlDesc1;
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemlDesc2;
private String itelDesc2;
@ExcelProperty("项目代码")
private String projectlCode;
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ -92,6 +86,6 @@ public class CountadjustRequestDetailExcelVO {
private String updater;
@ExcelProperty("物品代码")
private String itemlCode;
private String itemCode;
}

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExportReqVO.java

@ -1,13 +1,11 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -19,31 +17,31 @@ public class CountadjustRequestDetailExportReqVO {
private String countDetailNumber;
@Schema(description = "货主代码")
private String ownerlCode;
private String ownerCode;
@Schema(description = "包装号")
private String packinglNumber;
private String packingNumber;
@Schema(description = "器具号")
private String containerlNumber;
private String containerNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "库位代码")
private String locationlCode;
private String locationCode;
@Schema(description = "库存状态")
private String inventorylStatus;
private String inventoryStatus;
@Schema(description = "库存数量")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@Schema(description = "盘点数量")
private BigDecimal countlQty;
private BigDecimal countQty;
@Schema(description = "调整数量")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@Schema(description = "单据号")
private String number;
@ -59,16 +57,16 @@ public class CountadjustRequestDetailExportReqVO {
private String creator;
@Schema(description = "物品名称")
private String itemlName;
private String itemName;
@Schema(description = "物品描述1")
private String itemlDesc1;
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemlDesc2;
private String itemDesc2;
@Schema(description = "项目代码")
private String projectlCode;
private String projectCode;
@Schema(description = "数量")
private BigDecimal qty;
@ -84,6 +82,6 @@ public class CountadjustRequestDetailExportReqVO {
private String updater;
@Schema(description = "物品代码")
private String itemlCode;
private String itemCode;
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailPageReqVO.java

@ -1,12 +1,13 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -21,31 +22,31 @@ public class CountadjustRequestDetailPageReqVO extends PageParam {
private String countDetailNumber;
@Schema(description = "货主代码")
private String ownerlCode;
private String ownerCode;
@Schema(description = "包装号")
private String packinglNumber;
private String packingNumber;
@Schema(description = "器具号")
private String containerlNumber;
private String containerNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "库位代码")
private String locationlCode;
private String locationCode;
@Schema(description = "库存状态")
private String inventorylStatus;
private String inventoryStatus;
@Schema(description = "库存数量")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@Schema(description = "盘点数量")
private BigDecimal countlQty;
private BigDecimal countQty;
@Schema(description = "调整数量")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@Schema(description = "单据号")
private String number;
@ -61,16 +62,16 @@ public class CountadjustRequestDetailPageReqVO extends PageParam {
private String creator;
@Schema(description = "物品名称")
private String itemlName;
private String itemName;
@Schema(description = "物品描述1")
private String itemlDesc1;
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemlDesc2;
private String itemDesc2;
@Schema(description = "项目代码")
private String projectlCode;
private String projectCode;
@Schema(description = "数量")
private BigDecimal qty;
@ -86,6 +87,6 @@ public class CountadjustRequestDetailPageReqVO extends PageParam {
private String updater;
@Schema(description = "物品代码")
private String itemlCode;
private String itemCode;
}

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java

@ -1,15 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.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.time.LocalDateTime;
import javax.validation.constraints.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
@ -22,10 +19,6 @@ public class CountadjustRequestMainBaseVO {
@Schema(description = "id", example = "id")
private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "盘点记录单号")
private String countRecordNumber;

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java

@ -1,16 +1,11 @@
package com.win.module.wms.controller.countadjustRequest.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.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.time.LocalDateTime;
/**
@ -21,9 +16,6 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CountadjustRequestMainExcelVO {
@ExcelProperty("申请单号")
private String requestNumber;
@ExcelProperty("盘点记录单号")
private String countRecordNumber;

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java

@ -1,21 +1,17 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 盘点调整申请主 Excel 导出 Request VO,参数和 CountadjustRequestMainPageReqVO 是一致的")
@Data
public class CountadjustRequestMainExportReqVO {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "盘点记录单号")
private String countRecordNumber;

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java

@ -1,10 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -15,9 +17,6 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true)
public class CountadjustRequestMainPageReqVO extends PageParam {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "盘点记录单号")
private String countRecordNumber;

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRecord/CountRecordDetailDO.java

@ -1,13 +1,13 @@
package com.win.module.wms.dal.dataobject.countRecord;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 盘点记录子 DO
@ -121,7 +121,7 @@ public class CountRecordDetailDO extends BaseDO {
/**
* 主表ID
*/
private String masterId;
private Long masterId;
/**
* 单据号
*/

43
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestDetailDO.java

@ -1,15 +1,12 @@
package com.win.module.wms.dal.dataobject.countadjustRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 盘点调整申请子 DO
@ -37,15 +34,15 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 货主代码
*/
private String ownerlCode;
private String ownerCode;
/**
* 包装号
*/
private String packinglNumber;
private String packingNumber;
/**
* 器具号
*/
private String containerlNumber;
private String containerNumber;
/**
* 批次
*/
@ -53,25 +50,25 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 库位代码
*/
private String locationlCode;
private String locationCode;
/**
* 库存状态
*
* 枚举 {@link TODO inventory_status 对应的类}
*/
private String inventorylStatus;
private String inventoryStatus;
/**
* 库存数量
*/
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
/**
* 盘点数量
*/
private BigDecimal countlQty;
private BigDecimal countQty;
/**
* 调整数量
*/
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
/**
* 主表ID
*/
@ -87,23 +84,23 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 地点ID
*/
private Long sitelId;
private Long siteId;
/**
* 物品名称
*/
private String itemlName;
private String itemName;
/**
* 物品描述1
*/
private String itemlDesc1;
private String itemDesc1;
/**
* 物品描述2
*/
private String itemlDesc2;
private String itemDesc2;
/**
* 项目代码
*/
private String projectlCode;
private String projectCode;
/**
* 数量
*/
@ -117,10 +114,10 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
private String concurrencylStamp;
private String concurrencyStamp;
/**
* 物品代码
*/
private String itemlCode;
private String itemCode;
}

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java

@ -1,13 +1,12 @@
package com.win.module.wms.dal.dataobject.countadjustRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 盘点调整申请主 DO
@ -28,10 +27,6 @@ public class CountadjustRequestMainDO extends BaseDO {
*/
@TableId
private Long id;
/**
* 申请单号
*/
private String requestNumber;
/**
* 盘点记录单号
*/
@ -40,10 +35,6 @@ public class CountadjustRequestMainDO extends BaseDO {
* 仓库代码
*/
private String warehouseCode;
/**
* details
*/
private String details;
/**
* 单据号
*/

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestDetailMapper.java

@ -1,15 +1,15 @@
package com.win.module.wms.dal.mysql.countadjustRequest;
import java.util.*;
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.module.wms.controller.countadjustRequest.vo.CountadjustRequestDetailExportReqVO;
import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 盘点调整申请子 Mapper
*
@ -21,56 +21,56 @@ public interface CountadjustRequestDetailMapper extends BaseMapperX<CountadjustR
default PageResult<CountadjustRequestDetailDO> selectPage(CountadjustRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CountadjustRequestDetailDO>()
.eqIfPresent(CountadjustRequestDetailDO::getCountDetailNumber, reqVO.getCountDetailNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerlCode, reqVO.getOwnerlCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackinglNumber, reqVO.getPackinglNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerlNumber, reqVO.getContainerlNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(CountadjustRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(CountadjustRequestDetailDO::getLocationlCode, reqVO.getLocationlCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylStatus, reqVO.getInventorylStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylQty, reqVO.getInventorylQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountlQty, reqVO.getCountlQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustlQty, reqVO.getAdjustlQty())
.eqIfPresent(CountadjustRequestDetailDO::getLocationCode, reqVO.getLocationCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryQty, reqVO.getInventoryQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountQty, reqVO.getCountQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustQty, reqVO.getAdjustQty())
.eqIfPresent(CountadjustRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(CountadjustRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(CountadjustRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(CountadjustRequestDetailDO::getCreator, reqVO.getCreator())
.likeIfPresent(CountadjustRequestDetailDO::getItemlName, reqVO.getItemlName())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc1, reqVO.getItemlDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc2, reqVO.getItemlDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectlCode, reqVO.getProjectlCode())
.likeIfPresent(CountadjustRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(CountadjustRequestDetailDO::getQty, reqVO.getQty())
.eqIfPresent(CountadjustRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(CountadjustRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(CountadjustRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(CountadjustRequestDetailDO::getItemlCode, reqVO.getItemlCode())
.eqIfPresent(CountadjustRequestDetailDO::getItemCode, reqVO.getItemCode())
.orderByDesc(CountadjustRequestDetailDO::getId));
}
default List<CountadjustRequestDetailDO> selectList(CountadjustRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CountadjustRequestDetailDO>()
.eqIfPresent(CountadjustRequestDetailDO::getCountDetailNumber, reqVO.getCountDetailNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerlCode, reqVO.getOwnerlCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackinglNumber, reqVO.getPackinglNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerlNumber, reqVO.getContainerlNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(CountadjustRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(CountadjustRequestDetailDO::getLocationlCode, reqVO.getLocationlCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylStatus, reqVO.getInventorylStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylQty, reqVO.getInventorylQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountlQty, reqVO.getCountlQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustlQty, reqVO.getAdjustlQty())
.eqIfPresent(CountadjustRequestDetailDO::getLocationCode, reqVO.getLocationCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryQty, reqVO.getInventoryQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountQty, reqVO.getCountQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustQty, reqVO.getAdjustQty())
.eqIfPresent(CountadjustRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(CountadjustRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(CountadjustRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(CountadjustRequestDetailDO::getCreator, reqVO.getCreator())
.likeIfPresent(CountadjustRequestDetailDO::getItemlName, reqVO.getItemlName())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc1, reqVO.getItemlDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc2, reqVO.getItemlDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectlCode, reqVO.getProjectlCode())
.likeIfPresent(CountadjustRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(CountadjustRequestDetailDO::getQty, reqVO.getQty())
.eqIfPresent(CountadjustRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(CountadjustRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(CountadjustRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(CountadjustRequestDetailDO::getItemlCode, reqVO.getItemlCode())
.eqIfPresent(CountadjustRequestDetailDO::getItemCode, reqVO.getItemCode())
.orderByDesc(CountadjustRequestDetailDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java

@ -22,7 +22,6 @@ public interface CountadjustRequestMainMapper extends BaseMapperX<CountadjustReq
default PageResult<CountadjustRequestMainDO> selectPage(CountadjustRequestMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CountadjustRequestMainDO>()
.eqIfPresent(CountadjustRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CountadjustRequestMainDO::getCountRecordNumber, reqVO.getCountRecordNumber())
.eqIfPresent(CountadjustRequestMainDO::getWarehouseCode, reqVO.getWarehouseCode())
.eqIfPresent(CountadjustRequestMainDO::getNumber, reqVO.getNumber())
@ -47,7 +46,6 @@ public interface CountadjustRequestMainMapper extends BaseMapperX<CountadjustReq
}
default List<CountadjustRequestMainDO> selectList(CountadjustRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CountadjustRequestMainDO>()
.eqIfPresent(CountadjustRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CountadjustRequestMainDO::getCountRecordNumber, reqVO.getCountRecordNumber())
.eqIfPresent(CountadjustRequestMainDO::getWarehouseCode, reqVO.getWarehouseCode())
.eqIfPresent(CountadjustRequestMainDO::getNumber, reqVO.getNumber())

133
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java

@ -1,27 +1,41 @@
package com.win.module.wms.service.countJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.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.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.countJob.vo.CountJobDetailUpdateReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
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.countRequest.CountRequestMainDO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestMainDO;
import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper;
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 org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@ -39,9 +53,21 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Resource
private CountJobMainMapper countJobMainMapper;
@Resource
private CountRecordMainMapper countRecordMainMapper;
@Resource
private CountRecordDetailMapper countRecordDetailMapper;
@Resource
private AdminUserApi userApi;
@Resource
private TrendsApi trendsApi;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private CountRequestMainMapper countRequestMainMapper;
@Resource
private CountadjustRequestMainMapper countadjustRequestMainMapper;
@Resource
private CountadjustRequestDetailMapper countadjustRequestDetailMapper;
@Override
public CountJobMainDO getCountJobMain(Long id) {
@ -123,7 +149,104 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Override
public String executeCountJobMain(CountJobMainUpdateReqVO countJobMainUpdateReqVO) {
return null;
//查询数据
CountJobMainDO countJobMainDO = this.validateCountJobMainExists(countJobMainUpdateReqVO.getId());
JobStatusState jobStatusState = new JobStatusState(countJobMainDO.getStatus());
boolean flag = jobStatusState.execute();
if(!flag) {
throw new ServiceException(INSPECT_JOB_MAIN_STATUS_ERROR);
}
//更新完成信息
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
countJobMainDO.setStatus(jobStatusState.getState().getCode());
countJobMainDO.setCompleteTime(LocalDateTime.now());
countJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
countJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
countJobMainMapper.updateById(countJobMainDO);
//创建采购收货记录主表
CountRecordMainDO countRecordMainDO = new CountRecordMainDO();
BeanUtils.copyProperties(countJobMainDO, countRecordMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.COUNT_RECORD.getCode());
countRecordMainDO.setNumber(number);
countRecordMainDO.setJobNumber(countJobMainDO.getNumber());
countRecordMainDO.setId(null);
countRecordMainDO.setCreator(null);
countRecordMainDO.setCreateTime(null);
countRecordMainDO.setUpdater(null);
countRecordMainDO.setUpdateTime(null);
countRecordMainMapper.insert(countRecordMainDO);
List<CountJobDetailUpdateReqVO> countJobDetailUpdateReqVOList = countJobMainUpdateReqVO.getSubList();
List<CountadjustRequestDetailDO> countadjustRequestDetailDOList = new ArrayList<>();
List<CountRecordDetailDO> countRecordDetailDOList = new ArrayList<>();
int countDetailNumber = 1;
for(CountJobDetailUpdateReqVO countJobDetailUpdateReqVO : countJobDetailUpdateReqVOList) {
CountRecordDetailDO countRecordDetailDO = new CountRecordDetailDO();
BeanUtils.copyProperties(countJobDetailUpdateReqVO, countRecordDetailDO);
countRecordDetailDO.setMasterId(countRecordMainDO.getId());
countRecordDetailDO.setNumber(number);
countRecordDetailDO.setJobDetailId(String.valueOf(countJobDetailUpdateReqVO.getId()));
countRecordDetailDO.setId(null);
countRecordDetailDO.setCreator(null);
countRecordDetailDO.setCreateTime(null);
countRecordDetailDO.setUpdater(null);
countRecordDetailDO.setUpdateTime(null);
countRecordDetailDOList.add(countRecordDetailDO);
//盘点记录数量不一致时生成盘点调整申请
if(countRecordDetailDO.getCountQty().compareTo(countRecordDetailDO.getQty()) != 0) {
CountadjustRequestDetailDO countadjustRequestDetailDO = new CountadjustRequestDetailDO();
BeanUtils.copyProperties(countRecordDetailDO, countadjustRequestDetailDO);
countadjustRequestDetailDO.setCountDetailNumber(String.valueOf(countDetailNumber));
countadjustRequestDetailDO.setInventoryQty(countRecordDetailDO.getQty());
countadjustRequestDetailDO.setCountQty(countRecordDetailDO.getCountQty());
//库存数量减盘点数量等于调整数量
countadjustRequestDetailDO.setAdjustQty(countRecordDetailDO.getQty().subtract(countRecordDetailDO.getCountQty()));
//调整数量的绝对值
countadjustRequestDetailDO.setQty(countadjustRequestDetailDO.getAdjustQty().abs());
countadjustRequestDetailDO.setId(null);
countadjustRequestDetailDO.setCreator(null);
countadjustRequestDetailDO.setCreateTime(null);
countadjustRequestDetailDO.setUpdater(null);
countadjustRequestDetailDO.setUpdateTime(null);
countadjustRequestDetailDOList.add(countadjustRequestDetailDO);
countDetailNumber++;
}
}
countRecordDetailMapper.insertBatch(countRecordDetailDOList);
//增加库存跳转
if(!countadjustRequestDetailDOList.isEmpty()) {
CountadjustRequestMainDO countadjustRequestMainDO = new CountadjustRequestMainDO();
BeanUtils.copyProperties(countRecordMainDO, countadjustRequestMainDO);
String adjustNumber = serialNumberApi.generateCode(RuleCodeEnum.COUNT_ADJUST_REQUEST.getCode());
countadjustRequestMainDO.setNumber(adjustNumber);
countadjustRequestMainDO.setCountRecordNumber(number);
countadjustRequestMainDO.setId(null);
countadjustRequestMainDO.setCreator(null);
countadjustRequestMainDO.setCreateTime(null);
countadjustRequestMainDO.setUpdater(null);
countadjustRequestMainDO.setUpdateTime(null);
countadjustRequestMainMapper.insert(countadjustRequestMainDO);
for(CountadjustRequestDetailDO countadjustRequestDetailDO : countadjustRequestDetailDOList) {
countadjustRequestDetailDO.setMasterId(countadjustRequestMainDO.getId());
countadjustRequestDetailDO.setNumber(adjustNumber);
}
countadjustRequestDetailMapper.insertBatch(countadjustRequestDetailDOList);
}
List<String> typeList = new ArrayList<>();
typeList.add(JobStatusEnum.PENDING.getCode());
typeList.add(JobStatusEnum.PROCESSING.getCode());
Long count = countJobMainMapper.selectListCount(typeList, countJobMainDO.getRequestNumber());
CountRequestMainDO countRequestMainDO = countRequestMainMapper.selectByNumber(countJobMainDO.getRequestNumber());
//申请单下所有任务全部完成
if(count == 0) {
countRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
countRequestMainMapper.updateById(countRequestMainDO);
} else if(countRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成
countRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode());
countRequestMainMapper.updateById(countRequestMainDO);
}
return number;
}
private CountJobMainDO validateCountJobMainExists(Long id) {

47
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java

@ -15,6 +15,7 @@ import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestDetailCreateReqVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainCreateReqVO;
import com.win.module.wms.controller.location.vo.LocationExportReqVO;
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert;
import com.win.module.wms.convert.countPlan.CountPlanMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
@ -22,6 +23,7 @@ import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper;
import com.win.module.wms.dal.mysql.countPlan.CountPlanMainMapper;
@ -29,6 +31,7 @@ import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.enums.plan.PlanStatusState;
import com.win.module.wms.service.countRequest.CountRequestMainService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -36,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
@ -71,6 +75,8 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
private ItembasicService itembasicService;
@Resource
private CountRequestMainService countRequestMainService;
@Resource
private LocationService locationService;
@Override
public Long createCountPlanMain(CountPlanMainCreateReqVO createReqVO) {
@ -293,16 +299,49 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
countRequestMainCreateReqVO.setRequestTime(LocalDateTime.now());
countRequestMainCreateReqVO.setDueTime(LocalDateTime.now());
List<CountRequestDetailCreateReqVO> subList = new ArrayList<>();
for (int i = 0; i< balanceDOList.size(); i++) {
BalanceDO balanceDO = balanceDOList.get(i);
int countDetailNumber = 1;
for (BalanceDO balanceDO : balanceDOList) {
CountRequestDetailCreateReqVO countRequestDetailCreateReqVO = new CountRequestDetailCreateReqVO();
BeanUtils.copyProperties(balanceDO, countRequestDetailCreateReqVO);
ItembasicDO itembasicDO = itembasicService.selectItembasic(balanceDO.getItemCode());
countRequestDetailCreateReqVO.setItemName(itembasicDO.getName());
countRequestDetailCreateReqVO.setItemDesc1(itembasicDO.getDesc1());
countRequestDetailCreateReqVO.setItemDesc2(itembasicDO.getDesc2());
countRequestDetailCreateReqVO.setCountDetailNumber(String.valueOf(i + 1));
subList.add(countRequestDetailCreateReqVO);
countRequestDetailCreateReqVO.setCountDetailNumber(String.valueOf(countDetailNumber));
if(countRequestDetailCreateReqVO.getQty().compareTo(BigDecimal.ZERO) == 0) {
if ("TRUE".equals(mainDO.getIsCountZeroInventory())) {
subList.add(countRequestDetailCreateReqVO);
}
} else if (countRequestDetailCreateReqVO.getQty().compareTo(BigDecimal.ZERO) < 0) {
if ("TRUE".equals(mainDO.getIsCountNegativeInventory())) {
subList.add(countRequestDetailCreateReqVO);
}
} else {
subList.add(countRequestDetailCreateReqVO);
}
countDetailNumber++;
}
//盘点空库位,补齐空库位,在生成任务时拆分为只有主的盘点任务
if("TRUE".equals(mainDO.getIsCountEmptyLocation())) {
LocationExportReqVO locationExportReqVO = new LocationExportReqVO();
locationExportReqVO.setAvailable("TRUE");
List<LocationDO> locationDOList = locationService.getLocationList(new LocationExportReqVO());
for(LocationDO locationDO : locationDOList) {
boolean flag = false;
for(CountRequestDetailCreateReqVO countRequestDetailCreateReqVO : subList) {
if(countRequestDetailCreateReqVO.getLocationCode().equals(locationDO.getCode())) {
flag = true;
break;
}
}
if(!flag) {
CountRequestDetailCreateReqVO countRequestDetailCreateReqVO = new CountRequestDetailCreateReqVO();
countRequestDetailCreateReqVO.setCountDetailNumber(String.valueOf(countDetailNumber));
countRequestDetailCreateReqVO.setLocationCode(locationDO.getCode());
subList.add(countRequestDetailCreateReqVO);
countDetailNumber++;
}
}
}
countRequestMainCreateReqVO.setSubList(subList);
countRequestMainService.createCountRequestMain(countRequestMainCreateReqVO);

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java

@ -37,6 +37,7 @@ import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestDetailMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.itembasic.ItembasicService;
@ -371,10 +372,9 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
list.add(detailDO);
listMap.put(detailDO.getLocationCode(), list);
}
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("PurchaseReceiptJob");
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("CountJob");
//组装任务数据
for(String mapKey : listMap.keySet()) {
List<CountRequestDetailDO> countRequestDetailDOList = listMap.get(mapKey);
CountJobMainDO countJobMainDO = CountJobMainConvert.INSTANCE.convert(mainDO);
countJobMainDO.setRequestNumber(mainDO.getNumber());
countJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
@ -391,15 +391,33 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
countJobMainDO.setBusinessType(businesstypeDO.getCode());
countJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());
countJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());
countJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.COUNT_JOB.getCode());
countJobMainDO.setNumber(number);
countJobMainDO.setId(null);
countJobMainDO.setCreateTime(null);
countJobMainDO.setCreator(null);
countJobMainDO.setUpdateTime(null);
countJobMainDO.setUpdater(null);
countJobMainMapper.insert(countJobMainDO);
List<CountJobDetailDO> countJobDetailDOList = new ArrayList<>();
for (int i = 0; i< countRequestDetailDOList.size(); i++) {
CountRequestDetailDO countRequestDetailDO = countRequestDetailDOList.get(i);
CountJobDetailDO countJobDetailDO = CountJobDetailConvert.INSTANCE.convert(countRequestDetailDO);
countJobDetailDO.setCountDetailNumber(String.valueOf(i + 1));
countJobDetailDOList.add(countJobDetailDO);
List<CountRequestDetailDO> countRequestDetailDOList = listMap.get(mapKey);
int countDetailNumber = 1;
for (CountRequestDetailDO countRequestDetailDO : countRequestDetailDOList) {
//空库位时itemCode为空,不加入子表
if(countRequestDetailDO.getItemCode() != null && !countRequestDetailDO.getItemCode().isEmpty()) {
CountJobDetailDO countJobDetailDO = CountJobDetailConvert.INSTANCE.convert(countRequestDetailDO);
countJobDetailDO.setCountDetailNumber(String.valueOf(countDetailNumber));
countJobDetailDO.setNumber(number);
countJobDetailDO.setMasterId(countJobMainDO.getId());
countJobDetailDOList.add(countJobDetailDO);
countDetailNumber++;
}
}
if(!countJobDetailDOList.isEmpty()) {
countJobDetailMapper.insertBatch(countJobDetailDOList);
}
countJobDetailMapper.insertBatch(countJobDetailDOList);
trendsApi.createTrends(countJobMainDO.getId(), "countJob", "盘点申请生成盘点任务", TrendsTypeEnum.CREATE);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java

@ -190,7 +190,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
inspectJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
inspectJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
int result = inspectJobMainMapper.updateById(inspectJobMainDO);
inspectJobMainMapper.updateById(inspectJobMainDO);
//创建采购收货记录主表
InspectRecordMainDO inspectRecordMainDO = new InspectRecordMainDO();
BeanUtils.copyProperties(inspectJobMainDO, inspectRecordMainDO);

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

@ -273,6 +273,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
List<PurchaseshortageDetailDO> purchaseshortageDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
Map<String, BigDecimal> poQtyMap = new HashMap<>();
for(PurchasereceiptJobDetailDO purchasereceiptJobDetailDO : subList) {
boolean isExists = false;
PurchasereceiptJobDetailUpdateReqVO purchasereceiptJobDetailUpdateReqVOTemp = null;
@ -311,8 +312,13 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchasereceiptRecordDetailDO.setUpdateTime(null);
purchasereceiptRecordDetailDO.setUpdater(null);
purchasereceiptRecordDetailDOList.add(purchasereceiptRecordDetailDO);
//更新采购订单明细的收货数量
purchaseMainService.updateOrderPurchaseReceivedQty(purchasereceiptRecordDetailDO.getPoNumber(), purchasereceiptRecordDetailDO.getPoLine(), purchasereceiptRecordDetailDO.getItemCode(), purchasereceiptRecordDetailDO.getQty());
BigDecimal poQty = poQtyMap.get(purchasereceiptRecordDetailDO.getPoNumber() + "_" + purchasereceiptRecordDetailDO.getPoLine() + "_" + purchasereceiptRecordDetailDO.getItemCode());
if(poQty == null) {
poQty = purchasereceiptRecordDetailDO.getQty();
} else {
poQty = poQty.add(purchasereceiptRecordDetailDO.getQty());
}
poQtyMap.put(purchasereceiptRecordDetailDO.getPoNumber() + "_" + purchasereceiptRecordDetailDO.getPoLine() + "_" + purchasereceiptRecordDetailDO.getItemCode(), poQty);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordDetailDO, transactionCreateReqVO);
@ -358,6 +364,11 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchaseshortageDetailDOList.add(purchaseshortageDetailDO);
}
}
for(String key : poQtyMap.keySet()) {
String[] keys = key.split("_");
//更新采购订单明细的收货数量
purchaseMainService.updateOrderPurchaseReceivedQty(keys[0], keys[1], keys[2], poQtyMap.get(key));
}
if(!purchasereceiptRecordDetailDOList.isEmpty()) {
purchasereceiptRecordDetailMapper.insertBatch(purchasereceiptRecordDetailDOList);
}

Loading…
Cancel
Save