Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestMainController.java
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/ProductputawayRequestMainController.java
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
master
廉洪喜 2 years ago
parent
commit
d46d19682c
  1. 13
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestDetailExportReqVO.java
  3. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainRespVO.java
  4. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java
  5. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestDetailExportReqVO.java
  6. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainRespVO.java
  7. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/IssueRequestMainController.java
  8. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestDetailExportReqVO.java
  9. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainRespVO.java
  10. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainUpdateReqVO.java
  11. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/pickRequest/PickRequestMainController.java
  12. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/pickRequest/vo/PickRequestDetailExportReqVO.java
  13. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/pickRequest/vo/PickRequestMainRespVO.java
  14. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java
  15. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExportReqVO.java
  16. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemPageReqVO.java
  17. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestDetailExportReqVO.java
  18. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestMainRespVO.java
  19. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestDetailExportReqVO.java
  20. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainRespVO.java
  21. 68
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java
  22. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java
  23. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java
  24. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestDetailExportReqVO.java
  25. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainRespVO.java
  26. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java
  27. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestDetailExportReqVO.java
  28. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainRespVO.java
  29. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java
  30. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productionlineitem/ProductionlineitemDO.java
  31. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestDetailMapper.java
  32. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestDetailMapper.java
  33. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueRequest/IssueRequestDetailMapper.java
  34. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/pickRequest/PickRequestDetailMapper.java
  35. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionlineitem/ProductionlineitemMapper.java
  36. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreturnRequest/ProductionreturnRequestDetailMapper.java
  37. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRequest/ProductputawayRequestDetailMapper.java
  38. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java
  39. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java
  40. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java
  41. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/putawayRequest/PutawayRequestDetailMapper.java
  42. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java
  43. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java
  44. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java
  45. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java
  46. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java
  47. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java
  48. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java
  49. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java
  50. 387
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
  51. 31
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailService.java
  52. 38
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java
  53. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java
  54. 185
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java
  55. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

13
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -22,7 +22,7 @@ public interface ErrorCodeConstants {
ErrorCode ITEMBASIC_IS_PHANTOM_NOT_EXISTS = new ErrorCode(1_000_020_010, "虚零件不存在");
ErrorCode ITEMBASIC_ABC_CLASS_NOT_EXISTS = new ErrorCode(1_000_020_011, "ABC类不存在");
ErrorCode ITEMBASIC_TYPE_NOT_EXISTS = new ErrorCode(1_000_020_012, "类型不存在");
ErrorCode ITEMBASIC_VALIDITY_DAYS_NOT_EXISTS = new ErrorCode(1_000_020_013, "有效天数不存在");
ErrorCode ITEMBASIC_VALIDITY_DAYS_NOT_EXISTS = new ErrorCode(1_000_020_013, "有效天数不存在{}");
ErrorCode ITEMBASIC_AVAIABLE_NOT_EXISTS = new ErrorCode(1_000_020_014, "是否可用不存在");
ErrorCode ITEMBASIC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_020_015, "导入物品基础信息不能为空");
//物品包装信息ErrorCode
@ -404,24 +404,21 @@ 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 PURCHASERECEIPT_REQUEST_CANNOT_CLOSE = 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, "采购退货申请主不存在");

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestDetailExportReqVO.java

@ -83,4 +83,7 @@ public class CustomerreturnRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainRespVO.java

