Browse Source

客户退货申请/任务/记录后端代码修改

master
chenfang 2 years ago
parent
commit
af6d6c2ded
  1. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainBaseVO.java
  2. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainExportReqVO.java
  3. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainPageReqVO.java
  4. 59
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java
  5. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java
  6. 87
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainExcelVO.java
  7. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainPageReqVO.java
  8. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordMainController.java
  9. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java
  10. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java
  11. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportVO.java
  12. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java
  13. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExcelVO.java
  14. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExportReqVO.java
  15. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainPageReqVO.java
  16. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordMainController.java
  17. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailBaseVO.java
  18. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExcelVO.java
  19. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExportReqVO.java
  20. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailPageReqVO.java
  21. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainCreateReqVO.java
  22. 95
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainExcelVO.java
  23. 127
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java
  24. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailBaseVO.java
  25. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailExportReqVO.java
  26. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailPageReqVO.java
  27. 75
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainExcelVO.java
  28. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainImportVO.java
  29. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainPageReqVO.java
  30. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobMainController.java
  31. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/vo/DeliverJobMainExportReqVO.java
  32. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainBaseVO.java
  33. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainPageReqVO.java
  34. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnJob/CustomerreturnJobMainConvert.java
  35. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordDetailConvert.java
  36. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordMainConvert.java
  37. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestDetailConvert.java
  38. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestMainConvert.java
  39. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreceiptRequest/CustomerreceiptRequestMainDO.java
  40. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnJob/CustomerreturnJobMainDO.java
  41. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestDetailDO.java
  42. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestMainDO.java
  43. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRecord/CustomersettleRecordMainDO.java
  44. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestDetailDO.java
  45. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestMainDO.java
  46. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestMainDO.java
  47. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRequest/CustomerreceiptRequestMainMapper.java
  48. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobMainMapper.java
  49. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestDetailMapper.java
  50. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestMainMapper.java
  51. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordDetailMapper.java
  52. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordMainMapper.java
  53. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestDetailMapper.java
  54. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestMainMapper.java
  55. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverJob/DeliverJobMainMapper.java
  56. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestMainMapper.java
  57. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java
  58. 121
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java
  59. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java
  60. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailService.java
  61. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailServiceImpl.java
  62. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainService.java
  63. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainServiceImpl.java
  64. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailService.java
  65. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailServiceImpl.java
  66. 44
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainService.java
  67. 484
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java
  68. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java
  69. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainBaseVO.java

@ -110,4 +110,9 @@ public class CustomerreceiptRequestMainBaseVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainExportReqVO.java

@ -101,4 +101,9 @@ public class CustomerreceiptRequestMainExportReqVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainPageReqVO.java

@ -103,4 +103,9 @@ public class CustomerreceiptRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

59
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java

@ -1,11 +1,18 @@
package com.win.module.wms.controller.customerreturnJob;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnJob.vo.*;
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExcelVO;
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExportReqVO;
import com.win.module.wms.convert.customerreturnJob.CustomerreturnJobDetailConvert;
import com.win.module.wms.convert.deliverJob.DeliverJobMainConvert;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO;
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobDetailDO;
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customerreturnJob.CustomerreturnJobDetailService;
import jodd.util.StringUtil;
import org.springframework.web.bind.annotation.*;
@ -121,13 +128,53 @@ public class CustomerreturnJobMainController {
HttpServletResponse response) throws IOException {
List<CustomerreturnJobMainDO> list = customerreturnJobMainService.getCustomerreturnJobMainList(exportReqVO);
// 导出 Excel
List<CustomerreturnJobMainExcelVO> datas = CustomerreturnJobMainConvert.INSTANCE.convertList02(list);
for(CustomerreturnJobMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomerreturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户退货任务主.xls", "数据", CustomerreturnJobMainExcelVO.class, resultList,mapDropDown);
}
@GetMapping("/export-excel-senior")
@Operation(summary = "导出客户退货任务 Excel")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-record-main:export')")
@OperateLog(type = EXPORT)
public void exportCustomerreturnJobMainSeniorExcel(@Valid CustomerreturnJobMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<CustomerreturnJobMainDO> list = customerreturnJobMainService.getCustomerreturnJobMainList(exportReqVO);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomerreturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "发货任务.xls", "数据", CustomerreturnJobMainExcelVO.class, resultList,mapDropDown);
}
private List<CustomerreturnJobMainExcelVO> getExcelVo(List<CustomerreturnJobMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(8, transferMode);
String[] jobStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.JOB_STATUS);
mapDropDown.put(14, jobStatus);
String[] jobStageStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.JOB_STAGE_STATUS);
mapDropDown.put(18, jobStageStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(26, locationType);
mapDropDown.put(27, locationType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(47, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(58, uom);
List<CustomerreturnJobMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomerreturnJobMainDO mainDO : list) {
List<CustomerreturnJobDetailDO> subList = customerreturnJobDetailService.selectList(mainDO.getId());
for(CustomerreturnJobDetailDO detailDO : subList) {
CustomerreturnJobMainExcelVO vo = CustomerreturnJobMainConvert.INSTANCE.convert(mainDO, detailDO);
vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname());
vo.setUpdater(userApi.getUser(Long.valueOf(vo.getUpdater())).getNickname());
vo.setAcceptUserId(userApi.getUser(Long.valueOf(vo.getAcceptUserId())).getNickname());
vo.setCompleteUserId(userApi.getUser(Long.valueOf(vo.getCompleteUserId())).getNickname());
resultList.add(vo);
}
}
ExcelUtils.write(response, "客户退货任务主.xls", "数据", CustomerreturnJobMainExcelVO.class, datas);
return resultList;
}
@GetMapping("/getCustomerreturnJobById")

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.customerreturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
import java.util.Map;
@Schema(description = "管理后台 - 客户退货任务子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomerreturnJobDetailUpdateReqVO extends CustomerreturnJobDetailBaseVO {
@Schema(description = "子表记录数据")
private List<Map<String,String>> recordList;
}

87
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainExcelVO.java

