Browse Source

客户退货申请

master
廉洪喜 2 years ago
parent
commit
108cdb627f
  1. 2
      win-framework/win-spring-boot-starter-excel/src/main/java/com/win/framework/excel/core/util/ExcelUtils.java
  2. 2
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  3. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExportReqVO.java
  5. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainPageReqVO.java
  6. 56
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java
  7. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestDetailBaseVO.java
  8. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportErrorVO.java
  9. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportVO.java
  10. 43
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java
  11. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainCreateReqVO.java
  12. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/IssueRequestMainController.java
  13. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestMainController.java
  14. 32
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnRequest/CustomerreturnRequestDetailConvert.java
  15. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestDetailDO.java
  16. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestMainDO.java
  17. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRecord/CustomerreturnRecordMainMapper.java
  18. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestMainMapper.java
  19. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainService.java
  20. 251
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java
  21. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainService.java
  22. 29
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainServiceImpl.java
  23. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainService.java
  24. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
  25. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java

2
win-framework/win-spring-boot-starter-excel/src/main/java/com/win/framework/excel/core/util/ExcelUtils.java

@ -83,7 +83,7 @@ public class ExcelUtils {
public static <T> List<T> read(MultipartFile file, Class<T> head) throws IOException {
return EasyExcel.read(file.getInputStream(), head, null)
.autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理
.doReadAllSync();
. doReadAllSync();
}
public static <T> List<T> read(MultipartFile file, Class<T> head, AnalysisEventListener<T> listener) throws IOException {

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

@ -678,6 +678,8 @@ public interface ErrorCodeConstants {
//客户退货申请ErrorCode
ErrorCode CUSTOMERRETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_124_000, "客户退货申请主不存在");
ErrorCode CUSTOMERRETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_124_001, "客户退货申请子不存在");
ErrorCode CUSTOMERRETURN_REQUEST_NOT_EXISTS = new ErrorCode(1_000_124_000, "客户退货申请不存在");
//客户退货任务ErrorCode
ErrorCode CUSTOMERRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_125_000, "客户退货任务主不存在");
ErrorCode CUSTOMERRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_125_001, "客户退货任务子不存在");

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

@ -22,8 +22,6 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomerreturnRecordMainExcelVO {
@ExcelProperty("申请单号")
private String requestNumber;
@ExcelProperty("任务单号")
private String jobNumber;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExportReqVO.java

@ -13,8 +13,6 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@Data
public class CustomerreturnRecordMainExportReqVO {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "任务单号")
private String jobNumber;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainPageReqVO.java

@ -15,8 +15,6 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true)
public class CustomerreturnRecordMainPageReqVO extends PageParam {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "任务单号")
private String jobNumber;

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