@ -3,10 +3,15 @@ package com.win.module.wms.controller.customerreturnRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 客户退货申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomerreturnRequestMainRespVO extends CustomerreturnRequestMainBaseVO {
@Schema(description = "客户退货申请子表request_customerreturn_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java

@ -3,6 +3,9 @@ package com.win.module.wms.controller.deliverRequest;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.convert.deliverRequest.DeliverRequestDetailConvert;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
import com.win.module.wms.service.deliverRequest.DeliverRequestDetailService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -39,6 +42,9 @@ public class DeliverRequestMainController {
@Resource
private DeliverRequestMainService deliverRequestMainService;
@Resource
private DeliverRequestDetailService deliverRequestDetailService;
@Resource
private AdminUserApi userApi;
@ -122,4 +128,22 @@ public class DeliverRequestMainController {
ExcelUtils.write(response, "发货申请主.xls", "数据", DeliverRequestMainExcelVO.class, datas);
}
@GetMapping("/getDeliverRequestById")
@Operation(summary = "APP获得发货申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:query')")
public CommonResult<DeliverRequestMainRespVO> getDeliverRequestById(@RequestParam("id") Long id) {
DeliverRequestMainDO deliverRequestMain = deliverRequestMainService.getDeliverRequestMain(id);
DeliverRequestMainRespVO result = DeliverRequestMainConvert.INSTANCE.convert(deliverRequestMain);
if(result==null) {
return success(result);
};
DeliverRequestDetailExportReqVO reqVO = new DeliverRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<DeliverRequestDetailDO> list = deliverRequestDetailService.getDeliverRequestDetailList(reqVO);
List<DeliverRequestDetailExcelVO> vos = DeliverRequestDetailConvert.INSTANCE.convertList02(list);
result.setSubList(vos);
return success(result);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestDetailExportReqVO.java

@ -83,4 +83,7 @@ public class DeliverRequestDetailExportReqVO {
@Schema(description = "从货主代码")
private String fromOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainRespVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.deliverRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 发货申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DeliverRequestMainRespVO extends DeliverRequestMainBaseVO {
@Schema(description = "发货申请子表request_deliver_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/IssueRequestMainController.java

@ -5,7 +5,10 @@ import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.issueRequest.IssueRequestDetailService;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -46,6 +49,9 @@ public class IssueRequestMainController {
@Resource
private IssueRequestMainService issueRequestMainService;
@Resource
private IssueRequestDetailService issueRequestDetailService;
@Resource
private AdminUserApi userApi;
@ -170,4 +176,22 @@ public class IssueRequestMainController {
}
return success(returnMap);
}
@GetMapping("/getIssueRequestById")
@Operation(summary = "APP获得发料申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:issue-request-main:query')")
public CommonResult<IssueRequestMainRespVO> getIssueRequestById(@RequestParam("id") Long id) {
IssueRequestMainDO issueRequestMain = issueRequestMainService.getIssueRequestMain(id);
IssueRequestMainRespVO result = IssueRequestMainConvert.INSTANCE.convert(issueRequestMain);
if(result==null) {
return success(result);
};
IssueRequestDetailExportReqVO reqVO = new IssueRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<IssueRequestDetailDO> issueRequestDetailList = issueRequestDetailService.getIssueRequestDetailList(reqVO);
List<IssueRequestDetailExcelVO> vos = IssueRequestDetailConvert.INSTANCE.convertList02(issueRequestDetailList);
result.setSubList(vos);
return success(result);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestDetailExportReqVO.java

@ -83,4 +83,7 @@ public class IssueRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainRespVO.java

@ -3,10 +3,15 @@ package com.win.module.wms.controller.issueRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 发料申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class IssueRequestMainRespVO extends IssueRequestMainBaseVO {
@Schema(description = " 发料申请子表request_issue_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainUpdateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.issueRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 发料申请主更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class IssueRequestMainUpdateReqVO extends IssueRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<IssueRequestDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/pickRequest/PickRequestMainController.java

@ -8,8 +8,11 @@ import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.pickRequest.vo.*;
import com.win.module.wms.convert.pickRequest.PickRequestDetailConvert;
import com.win.module.wms.convert.pickRequest.PickRequestMainConvert;
import com.win.module.wms.dal.dataobject.pickRequest.PickRequestDetailDO;
import com.win.module.wms.dal.dataobject.pickRequest.PickRequestMainDO;
import com.win.module.wms.service.pickRequest.PickRequestDetailService;
import com.win.module.wms.service.pickRequest.PickRequestMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -37,6 +40,9 @@ public class PickRequestMainController {
@Resource
private PickRequestMainService pickRequestMainService;
@Resource
private PickRequestDetailService pickRequestDetailService;
@Resource
private AdminUserApi userApi;
@ -121,4 +127,23 @@ public class PickRequestMainController {
return success(result);
}
@GetMapping("/getPickRequestById")
@Operation(summary = "APP获得拣料申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:pick-request-main:query')")
public CommonResult<PickRequestMainRespVO> getPickRequestById(@RequestParam("id") Long id) {
PickRequestMainDO pickRequestMain = pickRequestMainService.getPickRequestMain(id);
PickRequestMainRespVO result = PickRequestMainConvert.INSTANCE.convert(pickRequestMain);
if(result==null) {
return success(result);
};
PickRequestDetailExportReqVO reqVO = new PickRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<PickRequestDetailDO> pickRequestDetailList = pickRequestDetailService.getPickRequestDetailList(reqVO);
List<PickRequestDetailExcelVO> vos = PickRequestDetailConvert.INSTANCE.convertList02(pickRequestDetailList);
result.setSubList(vos);
return success(result);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/pickRequest/vo/PickRequestDetailExportReqVO.java

@ -68,4 +68,7 @@ public class PickRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/pickRequest/vo/PickRequestMainRespVO.java

@ -3,10 +3,15 @@ package com.win.module.wms.controller.pickRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 拣料申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PickRequestMainRespVO extends PickRequestMainBaseVO {
@Schema(description = "拣料申请子表request_pick_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java

@ -31,6 +31,9 @@ public class ProductionlineitemBaseVO {
@NotNull(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "原料库位", requiredMode = Schema.RequiredMode.REQUIRED)
private String rawLocationCode;
@Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "是否可用不能为空")
private String available;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExportReqVO.java

@ -21,6 +21,9 @@ public class ProductionlineitemExportReqVO {
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "原料库位")
private String rawLocationCode;
@Schema(description = "是否可用")
private String available;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemPageReqVO.java

@ -26,6 +26,9 @@ public class ProductionlineitemPageReqVO extends PageParam {
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "原料库位")
private String rawLocationCode;
@Schema(description = "是否可用")
private String available;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestDetailExportReqVO.java

@ -83,4 +83,7 @@ public class ProductionreturnRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestMainRespVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.productionreturnRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 生产退料申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ProductionreturnRequestMainRespVO extends ProductionreturnRequestMainBaseVO {
@Schema(description = "生产退料子表request_productionreturn_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestDetailExportReqVO.java

@ -83,4 +83,8 @@ public class ProductputawayRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainRespVO.java

@ -3,6 +3,8 @@ package com.win.module.wms.controller.productputawayRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 制品上架申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ -12,4 +14,7 @@ public class ProductputawayRequestMainRespVO extends ProductputawayRequestMainBa
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id;
@Schema(description = "制品上架申请子表request_productputaway_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

68
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java

@ -1,37 +1,29 @@
package com.win.module.wms.controller.purchasereceiptRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailRespVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailUpdateReqVO;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.service.purchasereceiptRequest.PurchasereceiptRequestDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.*;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert;
import com.win.module.wms.service.purchasereceiptRequest.PurchasereceiptRequestDetailService;
@Tag(name = "管理后台 - 采购收货申请子")
@RestController
@RequestMapping("/wms/purchasereceipt-request-detail")
@ -50,6 +42,7 @@ public class PurchasereceiptRequestDetailController {
public CommonResult<Long> createPurchasereceiptRequestDetail(@Valid @RequestBody PurchasereceiptRequestDetailCreateReqVO createReqVO) {
return success(purchasereceiptRequestDetailService.createPurchasereceiptRequestDetail(createReqVO));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRequestDetail:query')")
@ -63,6 +56,7 @@ public class PurchasereceiptRequestDetailController {
}
return success(result);
}
@PutMapping("/update")
@Operation(summary = "更新采购收货申请子")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')")
@ -89,15 +83,6 @@ public class PurchasereceiptRequestDetailController {
return success(PurchasereceiptRequestDetailConvert.INSTANCE.convert(purchasereceiptRequestDetail));
}
@GetMapping("/list")
@Operation(summary = "获得采购收货申请子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:query')")
public CommonResult<List<PurchasereceiptRequestDetailRespVO>> getPurchasereceiptRequestDetailList(@RequestParam("ids") Collection<Long> ids) {
List<PurchasereceiptRequestDetailDO> list = purchasereceiptRequestDetailService.getPurchasereceiptRequestDetailList(ids);
return success(PurchasereceiptRequestDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得采购收货申请子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:query')")
@ -106,21 +91,4 @@ public class PurchasereceiptRequestDetailController {
return success(PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出采购收货申请子 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereceiptRequestDetailExcel(@Valid PurchasereceiptRequestDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PurchasereceiptRequestDetailDO> list = purchasereceiptRequestDetailService.getPurchasereceiptRequestDetailList(exportReqVO);
// 导出 Excel
List<PurchasereceiptRequestDetailExcelVO> datas = PurchasereceiptRequestDetailConvert.INSTANCE.convertList02(list);
for(PurchasereceiptRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "采购收货申请子.xls", "数据", PurchasereceiptRequestDetailExcelVO.class, datas);
}
}

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java

@ -55,18 +55,19 @@ public class PurchasereceiptRequestMainController {
@Operation(summary = "更新采购收货申请主")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:update')")
public CommonResult<Boolean> updatePurchasereceiptRequestMain(@Valid @RequestBody PurchasereceiptRequestMainUpdateReqVO updateReqVO) {
purchasereceiptRequestMainService.updatePurchasereceiptRequestMain(updateReqVO);
return success(true);
Integer result = purchasereceiptRequestMainService.updatePurchasereceiptRequestMain(updateReqVO);
return success(result > 0);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:delete')")
public CommonResult<Boolean> deletePurchasereceiptRequestMain(@RequestParam("id") Long id) {
purchasereceiptRequestMainService.deletePurchasereceiptRequestMain(id);
return success(true);
}
// @DeleteMapping("/delete")
// @Operation(summary = "删除采购收货申请主")
// @Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:delete')")
// public CommonResult<Boolean> deletePurchasereceiptRequestMain(@RequestParam("id") Long id) {
// Integer result = purchasereceiptRequestMainService.deletePurchasereceiptRequestMain(id);
// return success(result > 0);
// }
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:query')")
@ -80,6 +81,7 @@ public class PurchasereceiptRequestMainController {
}
return success(result);
}
@GetMapping("/get")
@Operation(summary = "获得采购收货申请主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -162,4 +164,40 @@ public class PurchasereceiptRequestMainController {
return success(returnMap);
}
@PutMapping("/close")
@Operation(summary = "关闭采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:close')")
public CommonResult<Boolean> closePurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.closePurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:submit')")
public CommonResult<Boolean> submitPurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.submitPurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:agree')")
public CommonResult<Boolean> agreePurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.agreePurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/abort")
@Operation(summary = "审批拒绝采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:abort')")
public CommonResult<Boolean> abortPurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.abortPurchasereceiptRequestMain(id);
return success(count > 0);
}
}

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java

@ -4,6 +4,9 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -39,6 +42,9 @@ public class PurchasereturnRequestMainController {
@Resource
private PurchasereturnRequestMainService purchasereturnRequestMainService;
@Resource
private PurchasereturnRequestDetailService purchasereturnRequestDetailService;
@Resource
private AdminUserApi userApi;
@ -122,4 +128,22 @@ public class PurchasereturnRequestMainController {
ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, datas);
}
@GetMapping("/getPurchasereturnRequestById")
@Operation(summary = "APP获得采购退货申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')")
public CommonResult<PurchasereturnRequestMainRespVO> getPurchasereturnRequestById(@RequestParam("id") Long id) {
PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id);
PurchasereturnRequestMainRespVO result = PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain);
if(result==null) {
return success(result);
};
PurchasereturnRequestDetailExportReqVO reqVO = new PurchasereturnRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(reqVO);
List<PurchasereturnRequestDetailExcelVO> vos = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list);
result.setSubList(vos);
return success(result);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestDetailExportReqVO.java

@ -92,4 +92,7 @@ public class PurchasereturnRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainRespVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.purchasereturnRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 采购退货申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchasereturnRequestMainRespVO extends PurchasereturnRequestMainBaseVO {
@Schema(description = " 采购退货申请子表request_issue_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java

@ -4,6 +4,9 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -33,6 +36,9 @@ public class PutawayRequestMainController {
@Resource
private PutawayRequestMainService putawayRequestMainService;
@Resource
private PutawayRequestDetailService putawayRequestDetailService;
@Resource
private AdminUserApi userApi;
@ -115,4 +121,22 @@ public class PutawayRequestMainController {
ExcelUtils.write(response, "上架申请主.xls", "数据", PutawayRequestMainExcelVO.class, datas);
}
@GetMapping("/getPutawayRequestById")
@Operation(summary = "APP获得原料上架申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-main:query')")
public CommonResult<PutawayRequestMainRespVO> getPutawayRequestById(@RequestParam("id") Long id) {
PutawayRequestMainDO putawayRequestMain = putawayRequestMainService.getPutawayRequestMain(id);
PutawayRequestMainRespVO result = PutawayRequestMainConvert.INSTANCE.convert(putawayRequestMain);
if(result==null) {
return success(result);
};
PutawayRequestDetailExportReqVO reqVO = new PutawayRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<PutawayRequestDetailDO> putawayRequestDetailList = putawayRequestDetailService.getPutawayRequestDetailList(reqVO);
List<PutawayRequestDetailExcelVO> vos = PutawayRequestDetailConvert.INSTANCE.convertList02(putawayRequestDetailList);
result.setSubList(vos);
return success(result);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestDetailExportReqVO.java

@ -83,4 +83,7 @@ public class PutawayRequestDetailExportReqVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainRespVO.java

@ -3,10 +3,15 @@ package com.win.module.wms.controller.putawayRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 上架申请主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PutawayRequestMainRespVO extends PutawayRequestMainBaseVO {
@Schema(description = " 原料上架申请子表request_putaway_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java

@ -4,11 +4,14 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainExcelVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainRespVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
@ -35,4 +38,10 @@ public interface IssueRequestMainConvert {
List<IssueRequestMainExcelVO> convertList02(List<IssueRequestMainDO> list);
IssueRequestMainCreateReqVO convert1(IssueRequestMainCreateReqVO createReqVO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
IssueRequestImportErrorVO convert(IssueRequestMainCreateReqVO mainVo, IssueRequestDetailDO detailDo);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productionlineitem/ProductionlineitemDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.productionlineitem;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -42,6 +43,10 @@ public class ProductionlineitemDO extends BaseDO {
* 物品代码
*/
private String itemCode;
/**
* 原料库位
*/
private String rawLocationCode;
/**
* 是否可用
*

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestDetailMapper.java

@ -51,6 +51,7 @@ public interface CustomerreturnRequestDetailMapper extends BaseMapperX<Customerr
}
default List<CustomerreturnRequestDetailDO> selectList(CustomerreturnRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomerreturnRequestDetailDO>()
.eqIfPresent(CustomerreturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomerreturnRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomerreturnRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomerreturnRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestDetailMapper.java

@ -53,6 +53,7 @@ public interface DeliverRequestDetailMapper extends BaseMapperX<DeliverRequestDe
default List<DeliverRequestDetailDO> selectList(DeliverRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<DeliverRequestDetailDO>()
.eqIfPresent(DeliverRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(DeliverRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(DeliverRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(DeliverRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueRequest/IssueRequestDetailMapper.java

@ -51,6 +51,7 @@ public interface IssueRequestDetailMapper extends BaseMapperX<IssueRequestDetail
}
default List<IssueRequestDetailDO> selectList(IssueRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<IssueRequestDetailDO>()
.eqIfPresent(IssueRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(IssueRequestDetailDO::getProductionLineCode, reqVO.getProductionLineCode())
.eqIfPresent(IssueRequestDetailDO::getWorkStationCode, reqVO.getWorkStationCode())
.eqIfPresent(IssueRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/pickRequest/PickRequestDetailMapper.java

@ -65,6 +65,7 @@ public interface PickRequestDetailMapper extends BaseMapperX<PickRequestDetailDO
.eqIfPresent(PickRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(PickRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
.eqIfPresent(PickRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode())
.eqIfPresent(PickRequestDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(PickRequestDetailDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionlineitem/ProductionlineitemMapper.java

@ -25,6 +25,7 @@ public interface ProductionlineitemMapper extends BaseMapperX<Productionlineitem
.eqIfPresent(ProductionlineitemDO::getFgLocationCode, reqVO.getFgLocationCode())
.eqIfPresent(ProductionlineitemDO::getProductionLineCode, reqVO.getProductionLineCode())
.eqIfPresent(ProductionlineitemDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(ProductionlineitemDO::getRawLocationCode, reqVO.getRawLocationCode())
.eqIfPresent(ProductionlineitemDO::getAvailable, reqVO.getAvailable())
.betweenIfPresent(ProductionlineitemDO::getActiveTime, reqVO.getActiveTime())
.betweenIfPresent(ProductionlineitemDO::getExpireTime, reqVO.getExpireTime())
@ -41,6 +42,7 @@ public interface ProductionlineitemMapper extends BaseMapperX<Productionlineitem
.eqIfPresent(ProductionlineitemDO::getFgLocationCode, reqVO.getFgLocationCode())
.eqIfPresent(ProductionlineitemDO::getProductionLineCode, reqVO.getProductionLineCode())
.eqIfPresent(ProductionlineitemDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(ProductionlineitemDO::getRawLocationCode, reqVO.getRawLocationCode())
.eqIfPresent(ProductionlineitemDO::getAvailable, reqVO.getAvailable())
.betweenIfPresent(ProductionlineitemDO::getActiveTime, reqVO.getActiveTime())
.betweenIfPresent(ProductionlineitemDO::getExpireTime, reqVO.getExpireTime())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreturnRequest/ProductionreturnRequestDetailMapper.java

@ -53,6 +53,7 @@ public interface ProductionreturnRequestDetailMapper extends BaseMapperX<Product
default List<ProductionreturnRequestDetailDO> selectList(ProductionreturnRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<ProductionreturnRequestDetailDO>()
.eqIfPresent(ProductionreturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(ProductionreturnRequestDetailDO::getProductionLineCode, reqVO.getProductionLineCode())
.eqIfPresent(ProductionreturnRequestDetailDO::getWorkStationCode, reqVO.getWorkStationCode())
.eqIfPresent(ProductionreturnRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRequest/ProductputawayRequestDetailMapper.java

@ -53,6 +53,7 @@ public interface ProductputawayRequestDetailMapper extends BaseMapperX<Productpu
default List<ProductputawayRequestDetailDO> selectList(ProductputawayRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<ProductputawayRequestDetailDO>()
.eqIfPresent(ProductputawayRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(ProductputawayRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(ProductputawayRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(ProductputawayRequestDetailDO::getBatch, reqVO.getBatch())

18
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<Purchasereceip
default PageResult<PurchasereceiptJobMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default Long selectByRequestNumber(String requestNumbere) {
return selectCount(new LambdaQueryWrapperX<PurchasereceiptJobMainDO>()
.eq(PurchasereceiptJobMainDO::getRequestNumber, requestNumbere)
.eq(PurchasereceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
default List<PurchasereceiptJobMainDO> selectList(PurchasereceiptJobMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PurchasereceiptJobMainDO>()
.eqIfPresent(PurchasereceiptJobMainDO::getRequestNumber, reqVO.getRequestNumber())

11
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<Purchasere
default PageResult<PurchasereceiptRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default PurchasereceiptRequestMainDO selectBySupplierCode(String supplierCode) {
return selectOne(PurchasereceiptRequestMainDO::getSupplierCode,supplierCode);
}
default List<PurchasereceiptRequestMainDO> selectList(PurchasereceiptRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PurchasereceiptRequestMainDO>()
.eqIfPresent(PurchasereceiptRequestMainDO::getAsnNumber, reqVO.getAsnNumber())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java

@ -54,6 +54,7 @@ public interface PurchasereturnRequestDetailMapper extends BaseMapperX<Purchaser
}
default List<PurchasereturnRequestDetailDO> selectList(PurchasereturnRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PurchasereturnRequestDetailDO>()
.eqIfPresent(PurchasereturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(PurchasereturnRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(PurchasereturnRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(PurchasereturnRequestDetailDO::getBatch, reqVO.getBatch())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/putawayRequest/PutawayRequestDetailMapper.java

@ -51,6 +51,7 @@ public interface PutawayRequestDetailMapper extends BaseMapperX<PutawayRequestDe
}
default List<PutawayRequestDetailDO> selectList(PutawayRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PutawayRequestDetailDO>()
.eqIfPresent(PutawayRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(PutawayRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(PutawayRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(PutawayRequestDetailDO::getBatch, reqVO.getBatch())

18
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;
}
}

2
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);
}

18
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;
}
}

2
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);
}

24
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;
}
}

2
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);
}

28
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;
}
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java

@ -1,7 +1,5 @@
package com.win.module.wms.enums.request;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
/**
* 订单状态机
*/
@ -23,7 +21,7 @@ public class RequestStatusState {
* 构造函数当前状态
* @param status
*/
public RequestStatusState(int status) {
public RequestStatusState(String status) {
this.requestStatusEnum = RequestStatusEnum.getRequestStatusEnum(status);
}
@ -37,14 +35,18 @@ public class RequestStatusState {
/**
* 新建时判断是否自动审批等
* @param autoCommit 自动提交
* @param autoAgree 自动审批通过
* @param autoExecute 自动执行
* @return
*/
public boolean newObject(RequestsettingDO requestsettingDO) {
if("TRUE".equals(requestsettingDO.getAutoCommit())) {
public boolean newObject(String autoCommit, String autoAgree, String autoExecute) {
this.requestStatusEnum = RequestStatusEnum.NEW;
if("TRUE".equals(autoCommit)) {
this.requestStatusEnum = RequestStatusEnum.REVIEWING;
if("TRUE".equals(requestsettingDO.getAutoAgree())) {
if("TRUE".equals(autoAgree)) {
this.requestStatusEnum = RequestStatusEnum.AGREED;
if("TRUE".equals(requestsettingDO.getAutoExecute())) {
if("TRUE".equals(autoExecute)) {
this.requestStatusEnum = RequestStatusEnum.HANDLING;
}
}
@ -54,14 +56,16 @@ public class RequestStatusState {
/**
* 提交
* @param autoAgree 自动审批通过
* @param autoExecute 自动执行
* @return
*/
public boolean submit(RequestsettingDO requestsettingDO) {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode()) {
public boolean submit(String autoAgree, String autoExecute) {
if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.NEW.getCode())) {
this.requestStatusEnum = RequestStatusEnum.REVIEWING;
if("TRUE".equals(requestsettingDO.getAutoAgree())) {
if("TRUE".equals(autoAgree)) {
this.requestStatusEnum = RequestStatusEnum.AGREED;
if("TRUE".equals(requestsettingDO.getAutoExecute())) {
if("TRUE".equals(autoExecute)) {
this.requestStatusEnum = RequestStatusEnum.HANDLING;
}
}
@ -73,12 +77,13 @@ public class RequestStatusState {
/**
* 审批
* @param autoExecute 自动执行
* @return
*/
public boolean approval(RequestsettingDO requestsettingDO) {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.REVIEWING.getCode()) {
public boolean agree(String autoExecute) {
if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.REVIEWING.getCode())) {
this.requestStatusEnum = RequestStatusEnum.AGREED;
if("TRUE".equals(requestsettingDO.getAutoExecute())) {
if("TRUE".equals(autoExecute)) {
this.requestStatusEnum = RequestStatusEnum.HANDLING;
}
return Boolean.TRUE;
@ -92,7 +97,7 @@ public class RequestStatusState {
* @return
*/
public boolean reject() {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.REVIEWING.getCode()) {
if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.REVIEWING.getCode())) {
this.requestStatusEnum = RequestStatusEnum.AGREED;
return Boolean.TRUE;
} else {
@ -105,7 +110,7 @@ public class RequestStatusState {
* @return
*/
public boolean close() {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode() || this.requestStatusEnum.getCode() == RequestStatusEnum.REVIEWING.getCode() || this.requestStatusEnum.getCode() == RequestStatusEnum.AGREED.getCode()) {
if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.NEW.getCode()) || this.requestStatusEnum.getCode().equals(RequestStatusEnum.REVIEWING.getCode()) || this.requestStatusEnum.getCode().equals(RequestStatusEnum.AGREED.getCode())) {
this.requestStatusEnum = RequestStatusEnum.AGREED;
return Boolean.TRUE;
} else {

387
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.issueRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.win.framework.common.pojo.CustomConditions;
@ -9,13 +10,27 @@ import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestImportErrorVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper;
@ -34,7 +49,6 @@ import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime;
@ -111,12 +125,16 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
private void validateIssueRequestMainExists(Long id) {
if (issueRequestMainMapper.selectById(id) == null) {
return;
} else {
throw exception(ISSUE_REQUEST_MAIN_NOT_EXISTS);
}
}
private void validateIssueRequestDetailExists(Long id) {
if (issueRequestDetailMapper.selectById(id) == null) {
throw exception(ISSUE_REQUEST_DETAIL_NOT_EXISTS);
}
}
@Override
public IssueRequestMainDO getIssueRequestMain(Long id) {
return issueRequestMainMapper.selectById(id);
@ -165,137 +183,264 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
@Transactional
public List<IssueRequestImportErrorVO> importIssueRequestList(List<IssueRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PREPARETOISSUE_REQUEST_IMPORT_LIST_IS_EMPTY);
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
}
List<IssueRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
workshopService.selectWorkshopExist(createReqVO.getWorkshopCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
BusinesstypeDO businesstypeDO = new BusinesstypeDO();
IssueRequestMainDO mainDo = IssueRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validateIssueRequestMainImport(mainDo, businesstypeDO);
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
// 是否有错误数据
boolean flag = true;
for (IssueRequestDetailDO detailDO : subDOList) {
String messageDetail = validateIssueRequestDetailImport(detailDO, mainDo, businesstypeDO);
if (!messageMain.isEmpty() || messageDetail.isEmpty()) {
IssueRequestImportErrorVO importErrorVO = IssueRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
createReqVO.setRequestTime(LocalDateTime.now());
try {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
if (requestsettingDO != null) {
createReqVO.setAutoAgree(requestsettingDO.getAutoAgree());
createReqVO.setAutoCommit(requestsettingDO.getAutoCommit());
createReqVO.setAutoExecute(requestsettingDO.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
//写入数据
if (flag) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDo.setNumber(number);
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
issueRequestMainMapper.insert(mainDo);
for (IssueRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId());
detailDO.setNumber(number);
}
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
issueRequestDetailMapper.insertBatch(subDOList);
}
});
return errorList;
}
private void validatorWorkshop(String workshopCode) {
workshopService.selectWorkshopExist(workshopCode);
}
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode);
}
//接口调用后throw的错误需要进行修改形式 code需要统一一下
private void validatorIfInType(String itemType, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(itemType, businesstypeDO);
}
private ProductionlineDO validatorProductionLineCode(String productionLineCode) {
return productionlineService.productionLineCodeExist(productionLineCode);
}
private WorkstationDO validatorWorkstation(String workStationCode, String workshopCode, String productionLineCode) {
return workstationService.selectWorkstationExist(workStationCode, workshopCode, productionLineCode);
}
private void validatorProductionLineCodeAndpItemCodeExist(String productionLineCode, String itemCode) {
productionlineitemService.productionLineCodeAndpItemCodeExist(productionLineCode, itemCode);
}
//新增校验
private void validatorToCreate(IssueRequestMainCreateReqVO createReqVO) {
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(createReqVO);
//主表校验
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode());
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
issueRequestMainDO.setRequestTime(LocalDateTime.now());
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree());
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit());
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute());
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
issueRequestMainDO.setBusinessType(businesstypeDO.getCode());
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes());
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
issueRequestMainDO.setNumber(number);
issueRequestMainMapper.insert(issueRequestMainDO);
//子表校验
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) {
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode());
this.validatorIfInType(itembasicDO.getType(), businesstypeDO);
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom());
ProductionlineDO productionlineDO = validatorProductionLineCode(issueRequestDetailDO.getProductionLineCode());
issueRequestDetailDO.setToLocationCode(productionlineDO.getRawLocationCode());
WorkstationDO workstationDO = validatorWorkstation(issueRequestDetailDO.getWorkStationCode(), issueRequestMainDO.getWorkshopCode(), issueRequestDetailDO.getProductionLineCode());
issueRequestDetailDO.setToLocationCode(workstationDO.getRawLocationCode());
this.validatorProductionLineCodeAndpItemCodeExist(issueRequestDetailDO.getProductionLineCode(), issueRequestDetailDO.getItemCode());
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, issueRequestDetailDO.getItemCode(), null, null, null, null, null, null);
if (grounding == null) {
throw exception(555, "未查找到该条上架策略");
} else {
JSONObject json = JSONUtil.parseObj(grounding);
String locationCode = json.get("LocationCode").toString();
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode);
}
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId());
issueRequestDetailDO.setNumber(number);
issueRequestDetailMapper.insertBatch(subDOList);
}
}
//修改校验
private void validatorToUpdate(IssueRequestMainUpdateReqVO updateReqVO) {
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(updateReqVO);
//主表校验
validateIssueRequestMainExists(updateReqVO.getId());
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode());
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
issueRequestMainDO.setRequestTime(LocalDateTime.now());
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree());
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit());
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute());
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
issueRequestMainDO.setBusinessType(businesstypeDO.getCode());
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes());
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
issueRequestMainDO.setNumber(number);
issueRequestMainMapper.insert(issueRequestMainDO);
//子表校验
List<IssueRequestDetailCreateReqVO> subList = updateReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) {
validateIssueRequestDetailExists(issueRequestDetailDO.getId());
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode());
this.validatorIfInType(itembasicDO.getType(), businesstypeDO);
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom());
ProductionlineDO productionlineDO = validatorProductionLineCode(issueRequestDetailDO.getProductionLineCode());
issueRequestDetailDO.setToLocationCode(productionlineDO.getRawLocationCode());
WorkstationDO workstationDO = validatorWorkstation(issueRequestDetailDO.getWorkStationCode(), issueRequestMainDO.getWorkshopCode(), issueRequestDetailDO.getProductionLineCode());
issueRequestDetailDO.setToLocationCode(workstationDO.getRawLocationCode());
this.validatorProductionLineCodeAndpItemCodeExist(issueRequestDetailDO.getProductionLineCode(), issueRequestDetailDO.getItemCode());
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, issueRequestDetailDO.getItemCode(), null, null, null, null, null, null);
if (grounding == null) {
throw exception(555, "未查找到该条上架策略");
} else {
JSONObject json = JSONUtil.parseObj(grounding);
String locationCode = json.get("LocationCode").toString();
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode);
}
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId());
issueRequestDetailDO.setNumber(number);
issueRequestDetailMapper.insertBatch(subDOList);
}
}
/**
* 校验导入并赋值一些参数
*
* @param mainDo
* @return
*/
private String validateIssueRequestMainImport(IssueRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder();
try {
this.validatorWorkshop(mainDo.getWorkshopCode());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
mainDo.setRequestTime(LocalDateTime.now());
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
if (requestsettingDO == null) {
message.append("未查找到发料申请的相关申请设置");
} else {
mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
}
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
if (businesstypeDO == null) {
message.append("根据单据设置未查找到发料申请的相关业务类型");
} else {
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes());
}
try {
ValidationUtils.validate(validator, mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
/**
* 校验导入并赋值一些参数
*
* @param detailDo
* @return
*/
private String validateIssueRequestDetailImport(IssueRequestDetailDO detailDo, IssueRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder();
try {
ItembasicDO itembasicDO = this.validatorItembasic(detailDo.getItemCode());
try {
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
createReqVO.setBusinessType(businesstypeDO.getCode());
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
createReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes());
this.validatorIfInType(itembasicDO.getType(), businesstypeDO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
ValidationUtils.validate(validator, createReqVO);
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_REQUEST.getCode());
createReqVO.setNumber(number);
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
for (IssueRequestDetailDO detailDO : subDOList) {
String messageDetail = "";
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
//子表校验方法
try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setItemName(itembasicDO.getName());
detailDO.setProjectCode(itembasicDO.getProject());
try {
jobUtils.ifInType(itembasicDO.getType(), businesstypeDO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ifUomSuccess(itembasicDO.getUom(), detailDO.getUom());
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try {
ProductionlineDO productionlineDO = productionlineService.productionLineCodeExist(detailDO.getProductionLineCode());
detailDO.setToLocationCode(productionlineDO.getRawLocationCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
if (detailDO.getWorkStationCode() != "") {
WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDO.getWorkStationCode(), createReqVO.getWorkshopCode(), detailDO.getProductionLineCode());
detailDO.setToLocationCode(workstationDO.getRawLocationCode());
}
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
productionlineitemService.productionLineCodeAndpItemCodeExist(detailDO.getProductionLineCode(), detailDO.getItemCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, detailDO.getItemCode(), null, null, null, null, null, null);
JSONObject json = JSONUtil.parseObj(grounding);
String locationCode = json.get("LocationCode").toString();
try {
ifLocationCodeInRule(detailDO.getItemCode(), detailDO.getToLocationCode(), locationCode);
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
IssueRequestDetailCreateReqVO purchaseturnRequestDetailCreateReqVO = IssueRequestDetailConvert.INSTANCE.convert1(detailDO);
IssueRequestImportErrorVO importVO = IssueRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseturnRequestDetailCreateReqVO);
if (!messageMain.equals("") || !messageDetail.equals("")) {
importVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO);
} else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
}
}
IssueRequestMainDO createobj = IssueRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
IssueRequestMainDO existIssueRequestMainDO = issueRequestMainMapper.selectWorkShopCodeAndUseOnTheWayLocation(createReqVO.getWorkshopCode(), createobj.getUseOnTheWayLocation());
if (existIssueRequestMainDO == null && mode != 3) {
issueRequestMainMapper.insert(createobj);
issueRequestDetailMapper.insertBatch(subDOList);
} else if (existIssueRequestMainDO != null && mode != 2) {
issueRequestMainMapper.updateById(createobj);
issueRequestDetailMapper.updateBatch(subDOList);
}
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
ProductionlineDO productionlineDO = validatorProductionLineCode(detailDo.getProductionLineCode());
detailDo.setToLocationCode(productionlineDO.getRawLocationCode());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
WorkstationDO workstationDO = validatorWorkstation(detailDo.getWorkStationCode(), mainDo.getWorkshopCode(), detailDo.getProductionLineCode());
detailDo.setToLocationCode(workstationDO.getRawLocationCode());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
this.validatorProductionLineCodeAndpItemCodeExist(detailDo.getProductionLineCode(), detailDo.getItemCode());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, detailDo.getItemCode(), null, null, null, null, null, null);
if (grounding == null) {
message.append("未查找到该条上架策略");
} else {
JSONObject json = JSONUtil.parseObj(grounding);
String locationCode = json.get("LocationCode").toString();
try {
this.ifLocationCodeInRule(detailDo.getItemCode(), detailDo.getToLocationCode(), locationCode);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
});
//错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
try {
ValidationUtils.validate(validator, detailDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
}

31
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailService.java

@ -1,12 +1,13 @@
package com.win.module.wms.service.purchasereceiptRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import javax.validation.Valid;
/**
* 采购收货申请子 Service 接口
@ -34,14 +35,14 @@ public interface PurchasereceiptRequestDetailService {
*
* @param updateReqVO 更新信息
*/
void updatePurchasereceiptRequestDetail(@Valid PurchasereceiptRequestDetailUpdateReqVO updateReqVO);
Integer updatePurchasereceiptRequestDetail(@Valid PurchasereceiptRequestDetailUpdateReqVO updateReqVO);
/**
* 删除采购收货申请子
*
* @param id 编号
*/
void deletePurchasereceiptRequestDetail(Long id);
Integer deletePurchasereceiptRequestDetail(Long id);
/**
* 获得采购收货申请子
@ -51,14 +52,6 @@ public interface PurchasereceiptRequestDetailService {
*/
PurchasereceiptRequestDetailDO getPurchasereceiptRequestDetail(Long id);
/**
* 获得采购收货申请子列表
*
* @param ids 编号
* @return 采购收货申请子列表
*/
List<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailList(Collection<Long> ids);
/**
* 获得采购收货申请子分页
*
@ -67,12 +60,4 @@ public interface PurchasereceiptRequestDetailService {
*/
PageResult<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailPage(PurchasereceiptRequestDetailPageReqVO pageReqVO);
/**
* 获得采购收货申请子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 采购收货申请子列表
*/
List<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailList(PurchasereceiptRequestDetailExportReqVO exportReqVO);
}

38
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java

@ -1,20 +1,20 @@
package com.win.module.wms.service.purchasereceiptRequest;
import com.win.framework.common.pojo.CustomConditions;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailUpdateReqVO;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERECEIPT_REQUEST_DETAIL_NOT_EXISTS;
/**
* 采购收货申请子 Service 实现类
@ -36,25 +36,27 @@ public class PurchasereceiptRequestDetailServiceImpl implements PurchasereceiptR
// 返回
return purchasereceiptRequestDetail.getId();
}
@Override
public PageResult<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailSenior(CustomConditions conditions) {
return purchasereceiptRequestDetailMapper.selectSenior(conditions);
}
@Override
public void updatePurchasereceiptRequestDetail(PurchasereceiptRequestDetailUpdateReqVO updateReqVO) {
public Integer updatePurchasereceiptRequestDetail(PurchasereceiptRequestDetailUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereceiptRequestDetailExists(updateReqVO.getId());
// 更新
PurchasereceiptRequestDetailDO updateObj = PurchasereceiptRequestDetailConvert.INSTANCE.convert(updateReqVO);
purchasereceiptRequestDetailMapper.updateById(updateObj);
return purchasereceiptRequestDetailMapper.updateById(updateObj);
}
@Override
public void deletePurchasereceiptRequestDetail(Long id) {
public Integer deletePurchasereceiptRequestDetail(Long id) {
// 校验存在
validatePurchasereceiptRequestDetailExists(id);
// 删除
purchasereceiptRequestDetailMapper.deleteById(id);
return purchasereceiptRequestDetailMapper.deleteById(id);
}
private void validatePurchasereceiptRequestDetailExists(Long id) {
@ -68,19 +70,9 @@ public class PurchasereceiptRequestDetailServiceImpl implements PurchasereceiptR
return purchasereceiptRequestDetailMapper.selectById(id);
}
@Override
public List<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailList(Collection<Long> ids) {
return purchasereceiptRequestDetailMapper.selectBatchIds(ids);
}
@Override
public PageResult<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailPage(PurchasereceiptRequestDetailPageReqVO pageReqVO) {
return purchasereceiptRequestDetailMapper.selectPage(pageReqVO);
}
@Override
public List<PurchasereceiptRequestDetailDO> getPurchasereceiptRequestDetailList(PurchasereceiptRequestDetailExportReqVO exportReqVO) {
return purchasereceiptRequestDetailMapper.selectList(exportReqVO);
}
}

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java

@ -86,6 +86,38 @@ public interface PurchasereceiptRequestMainService {
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<PurchasereceiptRequestMainImportErrorVO> importPurchasereceiptRequestMainList(List<PurchasereceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<PurchasereceiptRequestMainImportErrorVO> importPurchasereceiptRequestMainList(List<PurchasereceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer closePurchasereceiptRequestMain(Long id);
/**
* 提交采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer submitPurchasereceiptRequestMain(Long id);
/**
* 审批通过采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer agreePurchasereceiptRequestMain(Long id);
/**
* 审批拒绝采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer abortPurchasereceiptRequestMain(Long id);
}

185
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

@ -8,7 +8,8 @@ import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
@ -17,14 +18,19 @@ import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestD
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.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@ -58,46 +64,77 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private TrendsApi trendsApi;
@Resource
private Validator validator;
@Resource
private RequestsettingService requestsettingService;
@Resource
private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper;
@Override
public Long createPurchasereceiptRequestMain(PurchasereceiptRequestMainCreateReqVO createReqVO) {
// 插入
PurchasereceiptRequestMainDO mainDo = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO);
this.validatePurchasereceiptRequestMainCreate(mainDo);
PurchasereceiptRequestMainDO mainDO = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO);
this.validatePurchasereceiptRequestMainCreate(mainDO);
List<PurchasereceiptRequestDetailDO> 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);
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
purchasereceiptRequestMainMapper.insert(mainDo);
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode());
mainDO.setAutoCommit(requestsettingDO.getAutoCommit());
mainDO.setAutoAgree(requestsettingDO.getAutoAgree());
mainDO.setAutoExecute(requestsettingDO.getAutoExecute());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
}
purchasereceiptRequestMainMapper.insert(mainDO);
for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId());
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
purchasereceiptRequestDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(requestsettingDO.getId(), "purchasereceiptRequest", "增加了采购收货", TrendsTypeEnum.CREATE);
// 返回
return mainDo.getId();
return mainDO.getId();
}
@Override
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);
}
//增加操作记录
trendsApi.createTrends(updateReqVO.getId(), "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.UPDATE);
// 更新
PurchasereceiptRequestMainDO updateObj = PurchasereceiptRequestMainConvert.INSTANCE.convert(updateReqVO);
return purchasereceiptRequestMainMapper.updateById(updateObj);
}
@Override
public PageResult<PurchasereceiptRequestMainDO> getPurchasereceiptRequestMainSenior(CustomConditions conditions) {
return purchasereceiptRequestMainMapper.selectSenior(conditions);
}
@Override
public Integer deletePurchasereceiptRequestMain(Long id) {
// 校验存在
validatePurchasereceiptRequestMainExists(id);
PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = validatePurchasereceiptRequestMainExists(id);
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(existPurchasereceiptRequestMainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
//增加操作记录
trendsApi.createTrends(id, "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.DELETE);
// 删除子表数据
Map<String, Object> map = new HashMap<>();
map.put("master_id", id);
@ -107,10 +144,12 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
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
@ -140,8 +179,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
}
List<PurchasereceiptRequestMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
PurchasereceiptRequestMainDO mainDo = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = this.validatePurchasereceiptRequestMainImport(mainDo);
PurchasereceiptRequestMainDO mainDO = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = this.validatePurchasereceiptRequestMainImport(mainDO);
List<PurchasereceiptRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<PurchasereceiptRequestDetailDO> subDOList = PurchasereceiptRequestDetailConvert.INSTANCE.convertList03(subList);
// 是否有错误数据
@ -159,20 +198,118 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
}
//写入数据
if(flag) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDo.setNumber(number);
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
purchasereceiptRequestMainMapper.insert(mainDo);
for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId());
detailDO.setNumber(number);
}
purchasereceiptRequestDetailMapper.insertBatch(subDOList);
//申请单目前只做新增
//PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectBySupplierCode(mainDo.getSupplierCode());
//if(existPurchasereceiptRequestMainDO == null && mode != 3) {//新增
purchasereceiptRequestMainMapper.insert(mainDO);
//增加操作记录
trendsApi.createTrends(mainDO.getId(), "purchasereceiptRequest", "导入了采购收货", TrendsTypeEnum.CREATE);
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
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(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
}
purchasereceiptRequestDetailMapper.insertBatch(subDOList);
//} else if(existPurchasereceiptRequestMainDO != null && existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode()) && mode != 2) {//修改
//BeanUtils.copyProperties(existPurchasereceiptRequestMainDO, mainDO);
//purchasereceiptRequestMainMapper.updateById(mainDo);
//增加操作记录
//trendsApi.createTrends(mainDO.getId(), "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.UPDATE);
// 删除子表数据
//Map<String, Object> map = new HashMap<>();
//map.put("master_id", mainDO.getId());
//删除子表
//purchasereceiptRequestDetailMapper.deleteByMap(map);
//for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
// detailDO.setMasterId(mainDo.getId());
// detailDO.setNumber(mainDO.getNumber());
// purchasereceiptRequestDetailMapper.insertBatch(subDOList);
//}
//}
}
});
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
@Override
public Integer closePurchasereceiptRequestMain(Long id) {
// 校验存在存在下级单据
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState();
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
@Override
public Integer submitPurchasereceiptRequestMain(Long id) {
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState();
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
}
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
@Override
public Integer agreePurchasereceiptRequestMain(Long id) {
// 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState();
boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
}
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
@Override
public Integer abortPurchasereceiptRequestMain(Long id) {
// 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState();
boolean flag = requestStatusState.reject();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
/**
* 校验导入并赋值一些参数未完全实现
* @param mainDo

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

@ -308,7 +308,7 @@ public class JobUtils {
if (ifInType) {
return true;
} else {
throw new UtilException("物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() +"不一致");
throw exception(1_000_020_000,"物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() +"不一致");
}
}
//DBT---DBT2---IS 物料状态检验是否一致

Loading…
Cancel
Save