@ -1,16 +1,12 @@
package com.win.module.wms.controller.customerreturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
@ -24,6 +20,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomerreturnJobMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("申请单号")
private String requestNumber;
@ -49,8 +48,7 @@ public class CustomerreturnJobMainExcelVO {
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class)
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty("车牌号")
private String vehiclePlateNumber;
@ExcelProperty("从仓库代码")
@ -60,9 +58,11 @@ public class CustomerreturnJobMainExcelVO {
private String toWarehouseCode;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("要求截止时间")
@ColumnWidth(value = 22)
private LocalDateTime requestDueTime;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@ -70,9 +70,11 @@ public class CustomerreturnJobMainExcelVO {
private String status;
@ExcelProperty("过期时间")
@ColumnWidth(value = 22)
private LocalDateTime expiredTime;
@ExcelProperty("最后更新时间")
@ColumnWidth(value = 22)
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
@ -95,12 +97,14 @@ public class CustomerreturnJobMainExcelVO {
private String acceptUserId;
@ExcelProperty("承接时间")
@ColumnWidth(value = 22)
private LocalDateTime acceptTime;
@ExcelProperty("完成人用户ID")
private String completeUserId;
@ExcelProperty("完成时间")
@ColumnWidth(value = 22)
private LocalDateTime completeTime;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@ -111,9 +115,6 @@ public class CustomerreturnJobMainExcelVO {
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String toLocationTypes;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ -121,6 +122,7 @@ public class CustomerreturnJobMainExcelVO {
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者id")
@ -164,5 +166,64 @@ public class CustomerreturnJobMainExcelVO {
@ExcelProperty("允许修改箱码")
private String allowModifyPackingNumber;
//子表数据
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("货主代码")
private String ownerCode;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty("备注")
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createtimeDetail;
@ExcelProperty("创建者Id")
private String creatorDetail;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainPageReqVO.java

@ -157,4 +157,9 @@ public class CustomerreturnJobMainPageReqVO extends PageParam {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "入库库存状态范围")
private String inInventoryStatuses;
@Schema(description = "出库库存状态范围")
private String outInventoryStatuses;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordMainController.java

@ -141,20 +141,20 @@ public class CustomerreturnRecordMainController {
private List<CustomerreturnRecordMainExcelVO> getExcelVo(List<CustomerreturnRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(6, transferMode);
mapDropDown.put(7, transferMode);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(17, requestStatus);
mapDropDown.put(18, requestStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(24, locationType);
mapDropDown.put(25, locationType);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(28, available);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(33, inventoryStatus);
mapDropDown.put(31, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(55, uom);
mapDropDown.put(53, uom);
String[] interfaceTypeDetail = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE);
mapDropDown.put(56, interfaceTypeDetail);
mapDropDown.put(54, interfaceTypeDetail);
List<CustomerreturnRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomerreturnRecordMainDO mainDO : list) {

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.customerreturnRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@ -24,6 +25,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomerreturnRecordMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("任务单号")
private String jobNumber;
@ -62,15 +66,19 @@ public class CustomerreturnRecordMainExcelVO {
private String inTransactionType;
@ExcelProperty("执行时间")
@ColumnWidth(value = 22)
private LocalDateTime executeTime;
@ExcelProperty("生效日期")
@ColumnWidth(value = 22)
private LocalDateTime activeDate;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
@ColumnWidth(value = 22)
private LocalDateTime dueTime;
@ExcelProperty("部门")
@ -80,9 +88,6 @@ public class CustomerreturnRecordMainExcelVO {
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String interfaceType;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ -90,6 +95,7 @@ public class CustomerreturnRecordMainExcelVO {
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
@ -120,11 +126,11 @@ public class CustomerreturnRecordMainExcelVO {
private String fromAreaCodes;
//子表
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("从批次")
private String fromBatch;
@ -176,6 +182,7 @@ public class CustomerreturnRecordMainExcelVO {
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTimeDetail;
@ExcelProperty("创建者Id")

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java

@ -135,7 +135,7 @@ public class CustomerreturnRequestMainController {
@Operation(summary = "导出发货计划主 Excel")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereceiptRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
public void exportCustomerreturnRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CustomerreturnRequestMainDO> list = customerreturnRequestMainService.getCustomerreturnRequestMainList(conditions);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
@ -145,16 +145,16 @@ public class CustomerreturnRequestMainController {
private List<CustomerreturnRequestMainExcelVO> getExcelVo(List<CustomerreturnRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(7, transferMode);
mapDropDown.put(6, transferMode);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(16, requestStatus);
mapDropDown.put(15, requestStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(20, locationType);
mapDropDown.put(23, locationType);
mapDropDown.put(19, locationType);
mapDropDown.put(22, locationType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(29, inventoryStatus);
mapDropDown.put(26, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(41, uom);
mapDropDown.put(28, uom);
List<CustomerreturnRequestMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomerreturnRequestMainDO mainDO : list) {
@ -178,9 +178,9 @@ public class CustomerreturnRequestMainController {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(3, transferMode);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(12, uom);
mapDropDown.put(10, uom);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(13, inventoryStatus);
mapDropDown.put(11, inventoryStatus);
// 输出
ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomerreturnRequestImportVO.class, list,mapDropDown);
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportVO.java

@ -36,11 +36,11 @@ public class CustomerreturnRequestImportVO {
private String vehiclePlateNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("物品代码")
private String itemCode;

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

@ -117,4 +117,9 @@ public class CustomerreturnRequestMainBaseVO {
@NotBlank(message = "直接生成记录不能为空")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExcelVO.java

@ -27,9 +27,6 @@ public class CustomerreturnRequestMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("申请单号")
private String requestNumber;
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
@ -123,11 +120,11 @@ public class CustomerreturnRequestMainExcelVO {
private String directCreateRecord;
//子表
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("包装号")
private String packingNumber;

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExportReqVO.java

@ -106,5 +106,4 @@ public class CustomerreturnRequestMainExportReqVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
}

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

@ -109,4 +109,9 @@ public class CustomerreturnRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordMainController.java

@ -1,8 +1,12 @@
package com.win.module.wms.controller.customersettleRecord;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customersettleRecord.CustomersettleRecordDetailService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -39,6 +43,8 @@ public class CustomersettleRecordMainController {
@Resource
private CustomersettleRecordMainService customersettleRecordMainService;
@Resource
private CustomersettleRecordDetailService customersettleRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@ -111,13 +117,46 @@ public class CustomersettleRecordMainController {
HttpServletResponse response) throws IOException {
List<CustomersettleRecordMainDO> list = customersettleRecordMainService.getCustomersettleRecordMainList(exportReqVO);
// 导出 Excel
List<CustomersettleRecordMainExcelVO> datas = CustomersettleRecordMainConvert.INSTANCE.convertList02(list);
for(CustomersettleRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户结算记录主.xls", "数据", CustomersettleRecordMainExcelVO.class, datas);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算记录.xls", "数据", CustomersettleRecordMainExcelVO.class, resultList,mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出客户结算记录主 Excel")
@PreAuthorize("@ss.hasPermission('wms:customersettle-record-main:export')")
@OperateLog(type = EXPORT)
public void exportCustomersettleRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CustomersettleRecordMainDO> list = customersettleRecordMainService.getCustomersettleRecordMainList(conditions);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算记录.xls", "数据", CustomersettleRecordMainExcelVO.class, resultList,mapDropDown);
}
private List<CustomersettleRecordMainExcelVO> getExcelVo(List<CustomersettleRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE);
mapDropDown.put(12, interfaceType);
mapDropDown.put(39, interfaceType);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(19, locationType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(21, trueFalse);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(27, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(38, uom);
List<CustomersettleRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomersettleRecordMainDO mainDO : list) {
List<CustomersettleRecordDetailDO> subList = customersettleRecordDetailService.selectList(mainDO.getId());
for(CustomersettleRecordDetailDO detailDO : subList) {
CustomersettleRecordMainExcelVO vo = CustomersettleRecordMainConvert.INSTANCE.convert(mainDO, detailDO);
vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname());
resultList.add(vo);
}
}
return resultList;
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailBaseVO.java

@ -101,4 +101,7 @@ public class CustomersettleRecordDetailBaseVO {
@Schema(description = "任务明细ID", example = "9271")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExcelVO.java

@ -102,4 +102,7 @@ public class CustomersettleRecordDetailExcelVO {
@ExcelProperty("任务明细ID")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExportReqVO.java

@ -94,4 +94,7 @@ public class CustomersettleRecordDetailExportReqVO {
@Schema(description = "任务明细ID", example = "9271")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailPageReqVO.java

@ -96,4 +96,7 @@ public class CustomersettleRecordDetailPageReqVO extends PageParam {
@Schema(description = "任务明细ID", example = "9271")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainCreateReqVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.customersettleRecord.vo;
import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailCreateReqVO;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "管理后台 - 客户结算记录主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomersettleRecordMainCreateReqVO extends CustomersettleRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<CustomersettleRecordDetailCreateReqVO> subList;
}

95
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.customersettleRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
@ -22,6 +25,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomersettleRecordMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("申请单号")
private String requestNumber;
@ -41,15 +47,19 @@ public class CustomersettleRecordMainExcelVO {
private String inTransactionYpe;
@ExcelProperty("执行时间")
@ColumnWidth(value = 22)
private LocalDateTime executeTime;
@ExcelProperty("生效日期")
@ColumnWidth(value = 22)
private LocalDateTime activeDate;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
@ColumnWidth(value = 22)
private LocalDateTime dueTime;
@ExcelProperty("部门")
@ -62,13 +72,11 @@ public class CustomersettleRecordMainExcelVO {
@ExcelProperty("代码")
private String code;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
@ -87,7 +95,86 @@ public class CustomersettleRecordMainExcelVO {
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ExcelProperty("是否可用")
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String available;
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("货主代码")
private String ownerCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("从库位组代码")
private String fromLocationGroupCode;
@ExcelProperty("从库区代码")
private String fromAreaCode;
@ExcelProperty("单价")
private BigDecimal singlePrice;
@ExcelProperty("金额")
private BigDecimal amount;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String interfaceTypeDetail;
@ExcelProperty("代码")
private String codeDetail;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注")
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTimeDetail;
@ExcelProperty("创建者Id")
private String creatorDetail;
@ExcelProperty("地点ID")
private String siteId;
@ExcelProperty("任务明细ID")
private String jobDetailId;
}

127
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java

@ -1,10 +1,18 @@
package com.win.module.wms.controller.customersettleRequest;
import com.win.framework.common.pojo.CustomConditions;
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.controller.customerreturnRequest.vo.CustomerreturnRequestMainExcelVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customersettleRequest.CustomersettleRequestDetailService;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -45,6 +53,8 @@ public class CustomersettleRequestMainController {
@Resource
private CustomersettleRequestMainService customersettleRequestMainService;
@Resource
private CustomersettleRequestDetailService customersettleRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@ -117,34 +127,64 @@ public class CustomersettleRequestMainController {
HttpServletResponse response) throws IOException {
List<CustomersettleRequestMainDO> list = customersettleRequestMainService.getCustomersettleRequestMainList(exportReqVO);
// 导出 Excel
List<CustomersettleRequestMainExcelVO> datas = CustomersettleRequestMainConvert.INSTANCE.convertList02(list);
for(CustomersettleRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算申请.xls", "数据", CustomersettleRequestMainExcelVO.class, resultList,mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出客户结算申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:export')")
@OperateLog(type = EXPORT)
public void exportCustomersettleRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CustomersettleRequestMainDO> list = customersettleRequestMainService.getCustomersettleRequestMainList(conditions);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算申请.xls", "数据", CustomersettleRequestMainExcelVO.class, resultList,mapDropDown);
}
private List<CustomersettleRequestMainExcelVO> getExcelVo(List<CustomersettleRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(5, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(14, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(35, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(46, uom);
List<CustomersettleRequestMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomersettleRequestMainDO mainDO : list) {
List<CustomersettleRequestDetailDO> subList = customersettleRequestDetailService.selectList(mainDO.getId());
for(CustomersettleRequestDetailDO detailDO : subList) {
CustomersettleRequestMainExcelVO vo = CustomersettleRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
vo.setUpdater(userApi.getUser(Long.valueOf(vo.getUpdater())).getNickname());
vo.setUpdaterDetail(userApi.getUser(Long.valueOf(vo.getUpdaterDetail())).getNickname());
vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname());
resultList.add(vo);
}
}
ExcelUtils.write(response, "客户结算申请主.xls", "数据", CustomersettleRequestMainExcelVO.class, datas);
return resultList;
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制客户结算申请信息模板")
@Operation(summary = "获得导入客户结算申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<CustomersettleRequestMainImportVO> list = Arrays.asList(
);
List<CustomersettleRequestMainImportVO> list = Arrays.asList();
// 输出
ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomersettleRequestMainImportVO.class, list);
ExcelUtils.write(response, "客户结算申请信息导入模板.xls", "客户结算申请信息列表", CustomersettleRequestMainImportVO.class, list);
}
@PostMapping("/import")
@Operation(summary = "导入发料申请基本信息")
@Operation(summary = "导入客户结算申请基本信息")
@Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
})
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:import')")
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@ -152,14 +192,67 @@ public class CustomersettleRequestMainController {
List<CustomersettleRequestMainImportVO> list = ExcelUtils.read(file, CustomersettleRequestMainImportVO.class);
ConvertUtil<CustomersettleRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(CustomersettleRequestMainCreateReqVO.class);
List<CustomersettleRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<CustomersettleRequestImportErrorVO> errorList = customersettleRequestMainService.customersettleRequestMainService(createReqVOList, mode, updatePart);
List<CustomersettleRequestImportErrorVO> errorList = customersettleRequestMainService.customersettleRequestMainImport(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("发料申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
String url = ExcelUtils.writeLocalFile("客户结算申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
@PutMapping("/close")
@Operation(summary = "关闭客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:close')")
public CommonResult<Boolean> closeCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.closeCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/reAdd")
@Operation(summary = "重新添加客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:reAdd')")
public CommonResult<Boolean> reAddCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.reAddCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:submit')")
public CommonResult<Boolean> submitCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.submitCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:agree')")
public CommonResult<Boolean> agreeCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.agreeCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/handle")
@Operation(summary = "处理客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:handle')")
public CommonResult<Boolean> handleCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.handleCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/refused")
@Operation(summary = "审批拒绝客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:refused')")
public CommonResult<Boolean> abortCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.abortCustomersettleRequestMain(id);
return success(count > 0);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailBaseVO.java

@ -83,4 +83,6 @@ public class CustomersettleRequestDetailBaseVO {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailExportReqVO.java

@ -77,4 +77,7 @@ public class CustomersettleRequestDetailExportReqVO {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailPageReqVO.java

@ -79,4 +79,7 @@ public class CustomersettleRequestDetailPageReqVO extends PageParam {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "主表id")
private String masterId;
}

75
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.customersettleRequest.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
@ -21,6 +24,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomersettleRequestMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
@ -40,9 +46,6 @@ public class CustomersettleRequestMainExcelVO {
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ -50,15 +53,18 @@ public class CustomersettleRequestMainExcelVO {
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
@ColumnWidth(value = 22)
private LocalDateTime dueTime;
@ExcelProperty("部门")
@ -69,6 +75,7 @@ public class CustomersettleRequestMainExcelVO {
private String status;
@ExcelProperty("最后更新时间")
@ColumnWidth(value = 22)
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
@ -86,4 +93,66 @@ public class CustomersettleRequestMainExcelVO {
@ExcelProperty("直接生成记录")
private String directCreateRecord;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注")
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTimeDetail;
@ExcelProperty("创建者用户名")
private String creatorDetail;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty("最后更新时间")
@ColumnWidth(value = 22)
private LocalDateTime updateTimeDetail;
@ExcelProperty("最后更新者用户名")
private String updaterDetail;
}

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainImportVO.java

@ -8,24 +8,31 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class CustomersettleRequestMainImportVO {
@ExcelProperty("单据号")
private String number;
//主表字段
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ -36,4 +43,8 @@ public class CustomersettleRequestMainImportVO {
@ExcelProperty("批次")
private String batch;
@ExcelProperty("截止时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime dueTime;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainPageReqVO.java

@ -82,4 +82,9 @@ public class CustomersettleRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobMainController.java

@ -151,17 +151,6 @@ public class DeliverJobMainController {
mapDropDown.put(26, locationType);
mapDropDown.put(27, locationType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(35, trueFalse);
mapDropDown.put(36, trueFalse);
mapDropDown.put(37, trueFalse);
mapDropDown.put(38, trueFalse);
mapDropDown.put(39, trueFalse);
mapDropDown.put(40, trueFalse);
mapDropDown.put(41, trueFalse);
mapDropDown.put(42, trueFalse);
mapDropDown.put(43, trueFalse);
mapDropDown.put(44, trueFalse);
mapDropDown.put(45, trueFalse);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(50, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/vo/DeliverJobMainExportReqVO.java

@ -157,9 +157,4 @@ public class DeliverJobMainExportReqVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "入库库存状态范围")
private String inInventoryStatuses;
@Schema(description = "出库库存状态范围")
private String outInventoryStatuses;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainBaseVO.java

@ -115,4 +115,9 @@ public class DeliverRequestMainBaseVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainPageReqVO.java

@ -106,4 +106,9 @@ public class DeliverRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnJob/CustomerreturnJobMainConvert.java

@ -8,8 +8,11 @@ import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainC
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainExcelVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainRespVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMainDO;
@ -36,4 +39,17 @@ public interface CustomerreturnJobMainConvert {
List<CustomerreturnJobMainExcelVO> convertList02(List<CustomerreturnJobMainDO> list);
CustomerreturnJobMainDO convert(CustomerreturnRequestMainDO mainDO);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "detailDO.createTime", target = "createtimeDetail"),
@Mapping(source = "detailDO.creator", target = "creatorDetail"),
})
CustomerreturnJobMainExcelVO convert(CustomerreturnJobMainDO mainDO, CustomerreturnJobDetailDO detailDO);
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordDetailConvert.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailExcelVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailRespVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordMainConvert.java

@ -8,7 +8,10 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainExcelVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainRespVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
@ -33,5 +36,19 @@ public interface CustomersettleRecordMainConvert {
PageResult<CustomersettleRecordMainRespVO> convertPage(PageResult<CustomersettleRecordMainDO> page);
List<CustomersettleRecordMainExcelVO> convertList02(List<CustomersettleRecordMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.code", target = "code"),
@Mapping(source = "mainDO.interfaceType", target = "interfaceType"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "detailDO.createTime", target = "createTimeDetail"),
@Mapping(source = "detailDO.creator", target = "creatorDetail"),
@Mapping(source = "detailDO.code", target = "codeDetail"),
@Mapping(source = "detailDO.interfaceType", target = "interfaceTypeDetail"),
@Mapping(source = "detailDO.siteId", target = "siteId"),
})
CustomersettleRecordMainExcelVO convert(CustomersettleRecordMainDO mainDO, CustomersettleRecordDetailDO detailDO);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestDetailConvert.java

@ -44,6 +44,9 @@ public interface CustomersettleRequestDetailConvert {
CustomersettleRequestDetailExcelVO convert(CustomersettleRequestMainDO mainDO, CustomersettleRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
CustomersettleRequestImportErrorVO convert(CustomersettleRequestMainCreateReqVO mainVo, CustomersettleRequestDetailCreateReqVO detailVo);
CustomersettleRequestDetailCreateReqVO convert1(CustomersettleRequestDetailDO detailDO);

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestMainConvert.java

@ -4,11 +4,11 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainExcelVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainRespVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainUpdateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
@ -34,4 +34,22 @@ public interface CustomersettleRequestMainConvert {
List<CustomersettleRequestMainExcelVO> convertList02(List<CustomersettleRequestMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
})
CustomersettleRequestImportErrorVO convert(CustomersettleRequestMainCreateReqVO mainDO, CustomersettleRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "detailDO.createTime", target = "createTimeDetail"),
@Mapping(source = "detailDO.creator", target = "creatorDetail"),
@Mapping(source = "detailDO.updateTime", target = "updateTimeDetail"),
@Mapping(source = "detailDO.updater", target = "updaterDetail"),
})
CustomersettleRequestMainExcelVO convert(CustomersettleRequestMainDO mainDO, CustomersettleRequestDetailDO detailDO);
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreceiptRequest/CustomerreceiptRequestMainDO.java

@ -155,5 +155,13 @@ public class CustomerreceiptRequestMainDO extends BaseDO {
* 直接生成记录
*/
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnJob/CustomerreturnJobMainDO.java

@ -243,5 +243,12 @@ public class CustomerreturnJobMainDO extends BaseDO {
* 允许修改箱码
*/
private String allowModifyPackingNumber;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestDetailDO.java

@ -30,7 +30,6 @@ public class CustomerreturnRequestDetailDO extends BaseDO {
/**
* 销售订单号
*/
@NotBlank
private String soNumber;
/**
* 销售订单行

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customerreturnRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -178,5 +179,12 @@ public class CustomerreturnRequestMainDO extends BaseDO {
*/
@NotBlank
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRecord/CustomersettleRecordMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customersettleRecord;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestDetailDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customersettleRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customersettleRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -41,12 +42,10 @@ public class CustomersettleRequestMainDO extends BaseDO {
/**
* 客户代码
*/
@NotBlank
private String customerCode;
/**
* 从仓库代码
*/
@NotBlank
private String fromWarehouseCode;
/**
* 从库位类型范围
@ -96,14 +95,12 @@ public class CustomersettleRequestMainDO extends BaseDO {
/**
* 部门
*/
@NotBlank
private String departmentCode;
/**
* 状态
*
* 枚举 {@link TODO request_status 对应的类}
*/
@NotBlank
private String status;
/**
* 并发乐观锁
@ -120,22 +117,25 @@ public class CustomersettleRequestMainDO extends BaseDO {
/**
* 自动提交
*/
@NotBlank
private String autoCommit;
/**
* 自动通过
*/
@NotBlank
private String autoAgree;
/**
* 自动执行
*/
@NotBlank
private String autoExecute;
/**
* 直接生成记录
*/
@NotBlank
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestMainDO.java

@ -169,5 +169,13 @@ public class DeliverRequestMainDO extends BaseDO {
* 直接生成记录
*/
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRequest/CustomerreceiptRequestMainMapper.java

@ -50,6 +50,8 @@ public interface CustomerreceiptRequestMainMapper extends BaseMapperX<Customerre
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomerreceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomerreceiptRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomerreceiptRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomerreceiptRequestMainDO::getId));
}
default PageResult<CustomerreceiptRequestMainDO> selectSenior(CustomConditions conditions) {
@ -85,6 +87,8 @@ public interface CustomerreceiptRequestMainMapper extends BaseMapperX<Customerre
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomerreceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomerreceiptRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomerreceiptRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomerreceiptRequestMainDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobMainMapper.java

@ -68,6 +68,8 @@ public interface CustomerreturnJobMainMapper extends BaseMapperX<CustomerreturnJ
.eqIfPresent(CustomerreturnJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
.eqIfPresent(CustomerreturnJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
.eqIfPresent(CustomerreturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.eqIfPresent(CustomerreturnJobMainDO::getInInventoryStatus, reqVO.getInInventoryStatuses())
.eqIfPresent(CustomerreturnJobMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatuses())
.orderByDesc(CustomerreturnJobMainDO::getId));
}
default PageResult<CustomerreturnJobMainDO> selectSenior(CustomConditions conditions) {

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

@ -23,7 +23,7 @@ public interface CustomerreturnRequestDetailMapper extends BaseMapperX<Customerr
default PageResult<CustomerreturnRequestDetailDO> selectPage(CustomerreturnRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRequestDetailDO>()
.eq(CustomerreturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomerreturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomerreturnRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomerreturnRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomerreturnRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestMainMapper.java

@ -53,6 +53,8 @@ public interface CustomerreturnRequestMainMapper extends BaseMapperX<Customerret
.eqIfPresent(CustomerreturnRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomerreturnRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomerreturnRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomerreturnRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomerreturnRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomerreturnRequestMainDO::getId));
}
default PageResult<CustomerreturnRequestMainDO> selectSenior(CustomConditions conditions) {

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordDetailMapper.java

@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailExportReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import org.apache.ibatis.annotations.Mapper;
/**
@ -84,4 +85,8 @@ public interface CustomersettleRecordDetailMapper extends BaseMapperX<Customerse
.orderByDesc(CustomersettleRecordDetailDO::getId));
}
default List<CustomersettleRecordDetailDO> selectList(Long masterId){
return selectList(new LambdaQueryWrapperX<CustomersettleRecordDetailDO>()
.eq(CustomersettleRecordDetailDO::getMasterId, masterId));
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordMainMapper.java

@ -75,5 +75,7 @@ public interface CustomersettleRecordMainMapper extends BaseMapperX<Customersett
.eqIfPresent(CustomersettleRecordMainDO::getAvailable, reqVO.getAvailable())
.orderByDesc(CustomersettleRecordMainDO::getId));
}
default List<CustomersettleRecordMainDO> selectSeniorList(CustomConditions conditions){
return selectList(QueryWrapperUtils.structure(conditions));
}
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestDetailMapper.java

@ -22,6 +22,7 @@ public interface CustomersettleRequestDetailMapper extends BaseMapperX<Customers
default PageResult<CustomersettleRequestDetailDO> selectPage(CustomersettleRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomersettleRequestDetailDO>()
.eqIfPresent(CustomersettleRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomersettleRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomersettleRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomersettleRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
@ -49,6 +50,7 @@ public interface CustomersettleRequestDetailMapper extends BaseMapperX<Customers
}
default List<CustomersettleRequestDetailDO> selectList(CustomersettleRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomersettleRequestDetailDO>()
.eqIfPresent(CustomersettleRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomersettleRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomersettleRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomersettleRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
@ -72,4 +74,8 @@ public interface CustomersettleRequestDetailMapper extends BaseMapperX<Customers
.orderByDesc(CustomersettleRequestDetailDO::getId));
}
default List<CustomersettleRequestDetailDO> selectList(Long masterId){
return selectList(new LambdaQueryWrapperX<CustomersettleRequestDetailDO>()
.eq(CustomersettleRequestDetailDO::getMasterId, masterId));
}
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestMainMapper.java

@ -44,6 +44,8 @@ public interface CustomersettleRequestMainMapper extends BaseMapperX<Customerset
.eqIfPresent(CustomersettleRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomersettleRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomersettleRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomersettleRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomersettleRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomersettleRequestMainDO::getId));
}
default PageResult<CustomersettleRequestMainDO> selectSenior(CustomConditions conditions) {
@ -79,4 +81,7 @@ public interface CustomersettleRequestMainMapper extends BaseMapperX<Customerset
.orderByDesc(CustomersettleRequestMainDO::getId));
}
default List<CustomersettleRequestMainDO> selectSeniorList(CustomConditions conditions){
return selectList(QueryWrapperUtils.structure(conditions));
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverJob/DeliverJobMainMapper.java

@ -125,8 +125,6 @@ public interface DeliverJobMainMapper extends BaseMapperX<DeliverJobMainDO> {
.eqIfPresent(DeliverJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
.eqIfPresent(DeliverJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
.eqIfPresent(DeliverJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.eqIfPresent(DeliverJobMainDO::getInInventoryStatuses, reqVO.getInInventoryStatuses())
.eqIfPresent(DeliverJobMainDO::getOutInventoryStatuses, reqVO.getOutInventoryStatuses())
.orderByDesc(DeliverJobMainDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestMainMapper.java

@ -52,6 +52,8 @@ public interface DeliverRequestMainMapper extends BaseMapperX<DeliverRequestMain
.eqIfPresent(DeliverRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(DeliverRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(DeliverRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(DeliverRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(DeliverRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(DeliverRequestMainDO::getId));
}
default PageResult<DeliverRequestMainDO> selectSenior(CustomConditions conditions) {

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java

@ -101,6 +101,8 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq
customerreceiptRequestMain.setToLocationTypes(businesstypeDO.getInLocationTypes());
customerreceiptRequestMain.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
customerreceiptRequestMain.setToAreaCodes(businesstypeDO.getInAreaCodes());
customerreceiptRequestMain.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
customerreceiptRequestMain.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
customerreceiptRequestMain.setRequestTime(LocalDateTime.now());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(customerreceiptRequestMain.getStatus())) {

121
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java

@ -14,8 +14,6 @@ import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainE
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainPageReqVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainUpdateReqVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobDetailUpdateReqVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainUpdateReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDetailUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
@ -25,7 +23,6 @@ import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMain
import com.win.module.wms.dal.dataobject.customerreturnRecord.CustomerreturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.customerreturnRecord.CustomerreturnRecordMainDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobDetailDO;
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.customerreturnRecord.CustomerreturnRecordDetailMapper;
@ -43,7 +40,6 @@ import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -52,7 +48,6 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.customerreturnJob.CustomerreturnJobMainConvert;
@ -272,62 +267,68 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(CustomerreturnJobDetailDO customerreturnJobDetailDO : subList) {
CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVOTemp = null;
for (CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVO : customerreturnJobDetailUpdateReqVOList) {
if (customerreturnJobDetailDO.getId().equals(customerreturnJobDetailUpdateReqVO.getId())) {
customerreturnJobDetailUpdateReqVOTemp = customerreturnJobDetailUpdateReqVO;
break;
// CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVOTemp = null;
// for (CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVO : customerreturnJobDetailUpdateReqVOList) {
// if (customerreturnJobDetailDO.getId().equals(customerreturnJobDetailUpdateReqVO.getId())) {
// customerreturnJobDetailUpdateReqVOTemp = customerreturnJobDetailUpdateReqVO;
// break;
// }
// }
customerreturnJobDetailUpdateReqVOList.forEach(DetailUpdateItem -> {
if (DetailUpdateItem.getId().equals(customerreturnJobDetailDO.getId())) {
List<Map<String,String>> recordList = DetailUpdateItem.getRecordList();
recordList.forEach(recordListItem -> {
CustomerreturnRecordDetailDO customerreturnRecordDetailDO = new CustomerreturnRecordDetailDO();
BeanUtils.copyProperties(customerreturnJobDetailDO, customerreturnRecordDetailDO);
customerreturnRecordDetailDO.setMasterId(customerreturnRecordMainDO.getId().toString());
customerreturnRecordDetailDO.setNumber(number);
customerreturnRecordDetailDO.setJobDetailId(String.valueOf(customerreturnJobDetailDO.getId()));
customerreturnRecordDetailDO.setFromBatch(customerreturnJobDetailDO.getBatch());
customerreturnRecordDetailDO.setQty(new BigDecimal(recordListItem.get("handleQty").toString()));
customerreturnRecordDetailDO.setToBatch(recordListItem.get("toBatch")==null?"":recordListItem.get("toBatch"));
customerreturnRecordDetailDO.setToPackingNumber(recordListItem.get("toPackingNumber")==null?"":recordListItem.get("toPackingNumber"));
customerreturnRecordDetailDO.setToContainerNumber(recordListItem.get("toContainerNumber")==null?"":recordListItem.get("toContainerNumber"));
customerreturnRecordDetailDO.setInventoryStatus(recordListItem.get("toInventoryStatus").toString());
customerreturnRecordDetailDO.setFromPackingNumber(customerreturnJobDetailDO.getPackingNumber());
customerreturnRecordDetailDO.setFromContainerNumber(customerreturnJobDetailDO.getContainerNumber());
customerreturnRecordDetailDO.setFromLocationCode(customerreturnJobDetailDO.getFromLocationCode());
LocationDO locationDOFrom = locationService.selectLocation(customerreturnJobDetailDO.getFromLocationCode());
if(locationDOFrom != null){
customerreturnRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode());
customerreturnRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode());
}
customerreturnRecordDetailDO.setToLocationCode(recordListItem.get("toLocationCode").toString());
LocationDO locationDO = locationService.selectLocation(recordListItem.get("toLocationCode").toString());
if(locationDO != null){
customerreturnRecordDetailDO.setToAreaCode(locationDO.getAreaCode());
customerreturnRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode());
}
customerreturnRecordDetailDO.setId(null);
customerreturnRecordDetailDO.setCreator(null);
customerreturnRecordDetailDO.setCreateTime(null);
customerreturnRecordDetailDO.setUpdater(null);
customerreturnRecordDetailDO.setUpdateTime(null);
customerreturnRecordDetailDOList.add(customerreturnRecordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch());
transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
});
}
}
CustomerreturnRecordDetailDO customerreturnRecordDetailDO = new CustomerreturnRecordDetailDO();
BeanUtils.copyProperties(customerreturnJobDetailDO, customerreturnRecordDetailDO);
customerreturnRecordDetailDO.setMasterId(customerreturnRecordMainDO.getId().toString());
customerreturnRecordDetailDO.setNumber(number);
customerreturnRecordDetailDO.setJobDetailId(String.valueOf(customerreturnJobDetailDO.getId()));
customerreturnRecordDetailDO.setFromBatch(customerreturnJobDetailDO.getBatch());
customerreturnRecordDetailDO.setToBatch(customerreturnJobDetailUpdateReqVOTemp.getToBatch());
customerreturnRecordDetailDO.setFromPackingNumber(customerreturnJobDetailDO.getPackingNumber());
customerreturnRecordDetailDO.setToPackingNumber(customerreturnJobDetailUpdateReqVOTemp.getToPackingNumber());
customerreturnRecordDetailDO.setFromContainerNumber(customerreturnJobDetailDO.getContainerNumber());
customerreturnRecordDetailDO.setToContainerNumber(customerreturnJobDetailUpdateReqVOTemp.getToContainerNumber());
customerreturnRecordDetailDO.setFromLocationCode(customerreturnJobDetailDO.getFromLocationCode());
LocationDO FromLocationDO = locationService.selectLocation(customerreturnJobDetailDO.getFromLocationCode());
if(FromLocationDO != null){
customerreturnRecordDetailDO.setFromAreaCode(FromLocationDO.getAreaCode());
customerreturnRecordDetailDO.setFromLocationGroupCode(FromLocationDO.getLocationGroupCode());
}
customerreturnRecordDetailDO.setToLocationCode(customerreturnJobDetailUpdateReqVOTemp.getToLocationCode());
LocationDO toLocationDO = locationService.selectLocation(customerreturnJobDetailDO.getToLocationCode());
if(toLocationDO != null){
customerreturnRecordDetailDO.setToAreaCode(FromLocationDO.getAreaCode());
customerreturnRecordDetailDO.setToLocationGroupCode(FromLocationDO.getLocationGroupCode());
}
customerreturnRecordDetailDO.setInventoryStatus(customerreturnJobDetailUpdateReqVOTemp.getToInventoryStatus());
customerreturnRecordDetailDO.setQty(customerreturnJobDetailUpdateReqVOTemp.getHandleQty());
customerreturnRecordDetailDO.setId(null);
customerreturnRecordDetailDO.setCreator(null);
customerreturnRecordDetailDO.setCreateTime(null);
customerreturnRecordDetailDO.setUpdater(null);
customerreturnRecordDetailDO.setUpdateTime(null);
customerreturnRecordDetailDOList.add(customerreturnRecordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch());
transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
});
}
customerreturnRecordDetailMapper.insertBatch(customerreturnRecordDetailDOList);
List<String> typeList = new ArrayList<>();

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java

@ -323,6 +323,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
customerreturnJobMainDO.setUpdateTime(null);
// 获取任务单据设置
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("CustomerRejectJob");
customerreturnJobMainDO.setRequestDueTime(mainDO.getDueTime());
customerreturnJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
customerreturnJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation());
customerreturnJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty());
@ -336,6 +337,8 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectJob");
customerreturnJobMainDO.setBusinessType(businesstypeDO.getCode());
customerreturnJobMainDO.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
customerreturnJobMainDO.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
customerreturnJobMainMapper.insert(customerreturnJobMainDO);
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
List<CustomerreturnJobDetailDO> customerreturnJobDetailDOList = new ArrayList<>();
@ -565,6 +568,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
//校验发货记录并赋值
CustomerreturnRequestMainDO customerreturnRequestMainDO = this.validateDeliverRecord(mainDo);
mainDo.setDeliverPlanNumber(customerreturnRequestMainDO.getDeliverPlanNumber());
mainDo.setRequestTime(LocalDateTime.now());
//校验业务类型和申请设置并赋值
validateRequestsettingAndBusinesstype(mainDo);
}
@ -631,6 +635,8 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
}
@ -643,6 +649,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
private void validateDeliverRecordDetail(CustomerreturnRequestMainDO mainDo,CustomerreturnRequestDetailDO detailDO){
List<DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordMainService.selectsDeliverRecordExist(mainDo.getDeliverRecordNumber());
if(deliverRecordDetailDO != null && deliverRecordDetailDO.size() != 0){
Boolean result = false;
for (DeliverRecordDetailDO deliver : deliverRecordDetailDO) {
if (
// deliver.getSoNumber().equals(detailDO.getSoNumber()) &&
@ -653,13 +660,15 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
{
detailDO.setQty(deliver.getQty());
detailDO.setUom(deliver.getUom());
} else {
throw exception(DELIVER_RECORD_DETAIL_EXCEPTION,"物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
+ mainDo.getDeliverRecordNumber() + "中");
result = true;
}
}
if(!result){
throw exception(DELIVER_RECORD_DETAIL_EXCEPTION,"物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
+ mainDo.getDeliverRecordNumber() + "中");
// throw exception(DELIVER_RECORD_DETAIL_EXCEPTION,"销售订单号" + detailDO.getSoNumber() + "销售订单行" + detailDO.getSoLine()
// + "物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
// + createReqVO.getDeliverRecordNumber() + "中");
}
}
}
else {

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailService.java

@ -79,4 +79,5 @@ public interface CustomersettleRecordDetailService {
*/
List<CustomersettleRecordDetailDO> getCustomersettleRecordDetailList(CustomersettleRecordDetailExportReqVO exportReqVO);
List<CustomersettleRecordDetailDO> selectList(Long masterId);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailServiceImpl.java

@ -5,6 +5,7 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailExportReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailPageReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -87,4 +88,8 @@ public class CustomersettleRecordDetailServiceImpl implements CustomersettleReco
return customersettleRecordDetailMapper.selectList(exportReqVO);
}
@Override
public List<CustomersettleRecordDetailDO> selectList(Long masterId) {
return customersettleRecordDetailMapper.selectList(masterId);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainService.java

@ -10,6 +10,7 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
/**
* 客户结算记录主 Service 接口
@ -79,4 +80,5 @@ public interface CustomersettleRecordMainService {
*/
List<CustomersettleRecordMainDO> getCustomersettleRecordMainList(CustomersettleRecordMainExportReqVO exportReqVO);
List<CustomersettleRecordMainDO> getCustomersettleRecordMainList(CustomConditions conditions);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainServiceImpl.java

@ -87,4 +87,9 @@ public class CustomersettleRecordMainServiceImpl implements CustomersettleRecord
return customersettleRecordMainMapper.selectList(exportReqVO);
}
@Override
public List<CustomersettleRecordMainDO> getCustomersettleRecordMainList(CustomConditions conditions) {
return customersettleRecordMainMapper.selectSeniorList(conditions);
}
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailService.java

@ -79,4 +79,5 @@ public interface CustomersettleRequestDetailService {
*/
List<CustomersettleRequestDetailDO> getCustomersettleRequestDetailList(CustomersettleRequestDetailExportReqVO exportReqVO);
List<CustomersettleRequestDetailDO> selectList(Long masterId);
}

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailServiceImpl.java

@ -1,10 +1,17 @@
package com.win.module.wms.service.customersettleRequest;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailExportReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailPageReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordMainDO;
import com.win.module.wms.service.deliverRecord.DeliverRecordMainService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -31,12 +38,17 @@ public class CustomersettleRequestDetailServiceImpl implements CustomersettleReq
@Resource
private CustomersettleRequestDetailMapper customersettleRequestDetailMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Override
public Long createCustomersettleRequestDetail(CustomersettleRequestDetailCreateReqVO createReqVO) {
// 插入
CustomersettleRequestDetailDO customersettleRequestDetail = CustomersettleRequestDetailConvert.INSTANCE.convert(createReqVO);
customersettleRequestDetailMapper.insert(customersettleRequestDetail);
trendsApi.createTrends(customersettleRequestDetail.getId(), "customersettleRequestDetail", customersettleRequestDetail.toString(), TrendsTypeEnum.CREATE);
// 返回
return customersettleRequestDetail.getId();
}
@ -47,21 +59,24 @@ public class CustomersettleRequestDetailServiceImpl implements CustomersettleReq
validateCustomersettleRequestDetailExists(updateReqVO.getId());
// 更新
CustomersettleRequestDetailDO updateObj = CustomersettleRequestDetailConvert.INSTANCE.convert(updateReqVO);
trendsApi.createTrends(updateObj.getId(), "customersettleRequestDetail", updateObj.toString(), TrendsTypeEnum.UPDATE);
customersettleRequestDetailMapper.updateById(updateObj);
}
@Override
public void deleteCustomersettleRequestDetail(Long id) {
// 校验存在
validateCustomersettleRequestDetailExists(id);
CustomersettleRequestDetailDO customersettleRequestDetailDO = validateCustomersettleRequestDetailExists(id);
trendsApi.createTrends(id, "customersettleRequestDetail", customersettleRequestDetailDO.toString(), TrendsTypeEnum.DELETE);
// 删除
customersettleRequestDetailMapper.deleteById(id);
}
private void validateCustomersettleRequestDetailExists(Long id) {
if (customersettleRequestDetailMapper.selectById(id) == null) {
private CustomersettleRequestDetailDO validateCustomersettleRequestDetailExists(Long id) {
CustomersettleRequestDetailDO customersettleRequestDetailDO = customersettleRequestDetailMapper.selectById(id);
if (customersettleRequestDetailDO == null) {
throw exception(CUSTOMERSETTLE_REQUEST_DETAIL_NOT_EXISTS);
}
}return customersettleRequestDetailDO;
}
@Override
@ -87,4 +102,8 @@ public class CustomersettleRequestDetailServiceImpl implements CustomersettleReq
return customersettleRequestDetailMapper.selectList(exportReqVO);
}
@Override
public List<CustomersettleRequestDetailDO> selectList(Long masterId) {
return customersettleRequestDetailMapper.selectList(masterId);
}
}

44
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainService.java

@ -78,7 +78,49 @@ public interface CustomersettleRequestMainService {
*/
List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomersettleRequestMainExportReqVO exportReqVO);
/**
* 关闭
* @param id
* @return
*/
public Integer closeCustomersettleRequestMain(Long id);
/**
* 重新添加
* @param id
* @return
*/
public Integer reAddCustomersettleRequestMain(Long id);
/**
* 提交
* @param id
* @return
*/
public Integer submitCustomersettleRequestMain(Long id);
/**
* 审批通过
* @param id
* @return
*/
public Integer agreeCustomersettleRequestMain(Long id);
/**
* 执行
* @param id
* @return
*/
public Integer handleCustomersettleRequestMain(Long id);
/**
*
* @param id
* @return
*/
public Integer abortCustomersettleRequestMain(Long id);
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainService(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainImport(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomConditions conditions);
}

484
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java

@ -2,23 +2,46 @@ package com.win.module.wms.service.customersettleRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
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.customersettleRecord.vo.CustomersettleRecordDetailCreateReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestDetailCreateReqVO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainCreateReqVO;
import com.win.module.wms.convert.customersettleRecord.CustomersettleRecordDetailConvert;
import com.win.module.wms.convert.customersettleRecord.CustomersettleRecordMainConvert;
import com.win.module.wms.convert.customersettleRequest.CustomersettleRequestDetailConvert;
import com.win.module.wms.convert.deliverRequest.DeliverRequestDetailConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordMainDO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.customersettleRecord.CustomersettleRecordDetailMapper;
import com.win.module.wms.dal.mysql.customersettleRecord.CustomersettleRecordMainMapper;
import com.win.module.wms.dal.mysql.customersettleRequest.CustomersettleRequestDetailMapper;
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.customersettleRecord.CustomersettleRecordMainService;
import com.win.module.wms.service.deliverRecord.DeliverRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
@ -53,27 +76,37 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
@Resource
private CustomersettleRequestDetailMapper customersettleRequestDetailMapper;
@Resource
private CustomersettleRecordMainMapper customersettleRecordMainMapper;
@Resource
private CustomersettleRecordDetailMapper customersettleRecordDetailMapper;
@Resource
private DeliverRecordMainService deliverRecordMainService;
private CustomersettleRecordMainService customersettleRecordMainService;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Resource
private RequestsettingService requestsettingService;
@Resource
private JobUtils jobUtils;
@Resource
private Validator validator;
@Resource
private TrendsApi trendsApi;
@Resource
private SerialNumberApi serialNumberApi;
@Override
public Long createCustomersettleRequestMain(CustomersettleRequestMainCreateReqVO createReqVO) {
// 插入
CustomersettleRequestMainDO customersettleRequestMain = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
customersettleRequestMainMapper.insert(customersettleRequestMain);
CustomersettleRequestMainDO customersettleRequestMainDO = validatorToCreate(createReqVO);
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(customersettleRequestMainDO.getStatus())) {
generateRecord(customersettleRequestMainDO,customersettleRequestDetailMapper.selectList(customersettleRequestMainDO.getId()));
}
trendsApi.createTrends(customersettleRequestMainDO.getId(), "CustomersettleRequest", "增加了客户结算申请", TrendsTypeEnum.CREATE);
// 返回
return customersettleRequestMain.getId();
return customersettleRequestMainDO.getId();
}
@Override
@ -82,6 +115,10 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
validateCustomersettleRequestMainExists(updateReqVO.getId());
// 更新
CustomersettleRequestMainDO updateObj = CustomersettleRequestMainConvert.INSTANCE.convert(updateReqVO);
if(RequestStatusEnum.HANDLING.getCode().equals(updateObj.getStatus())) {
generateRecord(updateObj,customersettleRequestDetailMapper.selectList(updateObj.getId()));
}
trendsApi.createTrends(updateObj.getId(), "CustomersettleRequest", "修改了客户结算申请", TrendsTypeEnum.UPDATE);
customersettleRequestMainMapper.updateById(updateObj);
}
@ -93,10 +130,12 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
customersettleRequestMainMapper.deleteById(id);
}
private void validateCustomersettleRequestMainExists(Long id) {
if (customersettleRequestMainMapper.selectById(id) == null) {
private CustomersettleRequestMainDO validateCustomersettleRequestMainExists(Long id) {
CustomersettleRequestMainDO customersettleRequestMainDO = customersettleRequestMainMapper.selectById(id);
if (customersettleRequestMainDO == null) {
throw exception(CUSTOMERSETTLE_REQUEST_MAIN_NOT_EXISTS);
}
return customersettleRequestMainDO;
}
@Override
@ -121,115 +160,366 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
public List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomersettleRequestMainExportReqVO exportReqVO) {
return customersettleRequestMainMapper.selectList(exportReqVO);
}
//关闭
@Override
public Integer closeCustomersettleRequestMain(Long id) {
// 校验存在存在下级单据
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "customersettleRequest", "关闭了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//打开
@Override
@Transactional
public Integer reAddCustomersettleRequestMain(Long id) {
// 校验存在存在下级单据
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reAdd();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_RE_ADD);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "customersettleRequest", "打开了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//提交
@Transactional
@Override
public Integer submitCustomersettleRequestMain(Long id) {
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateRecord(mainDO, customersettleRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "deliverRequest", "提交了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//审批同意
@Transactional
@Override
public Integer agreeCustomersettleRequestMain(Long id) {
// 校验存在
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateRecord(mainDO, customersettleRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "deliverRequest", "审批同意了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//执行
@Transactional
@Override
public Integer handleCustomersettleRequestMain(Long id) {
// 校验存在
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateRecord(mainDO, customersettleRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "deliverRequest", "执行了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//审批拒绝
@Transactional
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainService(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){
@Override
public Integer abortCustomersettleRequestMain(Long id) {
// 校验存在
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.refused();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "customersettleRequest", "审批拒绝了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
/**
* 生成客户收货记录不要改动事务传播方式否则会有事务问题
*
* @param mainDO 客户收货主
* @param detailDOList 客户收货子
*/
private void generateRecord(CustomersettleRequestMainDO mainDO, List<CustomersettleRequestDetailDO> detailDOList) {
if ("TRUE".equals(mainDO.getDirectCreateRecord())) {
CustomersettleRecordMainCreateReqVO customersettleRecordMainCreateReqVO = new CustomersettleRecordMainCreateReqVO();
BeanUtils.copyProperties(mainDO, customersettleRecordMainCreateReqVO);
customersettleRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode());
customersettleRecordMainCreateReqVO.setNumber(number);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomersettleRecord");
customersettleRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
CustomersettleRecordMainDO convert = CustomersettleRecordMainConvert.INSTANCE.convert(customersettleRecordMainCreateReqVO);
customersettleRecordMainMapper.insert(convert);
for (CustomersettleRequestDetailDO customersettleRequestDetailDO : detailDOList) {
CustomersettleRecordDetailCreateReqVO customersettleRecordDetailCreateReqVO = new CustomersettleRecordDetailCreateReqVO();
BeanUtils.copyProperties(customersettleRequestDetailDO, customersettleRecordDetailCreateReqVO);
customersettleRecordDetailCreateReqVO.setNumber(number);
customersettleRecordDetailCreateReqVO.setMasterId(convert.getId().toString());
customersettleRecordDetailMapper.insert(CustomersettleRecordDetailConvert.INSTANCE.convert(customersettleRecordDetailCreateReqVO));
trendsApi.createTrends(mainDO.getId(), "CustomersettleRecord", "客户结算申请生成客户结算记录", TrendsTypeEnum.CREATE);
}
}
}
@Override
public List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomConditions conditions) {
return customersettleRequestMainMapper.selectSeniorList(conditions);
}
@Override
@Transactional
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainImport(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){
if (CollUtil.isEmpty(datas)) {
throw exception(CUSTOMERSETTLE_REQUEST_NOT_EXISTS);
}
List<CustomersettleRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainService.selectsMainRecordExist(createReqVO.getDeliverRecordNumber());
createReqVO.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
createReqVO.setCustomerCode(deliverRecordMainDO.getCustomerCode());
createReqVO.setFromWarehouseCode(deliverRecordMainDO.getFromWarehouseCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
createReqVO.setCreateTime(LocalDateTime.now());
try {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerRejectRequest");
if (requestsettingDO != null) {
createReqVO.setAutoAgree(requestsettingDO.getAutoAgree());
createReqVO.setAutoCommit(requestsettingDO.getAutoCommit());
createReqVO.setAutoExecute(requestsettingDO.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
}
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectRequest");
createReqVO.setBusinessType(businesstypeDO.getCode());
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_RECORD.getCode());
createReqVO.setNumber(number);
CustomersettleRequestMainDO mainDO = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = this.validateCustomersettleRequestMainImport(mainDO);
List<CustomersettleRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<CustomersettleRequestDetailDO> subDOList = CustomersettleRequestDetailConvert.INSTANCE.convertList03(subList);
for(CustomersettleRequestDetailDO detailDO : subDOList){
String messageDetail = "";
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
//子表校验方法
try {
List <DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordMainService.selectsDeliverRecordExist(createReqVO.getDeliverRecordNumber());
try{
for( DeliverRecordDetailDO deliver : deliverRecordDetailDO){
if(deliver.getSoNumber().equals(detailDO.getSoNumber())&&
deliver.getSoLine().equals(detailDO.getSoLine())
&&deliver.getItemCode().equals(detailDO.getItemCode())&&
deliver.getBatch().equals(detailDO.getBatch())&&
deliver.getPackingNumber().equals(detailDO.getPackingNumber())){
detailDO.setQty(deliver.getQty());
detailDO.setUom(deliver.getUom());
}
else{
throw new UtilException("销售订单号"+detailDO.getSoNumber()+"销售订单行"+detailDO.getSoLine()
+"物料代码"+detailDO.getItemCode()+"批次"+detailDO.getBatch()+"箱码"+detailDO.getPackingNumber()+"不在发货记录单"
+createReqVO.getDeliverRecordNumber()+"中");
}
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
CustomersettleRequestDetailCreateReqVO purchaseturnRequestDetailCreateReqVO = CustomersettleRequestDetailConvert.INSTANCE.convert1(detailDO);
CustomersettleRequestImportErrorVO importVO = CustomersettleRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseturnRequestDetailCreateReqVO);
if (!messageMain.equals("") || !messageDetail.equals("")) {
importVO.setImportStatus("失败");
// 是否有错误数据
boolean flag = true;
for (CustomersettleRequestDetailDO detailDO : subDOList) {
String messageDetail = this.validateCustomersettleRequestDetailImport(mainDO, detailDO);
if(!messageMain.isEmpty() || !messageDetail.isEmpty()) {
CustomersettleRequestImportErrorVO importErrorVO = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO);
} else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
}
CustomersettleRequestMainDO createobj = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
CustomersettleRequestMainDO existCustomersettleRequestMainDO = customersettleRequestMainMapper.selectByDeliverrecordnumberAndSupplierCode(createReqVO.getDeliverRecordNumber());
if (existCustomersettleRequestMainDO == null && mode != 3) {
customersettleRequestMainMapper.insert(createobj);
customersettleRequestDetailMapper.insertBatch(subDOList);
} else if (existCustomersettleRequestMainDO != null && mode != 2) {
customersettleRequestMainMapper.updateById(createobj);
customersettleRequestDetailMapper.updateBatch(subDOList);
//写入数据
if(flag) {
//增加操作记录
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode());
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomersettleRequest");
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());
mainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
mainDO.setRequestTime(LocalDateTime.now());
customersettleRequestMainMapper.insert(mainDO);
trendsApi.createTrends(mainDO.getId(), "customersettleRequestMain", "导入了客户结算申请", TrendsTypeEnum.CREATE);
for (CustomersettleRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateRecord(mainDO, subDOList);
}
customersettleRequestDetailMapper.insertBatch(subDOList);
}
});
//错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) {
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
/**
* 校验主表导入并赋值一些参数
* @param mainDo
* @return
*/
private String validateCustomersettleRequestMainImport(CustomersettleRequestMainDO mainDo) {
StringBuilder message = new StringBuilder();
try {
validateBusinesstypeDO(mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
ValidationUtils.validate(validator, mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
/**
* 校验子表导入并赋值一些参数
* @param detailDo
* @return
*/
private String validateCustomersettleRequestDetailImport(CustomersettleRequestMainDO mainDo, CustomersettleRequestDetailDO detailDo) {
StringBuilder message = new StringBuilder();
try {
DeliverRecordMainDO deliverRecordMainDO = validateDeliverRecordNumber(mainDo.getDeliverRecordNumber());
if (deliverRecordMainDO != null){
mainDo.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
mainDo.setFromWarehouseCode(deliverRecordMainDO.getFromWarehouseCode());
mainDo.setCustomerCode(deliverRecordMainDO.getCustomerCode());
mainDo.setDepartmentCode(deliverRecordMainDO.getDepartmentCode());
try {
this.validateDeliverRecordDetailDO(mainDo,detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
}
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
ValidationUtils.validate(validator, detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
return message.toString();
}
/**
* 新增校验子表并给部分字段赋值
* @param detailDo
* @param mainDo
* @return
*/
private void validateCustomersettleRequestDetailCreate(CustomersettleRequestMainDO mainDo,CustomersettleRequestDetailDO detailDo) {
DeliverRecordMainDO deliverRecordMainDO = validateDeliverRecordNumber(mainDo.getDeliverRecordNumber());
if (deliverRecordMainDO != null) {
mainDo.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
mainDo.setFromWarehouseCode(deliverRecordMainDO.getFromWarehouseCode());
mainDo.setCustomerCode(deliverRecordMainDO.getCustomerCode());
mainDo.setDepartmentCode(deliverRecordMainDO.getDepartmentCode());
this.validateDeliverRecordDetailDO(mainDo,detailDo);
}
}
/**
* 新增时校验主子表方法
* @param createReqVO
* @return
*/
private CustomersettleRequestMainDO validatorToCreate(CustomersettleRequestMainCreateReqVO createReqVO) {
CustomersettleRequestMainDO mainDo = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
requestsettingAndBusinesstype(mainDo);
List<CustomersettleRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<CustomersettleRequestDetailDO> subDOList = CustomersettleRequestDetailConvert.INSTANCE.convertList03(subList);
for (CustomersettleRequestDetailDO deliverRequestDetailDO : subDOList) {
validateCustomersettleRequestDetailCreate(mainDo,deliverRequestDetailDO);
}
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode());
mainDo.setNumber(number);
mainDo.setRequestTime(LocalDateTime.now());
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(mainDo.getAutoCommit(), mainDo.getAutoAgree(), mainDo.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
customersettleRequestMainMapper.insert(mainDo);
for (CustomersettleRequestDetailDO customersettleRequestDetailDO : subDOList) {
customersettleRequestDetailDO.setMasterId(mainDo.getId());
customersettleRequestDetailDO.setNumber(mainDo.getNumber());
}
customersettleRequestDetailMapper.insertBatch(subDOList);
return mainDo;
}
//校验发货记录是否存在
private DeliverRecordMainDO validateDeliverRecordNumber(String deliverRecordNumber){
return deliverRecordMainService.selectsMainRecordExist(deliverRecordNumber);
}
//查询业务类型跟申请设置进行复制
private void requestsettingAndBusinesstype(CustomersettleRequestMainDO mainDo) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerSettleRequest");
mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerSettleRequest");
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
/**
* 查询成品发货记录子表
* @param mainDo
* @param detailDO
*/
private void validateDeliverRecordDetailDO(CustomersettleRequestMainDO mainDo,CustomersettleRequestDetailDO detailDO) {
List<DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordMainService.selectsDeliverRecordExist(mainDo.getDeliverRecordNumber());
boolean flag = false;
for (DeliverRecordDetailDO deliver : deliverRecordDetailDO) {
// if (deliver.getSoNumber().equals(detailDO.getSoNumber()) &&
// deliver.getSoLine().equals(detailDO.getSoLine())
// && deliver.getItemCode().equals(detailDO.getItemCode()) &&
// deliver.getBatch().equals(detailDO.getBatch()) &&
// deliver.getPackingNumber().equals(detailDO.getPackingNumber())) {
// detailDO.setQty(deliver.getQty());
// detailDO.setUom(deliver.getUom());
// } else {
// throw new UtilException("销售订单号" + detailDO.getSoNumber() + "销售订单行" + detailDO.getSoLine()
// + "物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
// + mainDo.getDeliverRecordNumber() + "中");
// }
if (deliver.getItemCode().equals(detailDO.getItemCode()) &&
deliver.getBatch().equals(detailDO.getBatch()) &&
deliver.getPackingNumber().equals(detailDO.getPackingNumber())) {
detailDO.setQty(deliver.getQty());
detailDO.setUom(deliver.getUom());
detailDO.setInventoryStatus(deliver.getInventoryStatus());
detailDO.setFromLocationCode(deliver.getFromLocationCode());
detailDO.setItemDesc2(deliver.getItemDesc2());
detailDO.setItemDesc1(deliver.getItemDesc1());
detailDO.setItemName(deliver.getItemName());
detailDO.setProjectCode(deliver.getProjectCode());
flag = true;
}
}
if(flag == false) {
throw new UtilException("物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
+ mainDo.getDeliverRecordNumber() + "中");
}
}
//查询业务类型并赋值给主表
private void validateBusinesstypeDO(CustomersettleRequestMainDO mainDo){
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectRequest");
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java

@ -324,6 +324,7 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService {
deliverRecordDetailDO.setBatch(recordListItem.get("toBatch")==null?"":recordListItem.get("toBatch"));
deliverRecordDetailDO.setToLocationCode(recordListItem.get("toLocationCode").toString());
deliverRecordDetailDO.setInventoryStatus(recordListItem.get("toInventoryStatus").toString());
deliverRecordDetailDO.setAvailable("TRUE");
deliverRecordDetailDO.setToContainerNumber(DetailUpdateItem.getToContainerNumber());
// 根据 to库位 查询 库位组 库区
LocationDO locationDO = locationService.selectLocation(recordListItem.get("toLocationCode").toString());

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java

@ -375,6 +375,8 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
try {
ValidationUtils.validate(validator, mainDo);
@ -523,6 +525,8 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
deliverRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
deliverRequestMainDO.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
deliverRequestMainDO.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
String customerDeliverNumber = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_DELIVER_NUMBER.getCode());
deliverRequestMainDO.setCustomerDeliverNumber(customerDeliverNumber);
return deliverRequestMainDO;

Loading…
Cancel
Save