@ -1,8 +1,16 @@
package com.win.module.wms.controller.customerreturnRequest;
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.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -13,6 +21,8 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import java.io.IOException;
@ -29,6 +39,7 @@ import com.win.module.wms.controller.customerreturnRequest.vo.*;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert;
import com.win.module.wms.service.customerreturnRequest.CustomerreturnRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 客户退货申请主")
@RestController
@ -121,4 +132,49 @@ public class CustomerreturnRequestMainController {
ExcelUtils.write(response, "客户退货申请主.xls", "数据", CustomerreturnRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制客户退货信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<CustomerreturnRequestImportVO> list = Arrays.asList(
);
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(3, transferMode);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(13, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(12, uom);
// 输出
ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomerreturnRequestImportVO.class, list,mapDropDown);
}
@PostMapping("/import")
@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:customerreturn-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<CustomerreturnRequestImportVO> list = ExcelUtils.read(file, CustomerreturnRequestImportVO.class);
ConvertUtil<CustomerreturnRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(CustomerreturnRequestMainCreateReqVO.class);
List<CustomerreturnRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<CustomerreturnRequestImportErrorVO> errorList = customerreturnRequestMainService.importCustomerreturnMainList(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);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestDetailBaseVO.java

@ -50,6 +50,10 @@ public class CustomerreturnRequestDetailBaseVO {
@NotNull(message = "从库位代码不能为空")
private String fromLocationCode;
@Schema(description = "到库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库位代码不能为空")
private String toLocationCode;
@Schema(description = "单据号")
private String number;

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportErrorVO.java

@ -0,0 +1,24 @@
package com.win.module.wms.controller.customerreturnRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomerreturnRequestImportErrorVO extends CustomerreturnRequestImportVO{
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

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

@ -0,0 +1,73 @@
package com.win.module.wms.controller.customerreturnRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class CustomerreturnRequestImportVO {
//主表字段
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("承运商")
private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode;
@ExcelProperty("车牌号")
private String vehiclePlateNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
}

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

@ -1,11 +1,8 @@
package com.win.module.wms.controller.customerreturnRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
@ -22,10 +19,6 @@ public class CustomerreturnRequestMainBaseVO {
@Schema(description = "id", example = "id")
private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "发货记录单号")
private String deliverRecordNumber;
@ -33,11 +26,11 @@ public class CustomerreturnRequestMainBaseVO {
private String deliverPlanNumber;
@Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "客户代码不能为空")
@NotBlank(message = "客户代码不能为空")
private String customerCode;
@Schema(description = "客户月台代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "客户月台代码不能为空")
@NotBlank(message = "客户月台代码不能为空")
private String customerDockCode;
@Schema(description = "承运商")
@ -50,11 +43,12 @@ public class CustomerreturnRequestMainBaseVO {
private String vehiclePlateNumber;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空")
@OnlyOne
@NotBlank(message = "单据号不能为空")
private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
@NotBlank(message = "业务类型不能为空")
private String businessType;
@Schema(description = "备注")
@ -76,8 +70,7 @@ public class CustomerreturnRequestMainBaseVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
@Schema(description = "部门")
private String departmentCode;
@Schema(description = "状态")
@ -90,47 +83,45 @@ public class CustomerreturnRequestMainBaseVO {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从仓库代码不能为空")
@Schema(description = "从仓库代码")
private String fromWarehouseCode;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空")
@NotBlank(message = "从库位类型范围不能为空")
private String fromLocationTypes;
@Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库区代码范围不能为空")
@NotBlank(message = "从库区代码范围不能为空")
private String fromAreaCodes;
@Schema(description = "到仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到仓库代码不能为空")
@Schema(description = "到仓库代码")
private String toWarehouseCode;
@Schema(description = "到库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库位类型范围不能为空")
@NotBlank(message = "到库位类型范围不能为空")
private String toLocationTypes;
@Schema(description = "到库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库区代码范围不能为空")
@NotBlank(message = "到库区代码范围不能为空")
private String toAreaCodes;
@Schema(description = "到月台代码")
private String toDockCode;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
@NotBlank(message = "自动提交不能为空")
private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
@NotBlank(message = "自动通过不能为空")
private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
@NotBlank(message = "自动执行不能为空")
private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
@NotBlank(message = "直接生成记录不能为空")
private String directCreateRecord;
}

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainCreateReqVO.java

@ -1,12 +1,17 @@
package com.win.module.wms.controller.customerreturnRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
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 CustomerreturnRequestMainCreateReqVO extends CustomerreturnRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<CustomerreturnRequestDetailCreateReqVO> subList;
}

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

@ -5,9 +5,6 @@ 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.inspectRequest.vo.IssueRequestImportErrorVO;
import com.win.module.wms.controller.inspectRequest.vo.IssueRequestImportVO;
import com.win.module.wms.controller.inspectRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestMainController.java

@ -3,27 +3,36 @@ package com.win.module.wms.controller.productionreturnRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productionreturnRequest.vo.*;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -121,4 +130,5 @@ public class ProductionreturnRequestMainController {
return success(result);
}
}

32
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnRequest/CustomerreturnRequestDetailConvert.java

@ -4,11 +4,17 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailCreateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailExcelVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailRespVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailUpdateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.*;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailExcelVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO;
@ -33,5 +39,21 @@ public interface CustomerreturnRequestDetailConvert {
PageResult<CustomerreturnRequestDetailRespVO> convertPage(PageResult<CustomerreturnRequestDetailDO> page);
List<CustomerreturnRequestDetailExcelVO> convertList02(List<CustomerreturnRequestDetailDO> list);
CustomerreturnRequestDetailCreateReqVO convert1(CustomerreturnRequestDetailDO bean);
List<CustomerreturnRequestDetailDO> convertList03(List<CustomerreturnRequestDetailCreateReqVO> 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.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
CustomerreturnRequestDetailExcelVO convert(CustomerreturnRequestMainDO mainDO, CustomerreturnRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
CustomerreturnRequestImportErrorVO convert(CustomerreturnRequestMainCreateReqVO mainVo, CustomerreturnRequestDetailCreateReqVO detailVo);
}

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

@ -61,6 +61,10 @@ public class CustomerreturnRequestDetailDO extends BaseDO {
* 从库位代码
*/
private String fromLocationCode;
/**
* 到库位代码
*/
private String toLocationCode;
/**
* 主表ID
*/

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

@ -28,10 +28,7 @@ public class CustomerreturnRequestMainDO extends BaseDO {
*/
@TableId
private Long id;
/**
* 申请单号
*/
private String requestNumber;
/**
* 发货记录单号
*/

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRecord/CustomerreturnRecordMainMapper.java

@ -22,7 +22,6 @@ public interface CustomerreturnRecordMainMapper extends BaseMapperX<Customerretu
default PageResult<CustomerreturnRecordMainDO> selectPage(CustomerreturnRecordMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRecordMainDO>()
.eqIfPresent(CustomerreturnRecordMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getJobNumber, reqVO.getJobNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())
@ -60,7 +59,6 @@ public interface CustomerreturnRecordMainMapper extends BaseMapperX<Customerretu
}
default List<CustomerreturnRecordMainDO> selectList(CustomerreturnRecordMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomerreturnRecordMainDO>()
.eqIfPresent(CustomerreturnRecordMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getJobNumber, reqVO.getJobNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())

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

@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.apache.ibatis.annotations.Mapper;
/**
@ -22,7 +23,6 @@ public interface CustomerreturnRequestMainMapper extends BaseMapperX<Customerret
default PageResult<CustomerreturnRequestMainDO> selectPage(CustomerreturnRequestMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRequestMainDO>()
.eqIfPresent(CustomerreturnRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getCustomerCode, reqVO.getCustomerCode())
@ -57,9 +57,12 @@ public interface CustomerreturnRequestMainMapper extends BaseMapperX<Customerret
default PageResult<CustomerreturnRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default CustomerreturnRequestMainDO selectByDeliverrecordnumberAndSupplierCode(String deliverrecordnumber) {
return selectOne(CustomerreturnRequestMainDO::getDeliverRecordNumber,deliverrecordnumber);
}
default List<CustomerreturnRequestMainDO> selectList(CustomerreturnRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomerreturnRequestMainDO>()
.eqIfPresent(CustomerreturnRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getCustomerCode, reqVO.getCustomerCode())

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainService.java

@ -4,10 +4,10 @@ import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainCreateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainUpdateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.*;
import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestMainCreateReqVO;
import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestMainImportErrorVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.framework.common.pojo.PageResult;
@ -79,4 +79,6 @@ public interface CustomerreturnRequestMainService {
*/
List<CustomerreturnRequestMainDO> getCustomerreturnRequestMainList(CustomerreturnRequestMainExportReqVO exportReqVO);
public List<CustomerreturnRequestImportErrorVO> importCustomerreturnMainList(List<CustomerreturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
}

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

@ -1,25 +1,50 @@
package com.win.module.wms.service.customerreturnRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainCreateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainUpdateReqVO;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.customerreturnRequest.vo.*;
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.*;
import com.win.module.wms.dal.mysql.customerreturnRequest.CustomerreturnRequestDetailMapper;
import com.win.module.wms.service.requestsetting.*;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.util.*;
import com.win.module.wms.service.location.*;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import com.win.module.wms.service.purchasereceiptRecord.*;
import com.win.module.wms.service.itembasic.*;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.time.LocalDateTime;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.util.*;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert;
import com.win.module.wms.dal.mysql.customerreturnRequest.CustomerreturnRequestMainMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
/**
* 客户退货申请主 Service 实现类
*
@ -32,6 +57,32 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
@Resource
private CustomerreturnRequestMainMapper customerreturnRequestMainMapper;
@Resource
private CustomerreturnRequestDetailMapper customerreturnRequestDetailMapper;
@Resource
private RequestsettingService requestsettingService;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Resource
private ItembasicService itembasicService;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private DictDataApi dictDataApi;
@Resource
private LocationService locationService;
@Resource
private Validator validator;
@Override
public Long createCustomerreturnRequestMain(CustomerreturnRequestMainCreateReqVO createReqVO) {
// 插入
@ -87,4 +138,190 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
return customerreturnRequestMainMapper.selectList(exportReqVO);
}
private void validatePurchaseclaimRequestMainExists(Long id) {
CustomerreturnRequestMainDO customerRequestMainDO = customerreturnRequestMainMapper.selectById(id);
if (customerRequestMainDO == null) {
return;
}else {
throw exception(CUSTOMERRETURN_REQUEST_NOT_EXISTS);
}
}
public String isqty(BigDecimal qty1, BigDecimal qty2) {
if(qty1.compareTo(qty2) < 0){
return "ture";
} else {
throw new UtilException("上架数量"+qty2+ "不能大于库存数量"+ qty1);
}
}
@Override
@Transactional
public List<CustomerreturnRequestImportErrorVO> importCustomerreturnMainList(List<CustomerreturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(CUSTOMERRETURN_REQUEST_NOT_EXISTS);
}
List< CustomerreturnRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainService.selectsMainRecordExist(createReqVO.getDeliverRecordNumber());
createReqVO.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
createReqVO.setCustomerCode(deliverRecordMainDO.getCustomerCode());
createReqVO.setCustomerDockCode(deliverRecordMainDO.getCustomerDockCode());
createReqVO.setCreateTime(LocalDateTime.now());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
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.setToLocationTypes(businesstypeDO.getInLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes());
}catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_REQUEST.getCode());
createReqVO.setNumber(number);
List<CustomerreturnRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<CustomerreturnRequestDetailDO> subDOList = CustomerreturnRequestDetailConvert.INSTANCE.convertList03(subList);
for(CustomerreturnRequestDetailDO 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() + ",";
}
try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setItemName(itembasicDO.getName());
detailDO.setProjectCode(itembasicDO.getProject());
detailDO.setUom(itembasicDO.getUom());
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try {
locationService.selectLocation(detailDO.getFromLocationCode());
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
if(!detailDO.getFromLocationCode().isEmpty()){
jobUtils.ifInToLocationType(detailDO.getFromLocationCode(),businesstypeDO);
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
jobUtils.ifInFromLocationType(detailDO.getToLocationCode(),businesstypeDO);
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
jobUtils.ifInInventoryStatuses(detailDO.getInventoryStatus(),businesstypeDO);
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
if("客户寄售库".equals(detailDO.getFromLocationCode())){
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictLabel(detailDO.getInventoryStatus());
String value = dictDataRespDTO.getValue();
String[] businessArray = value.split(",");
List<String> business = Arrays.asList(businessArray);
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDO.getItemCode(),detailDO.getPackingNumber(),detailDO.getBatch(),
detailDO.getFromLocationCode(),business);
try{
BalanceDO blance1 = balance.get(0);
isqty(detailDO.getQty(),blance1.getQty());
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
CustomerreturnRequestDetailCreateReqVO customerreturnRequestDetailCreateReqVO = CustomerreturnRequestDetailConvert.INSTANCE.convert1(detailDO);
CustomerreturnRequestImportErrorVO importVO = CustomerreturnRequestDetailConvert.INSTANCE.convert(createReqVO, customerreturnRequestDetailCreateReqVO);
if(!messageMain.equals("") || !messageDetail.equals("")){
importVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0,messageMain.length()-1));
errorList.add(importVO);
}else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
}
}
CustomerreturnRequestMainDO createObj = CustomerreturnRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
CustomerreturnRequestMainDO existCustomerreturnRequestMainDO = customerreturnRequestMainMapper.selectByDeliverrecordnumberAndSupplierCode(createReqVO.getDeliverRecordNumber());
if (existCustomerreturnRequestMainDO == null && mode != 3) {
customerreturnRequestMainMapper.insert(createObj);
customerreturnRequestDetailMapper.insertBatch(subDOList);
}
else if (existCustomerreturnRequestMainDO == null && mode != 2) {
customerreturnRequestMainMapper.updateById(createObj);
customerreturnRequestDetailMapper.updateBatch(subDOList);
}
}
});
//错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
}

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainService.java

@ -2,7 +2,6 @@ package com.win.module.wms.service.deliverRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainCreateReqVO;
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainExportReqVO;
@ -93,4 +92,23 @@ public interface DeliverRecordMainService {
*/
List<DeliverRecordMainDO> getDeliverRecordMainList(DeliverRecordMainExportReqVO exportReqVO);
/**
* Record-----QProdD_Main
* 校验成品发货记录
* author lianhongxi
* @param pnumber 单据号
* @return
*/
DeliverRecordMainDO selectsMainRecordExist(String pnumber);
/**
* Record-----QProdD_Detail
* 查询成品发货记录子表
* author lianhongxi
* @param pnumber 单据号
* @return
*/
List <DeliverRecordDetailDO> selectsDeliverRecordExist(String pnumber);
}

29
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainServiceImpl.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainExportReq
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainPageReqVO;
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.rule.RuleDO;
import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordDetailMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -98,6 +99,34 @@ public class DeliverRecordMainServiceImpl implements DeliverRecordMainService {
}
}
@Override
public DeliverRecordMainDO selectsMainRecordExist(String pnumber){
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("number",pnumber);
DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainMapper.selectOne(queryWrapper);
if(deliverRecordMainDO != null && "TRUE".equals(deliverRecordMainDO.getAvailable())){
return deliverRecordMainDO;
}
else{
throw new UtilException( "发货记录无效"+pnumber+"无效");
}
}
@Override
public List <DeliverRecordDetailDO> selectsDeliverRecordExist(String pnumber) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("number",pnumber);
List <DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordDetailMapper.selectList(queryWrapper);
if(!deliverRecordDetailDO.isEmpty()) {
for (DeliverRecordDetailDO detail : deliverRecordDetailDO) {
if (detail != null && "TRUE".equals(detail.getAvailable())) {
return deliverRecordDetailDO;
} else {
throw new UtilException("发货记录明细:单据号" + pnumber + "无效");
}
}
}
return null;
}
@Override
public List<DeliverRecordMainDO> getDeliverRecordMainList(Collection<Long> ids) {
return deliverRecordMainMapper.selectBatchIds(ids);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainService.java

@ -5,8 +5,6 @@ import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestImportErrorVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestMainCreateReqVO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.framework.common.pojo.PageResult;

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

@ -172,11 +172,6 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
validateIssueRequestMainExists(null);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
workshopService.selectWorkshopExist(createReqVO.getWorkshopCode());
} catch (Exception ex) {

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java

@ -183,11 +183,7 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try{
ValidationUtils.validate(validator,createReqVO);
}catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
supplierService.selectSupplier(createReqVO.getSupplierCode());
} catch (Exception ex) {
@ -228,6 +224,11 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
ValidationUtils.validate(validator,createReqVO);
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
PurchaseclaimRequestDetailCreateReqVO purchaseclaimRequestDetailCreateReqVO = PurchaseclaimRequestDetailConvert.INSTANCE.convert1(detailDO);
PurchaseclaimRequestImportErrorVO importVO = PurchaseclaimRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseclaimRequestDetailCreateReqVO);
//进行子表的错误统计
@ -244,6 +245,7 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_REQUEST.getCode());
createReqVO.setNumber(number);
}
}
if(errorList.isEmpty()){
// 判断如果不存在,在进行插入

Loading…
Cancel
Save