Browse Source

上架导出。

master
刘忱 2 years ago
parent
commit
9b2db2c98f
  1. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestMainController.java
  2. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestDetailController.java
  3. 107
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java
  4. 91
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainExcelVO.java
  5. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRequest/PutawayRequestMainConvert.java
  6. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/putawayRequest/PutawayRequestDetailMapper.java
  7. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/putawayRequest/PutawayRequestMainMapper.java
  8. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainService.java
  9. 29
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  10. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestDetailService.java
  11. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestDetailServiceImpl.java
  12. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainService.java
  13. 108
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestMainController.java

@ -10,10 +10,8 @@ import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.inspectRequest.vo.*; import com.win.module.wms.controller.inspectRequest.vo.*;
import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailExcelVO;
import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert; import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert;
import com.win.module.wms.convert.inspectRequest.InspectRequestMainConvert; import com.win.module.wms.convert.inspectRequest.InspectRequestMainConvert;
import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -34,7 +32,10 @@ import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -85,15 +86,6 @@ public class InspectRequestMainController {
return success(InspectRequestMainConvert.INSTANCE.convert(inspectRequestMain)); return success(InspectRequestMainConvert.INSTANCE.convert(inspectRequestMain));
} }
@GetMapping("/list")
@Operation(summary = "获得检验申请主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:query')")
public CommonResult<List<InspectRequestMainRespVO>> getInspectRequestMainList(@RequestParam("ids") Collection<Long> ids) {
List<InspectRequestMainDO> list = inspectRequestMainService.getInspectRequestMainList(ids);
return success(InspectRequestMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得检验申请主分页") @Operation(summary = "获得检验申请主分页")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:query')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-main:query')")
@ -252,7 +244,6 @@ public class InspectRequestMainController {
return success(count > 0); return success(count > 0);
} }
@GetMapping("/getInspectRequestById") @GetMapping("/getInspectRequestById")
@Operation(summary = "APP获得检验申请主子表明细列表") @Operation(summary = "APP获得检验申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -263,7 +254,6 @@ public class InspectRequestMainController {
if (result == null) { if (result == null) {
return success(result); return success(result);
} }
;
InspectRequestDetailExportReqVO reqVO = new InspectRequestDetailExportReqVO(); InspectRequestDetailExportReqVO reqVO = new InspectRequestDetailExportReqVO();
reqVO.setMasterId(result.getId()); reqVO.setMasterId(result.getId());
List<InspectRequestDetailDO> list = inspectRequestDetailService.getInspectRequestDetailList(reqVO); List<InspectRequestDetailDO> list = inspectRequestDetailService.getInspectRequestDetailList(reqVO);
@ -272,5 +262,4 @@ public class InspectRequestMainController {
return success(result); return success(result);
} }
} }

64
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestDetailController.java

@ -1,35 +1,29 @@
package com.win.module.wms.controller.putawayRequest; package com.win.module.wms.controller.putawayRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
import javax.annotation.Resource; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailRespVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailUpdateReqVO;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import io.swagger.v3.oas.annotations.Parameter; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService;
@Tag(name = "管理后台 - 上架申请子") @Tag(name = "管理后台 - 上架申请子")
@RestController @RestController
@RequestMapping("/wms/putaway-request-detail") @RequestMapping("/wms/putaway-request-detail")
@ -75,15 +69,6 @@ public class PutawayRequestDetailController {
return success(PutawayRequestDetailConvert.INSTANCE.convert(putawayRequestDetail)); return success(PutawayRequestDetailConvert.INSTANCE.convert(putawayRequestDetail));
} }
@GetMapping("/list")
@Operation(summary = "获得上架申请子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-detail:query')")
public CommonResult<List<PutawayRequestDetailRespVO>> getPutawayRequestDetailList(@RequestParam("ids") Collection<Long> ids) {
List<PutawayRequestDetailDO> list = putawayRequestDetailService.getPutawayRequestDetailList(ids);
return success(PutawayRequestDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得上架申请子分页") @Operation(summary = "获得上架申请子分页")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-detail:query')") @PreAuthorize("@ss.hasPermission('wms:putaway-request-detail:query')")
@ -91,6 +76,7 @@ public class PutawayRequestDetailController {
PageResult<PutawayRequestDetailDO> pageResult = putawayRequestDetailService.getPutawayRequestDetailPage(pageVO); PageResult<PutawayRequestDetailDO> pageResult = putawayRequestDetailService.getPutawayRequestDetailPage(pageVO);
return success(PutawayRequestDetailConvert.INSTANCE.convertPage(pageResult)); return success(PutawayRequestDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得上架申请子信息分页") @Operation(summary = "高级搜索获得上架申请子信息分页")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-detail:query')") @PreAuthorize("@ss.hasPermission('wms:putaway-request-detail:query')")
@ -104,21 +90,5 @@ public class PutawayRequestDetailController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel")
@Operation(summary = "导出上架申请子 Excel")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-detail:export')")
@OperateLog(type = EXPORT)
public void exportPutawayRequestDetailExcel(@Valid PutawayRequestDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PutawayRequestDetailDO> list = putawayRequestDetailService.getPutawayRequestDetailList(exportReqVO);
// 导出 Excel
List<PutawayRequestDetailExcelVO> datas = PutawayRequestDetailConvert.INSTANCE.convertList02(list);
for(PutawayRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "上架申请子.xls", "数据", PutawayRequestDetailExcelVO.class, datas);
}
} }

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

@ -1,39 +1,44 @@
package com.win.module.wms.controller.putawayRequest; package com.win.module.wms.controller.putawayRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; 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.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.putawayRequest.vo.*; import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert; import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService; import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService;
import com.win.module.wms.service.putawayRequest.PutawayRequestMainService;
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.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import javax.validation.Valid;
import io.swagger.v3.oas.annotations.tags.Tag; import java.io.IOException;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.*; import java.util.ArrayList;
import java.io.IOException; import java.util.HashMap;
import com.win.framework.common.pojo.PageResult; import java.util.List;
import com.win.framework.common.pojo.CommonResult; import java.util.Map;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert;
import com.win.module.wms.service.putawayRequest.PutawayRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 上架申请主") @Tag(name = "管理后台 - 上架申请主")
@RestController @RestController
@ -94,14 +99,6 @@ public class PutawayRequestMainController {
} }
return success(result); return success(result);
} }
@GetMapping("/list")
@Operation(summary = "获得上架申请主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-main:query')")
public CommonResult<List<PutawayRequestMainRespVO>> getPutawayRequestMainList(@RequestParam("ids") Collection<Long> ids) {
List<PutawayRequestMainDO> list = putawayRequestMainService.getPutawayRequestMainList(ids);
return success(PutawayRequestMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得上架申请主分页") @Operation(summary = "获得上架申请主分页")
@ -118,19 +115,50 @@ public class PutawayRequestMainController {
public void exportPutawayRequestMainExcel(@Valid PutawayRequestMainExportReqVO exportReqVO, public void exportPutawayRequestMainExcel(@Valid PutawayRequestMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<PutawayRequestMainDO> list = putawayRequestMainService.getPutawayRequestMainList(exportReqVO); List<PutawayRequestMainDO> list = putawayRequestMainService.getPutawayRequestMainList(exportReqVO);
// 导出 Excel
List<PutawayRequestMainExcelVO> datas = PutawayRequestMainConvert.INSTANCE.convertList02(list);
for(PutawayRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); List<PutawayRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
mapDropDown.put(8, inventoryStatus); ExcelUtils.write(response, "上架申请主.xls", "上架申请数据", PutawayRequestMainExcelVO.class, resultList, mapDropDown);
}
@GetMapping("/export-excel-senior")
@Operation(summary = "导出上架申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-main:export')")
@OperateLog(type = EXPORT)
public void exportPutawayRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<PutawayRequestMainDO> list = putawayRequestMainService.getPutawayRequestMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PutawayRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "上架申请主.xls", "上架申请数据", PutawayRequestMainExcelVO.class, resultList, mapDropDown);
}
private List<PutawayRequestMainExcelVO> getExcelVo(List<PutawayRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(6, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(11, requestStatus);
String[] inspectType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INSPECT_TYPE);
mapDropDown.put(15, inspectType);
String[] nextAction = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.NEXT_ACTION);
mapDropDown.put(16, nextAction);
String[] sampleMethod = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SAMPLE_METHOD);
mapDropDown.put(17, sampleMethod);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom); mapDropDown.put(18, uom);
ExcelUtils.write(response, "上架申请主.xls", "数据", PutawayRequestMainExcelVO.class, datas,mapDropDown); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(28, inventoryStatus);
// 导出 Excel
List<PutawayRequestMainExcelVO> resultList = new ArrayList<>();
for(PutawayRequestMainDO mainDO : list) {
List<PutawayRequestDetailDO> subList = putawayRequestDetailService.selectList(mainDO.getId());
for(PutawayRequestDetailDO detailDO : subList) {
PutawayRequestMainExcelVO vo = PutawayRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
resultList.add(vo);
}
}
return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@ -165,7 +193,6 @@ public class PutawayRequestMainController {
return success(result); return success(result);
} }
@PostMapping("/import") @PostMapping("/import")
@Operation(summary = "导入上架申请基本信息") @Operation(summary = "导入上架申请基本信息")
@Parameters({ @Parameters({

91
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainExcelVO.java

@ -1,17 +1,13 @@
package com.win.module.wms.controller.putawayRequest.vo; package com.win.module.wms.controller.putawayRequest.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -29,7 +25,7 @@ public class PutawayRequestMainExcelVO {
private String fromWarehouseCode; private String fromWarehouseCode;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes; private String fromLocationTypes;
@ExcelProperty("从库区代码范围") @ExcelProperty("从库区代码范围")
@ -44,13 +40,6 @@ public class PutawayRequestMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间") @ExcelProperty("申请时间")
private LocalDateTime requestTime; private LocalDateTime requestTime;
@ -61,20 +50,14 @@ public class PutawayRequestMainExcelVO {
private String departmentCode; private String departmentCode;
@ExcelProperty(value = "状态", converter = DictConvert.class) @ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.REQUEST_STATUS)
private String status; private String status;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty("到仓库代码") @ExcelProperty("到仓库代码")
private String toWarehouseCode; private String toWarehouseCode;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes; private String toLocationTypes;
@ExcelProperty("到库区代码范围") @ExcelProperty("到库区代码范围")
@ -92,8 +75,66 @@ public class PutawayRequestMainExcelVO {
@ExcelProperty("直接生成记录") @ExcelProperty("直接生成记录")
private String directCreateRecord; private String directCreateRecord;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@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(DictTypeConstants.UOM)
private String uom;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
} }

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRequest/PutawayRequestMainConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.putawayRequest; package com.win.module.wms.convert.putawayRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.putawayRequest.vo.*; import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.Mappings; import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import java.util.List;
/** /**
* 上架申请主 Convert * 上架申请主 Convert
@ -39,4 +38,13 @@ public interface PutawayRequestMainConvert {
@Mapping(source = "createReqVO.number", target = "number"), @Mapping(source = "createReqVO.number", target = "number"),
}) })
PutawayRequestImportErrorVO convert(PutawayRequestMainCreateReqVO createReqVO, PutawayRequestDetailDO detailDO); PutawayRequestImportErrorVO convert(PutawayRequestMainCreateReqVO createReqVO, PutawayRequestDetailDO 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"),
})
PutawayRequestMainExcelVO convert(PutawayRequestMainDO mainDO, PutawayRequestDetailDO detailDO);
} }

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

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.putawayRequest; package com.win.module.wms.dal.mysql.putawayRequest;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailExportReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailExportReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 上架申请子 Mapper * 上架申请子 Mapper
* *
@ -46,9 +46,11 @@ public interface PutawayRequestDetailMapper extends BaseMapperX<PutawayRequestDe
.eqIfPresent(PutawayRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode()) .eqIfPresent(PutawayRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode())
.orderByDesc(PutawayRequestDetailDO::getId)); .orderByDesc(PutawayRequestDetailDO::getId));
} }
default PageResult<PutawayRequestDetailDO> selectSenior(CustomConditions conditions) { default PageResult<PutawayRequestDetailDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default List<PutawayRequestDetailDO> selectList(PutawayRequestDetailExportReqVO reqVO) { default List<PutawayRequestDetailDO> selectList(PutawayRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PutawayRequestDetailDO>() return selectList(new LambdaQueryWrapperX<PutawayRequestDetailDO>()
.eqIfPresent(PutawayRequestDetailDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(PutawayRequestDetailDO::getMasterId, reqVO.getMasterId())
@ -77,4 +79,9 @@ public interface PutawayRequestDetailMapper extends BaseMapperX<PutawayRequestDe
.orderByDesc(PutawayRequestDetailDO::getId)); .orderByDesc(PutawayRequestDetailDO::getId));
} }
default List<PutawayRequestDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PutawayRequestDetailDO>()
.eq(PutawayRequestDetailDO::getMasterId, masterId));
}
} }

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/putawayRequest/PutawayRequestMainMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.putawayRequest; package com.win.module.wms.dal.mysql.putawayRequest;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainExportReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainExportReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainPageReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 上架申请主 Mapper * 上架申请主 Mapper
* *
@ -54,9 +54,11 @@ public interface PutawayRequestMainMapper extends BaseMapperX<PutawayRequestMain
.eqIfPresent(PutawayRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord()) .eqIfPresent(PutawayRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.orderByDesc(PutawayRequestMainDO::getId)); .orderByDesc(PutawayRequestMainDO::getId));
} }
default PageResult<PutawayRequestMainDO> selectSenior(CustomConditions conditions) { default PageResult<PutawayRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default List<PutawayRequestMainDO> selectList(PutawayRequestMainExportReqVO reqVO) { default List<PutawayRequestMainDO> selectList(PutawayRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PutawayRequestMainDO>() return selectList(new LambdaQueryWrapperX<PutawayRequestMainDO>()
.eqIfPresent(PutawayRequestMainDO::getSupplierCode, reqVO.getSupplierCode()) .eqIfPresent(PutawayRequestMainDO::getSupplierCode, reqVO.getSupplierCode())
@ -92,7 +94,12 @@ public interface PutawayRequestMainMapper extends BaseMapperX<PutawayRequestMain
.orderByDesc(PutawayRequestMainDO::getId)); .orderByDesc(PutawayRequestMainDO::getId));
} }
default PutawayRequestMainDO selectSupplierCode(String supplierCode){ default List<PutawayRequestMainDO> selectSeniorList(CustomConditions conditions) {
return selectOne(PutawayRequestMainDO::getSupplierCode,supplierCode); return selectList(QueryWrapperUtils.structure(conditions));
}; }
default PutawayRequestMainDO selectByNumber(String number) {
return selectOne(PutawayRequestMainDO::getNumber, number);
}
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainService.java

@ -7,7 +7,6 @@ import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -48,14 +47,6 @@ public interface InspectRequestMainService {
*/ */
InspectRequestMainDO getInspectRequestMain(Long id); InspectRequestMainDO getInspectRequestMain(Long id);
/**
* 获得检验申请主列表
*
* @param ids 编号
* @return 检验申请主列表
*/
List<InspectRequestMainDO> getInspectRequestMainList(Collection<Long> ids);
/** /**
* 获得检验申请主分页 * 获得检验申请主分页
* *

29
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

@ -61,7 +61,6 @@ import javax.annotation.Resource;
import javax.validation.Validator; import javax.validation.Validator;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -169,11 +168,6 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
return inspectRequestMainMapper.selectById(id); return inspectRequestMainMapper.selectById(id);
} }
@Override
public List<InspectRequestMainDO> getInspectRequestMainList(Collection<Long> ids) {
return inspectRequestMainMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<InspectRequestMainDO> getInspectRequestMainPage(InspectRequestMainPageReqVO pageReqVO) { public PageResult<InspectRequestMainDO> getInspectRequestMainPage(InspectRequestMainPageReqVO pageReqVO) {
return inspectRequestMainMapper.selectPage(pageReqVO); return inspectRequestMainMapper.selectPage(pageReqVO);
@ -573,23 +567,22 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
*/ */
private String validatorInspectRequestDetailImport(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { private String validatorInspectRequestDetailImport(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
ItembasicDO itembasicDO = null;
try { try {
itembasicDO = validatorItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2()); detailDo.setItemDesc2(itembasicDO.getDesc2());
detailDo.setItemName(itembasicDO.getName()); detailDo.setItemName(itembasicDO.getName());
detailDo.setProjectCode(itembasicDO.getProject()); detailDo.setProjectCode(itembasicDO.getProject());
} catch (Exception ex) { try {
message.append(ex.getMessage()).append(","); this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
} } catch (Exception ex) {
try { message.append(ex.getMessage()).append(",");
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom()); }
} catch (Exception ex) { try{
message.append(ex.getMessage()).append(","); validatorIfInType(itembasicDO.getType(), businesstypeDO);
} }catch (Exception ex) {
try { message.append(ex.getMessage()).append(",");
validatorIfInType(itembasicDO.getType(), businesstypeDO); }
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestDetailService.java

@ -1,15 +1,15 @@
package com.win.module.wms.service.putawayRequest; package com.win.module.wms.service.putawayRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailExportReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailExportReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailUpdateReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.List;
/** /**
* 上架申请子 Service 接口 * 上架申请子 Service 接口
@ -56,12 +56,12 @@ public interface PutawayRequestDetailService {
PutawayRequestDetailDO getPutawayRequestDetail(Long id); PutawayRequestDetailDO getPutawayRequestDetail(Long id);
/** /**
* 获得上架申请子列表 * 获得上架申请子
* *
* @param ids 编号 * @param masterId 父id
* @return 上架申请子列表 * @return 检验申请子列表
*/ */
List<PutawayRequestDetailDO> getPutawayRequestDetailList(Collection<Long> ids); List<PutawayRequestDetailDO> selectList(Long masterId);
/** /**
* 获得上架申请子分页 * 获得上架申请子分页

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestDetailServiceImpl.java

@ -1,20 +1,22 @@
package com.win.module.wms.service.putawayRequest; package com.win.module.wms.service.putawayRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailExportReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailExportReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailPageReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailUpdateReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailUpdateReqVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert; import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestDetailMapper; import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.PUTAWAY_REQUEST_DETAIL_NOT_EXISTS;
/** /**
* 上架申请子 Service 实现类 * 上架申请子 Service 实现类
@ -69,8 +71,8 @@ public class PutawayRequestDetailServiceImpl implements PutawayRequestDetailServ
} }
@Override @Override
public List<PutawayRequestDetailDO> getPutawayRequestDetailList(Collection<Long> ids) { public List<PutawayRequestDetailDO> selectList(Long masterId) {
return putawayRequestDetailMapper.selectBatchIds(ids); return putawayRequestDetailMapper.selectList(masterId);
} }
@Override @Override

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainService.java

@ -1,10 +1,12 @@
package com.win.module.wms.service.putawayRequest; package com.win.module.wms.service.putawayRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.putawayRequest.vo.*; import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.List;
/** /**
* 上架申请主 Service 接口 * 上架申请主 Service 接口
@ -51,14 +53,6 @@ public interface PutawayRequestMainService {
*/ */
PageResult<PutawayRequestMainDO> getPutawayRequestMainSenior(CustomConditions conditions); PageResult<PutawayRequestMainDO> getPutawayRequestMainSenior(CustomConditions conditions);
/**
* 获得上架申请主列表
*
* @param ids 编号
* @return 上架申请主列表
*/
List<PutawayRequestMainDO> getPutawayRequestMainList(Collection<Long> ids);
/** /**
* 获得上架申请主分页 * 获得上架申请主分页
* *
@ -75,6 +69,14 @@ public interface PutawayRequestMainService {
*/ */
List<PutawayRequestMainDO> getPutawayRequestMainList(PutawayRequestMainExportReqVO exportReqVO); List<PutawayRequestMainDO> getPutawayRequestMainList(PutawayRequestMainExportReqVO exportReqVO);
public List<PutawayRequestImportErrorVO> importPutawayRequestList(List<PutawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart); List<PutawayRequestImportErrorVO> importPutawayRequestList(List<PutawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 获得采购收货申请主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 采购收货申请主列表
*/
List<PutawayRequestMainDO> getPutawayRequestMainList(CustomConditions conditions);
} }

108
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.putawayRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils; import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.api.trends.TrendsApi;
@ -10,13 +11,16 @@ import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.putawayRequest.vo.*; import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert; import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestDetailMapper; import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestDetailMapper;
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.customer.CustomerService; import com.win.module.wms.service.customer.CustomerService;
@ -26,20 +30,14 @@ import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert;
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestMainMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
@ -82,9 +80,9 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
public Long createPutawayRequestMain(PutawayRequestMainCreateReqVO createReqVO) { public Long createPutawayRequestMain(PutawayRequestMainCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest"); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest");
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest");
PutawayRequestMainDO putawayRequestMainDO = validatorToCreate(createReqVO, businesstypeDO,requestsettingDO); PutawayRequestMainDO putawayRequestMainDO = validatorToCreate(createReqVO, businesstypeDO, requestsettingDO);
//调用自动执行方法 //调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(putawayRequestMainDO.getStatus())) { if (RequestStatusEnum.HANDLING.getCode().equals(putawayRequestMainDO.getStatus())) {
} }
trendsApi.createTrends(requestsettingDO.getId(), "PutawayRequest", "增加了上架申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(requestsettingDO.getId(), "PutawayRequest", "增加了上架申请", TrendsTypeEnum.CREATE);
@ -99,8 +97,8 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
// 校验存在 // 校验存在
validatePutawayRequestMainExists(updateReqVO.getId()); validatePutawayRequestMainExists(updateReqVO.getId());
// 更新 // 更新
PutawayRequestMainDO putawayRequestMainDO = validatorMainMethod(updateReqVO, businesstypeDO,requestsettingDO); PutawayRequestMainDO putawayRequestMainDO = validatorMainMethod(updateReqVO, businesstypeDO, requestsettingDO);
if(putawayRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) { if (putawayRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) {
throw exception(PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW); throw exception(PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW);
} }
trendsApi.createTrends(updateReqVO.getId(), "PutawayRequestMain", putawayRequestMainDO.toString(), TrendsTypeEnum.UPDATE); trendsApi.createTrends(updateReqVO.getId(), "PutawayRequestMain", putawayRequestMainDO.toString(), TrendsTypeEnum.UPDATE);
@ -131,10 +129,6 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
public PageResult<PutawayRequestMainDO> getPutawayRequestMainSenior(CustomConditions conditions) { public PageResult<PutawayRequestMainDO> getPutawayRequestMainSenior(CustomConditions conditions) {
return putawayRequestMainMapper.selectSenior(conditions); return putawayRequestMainMapper.selectSenior(conditions);
} }
@Override
public List<PutawayRequestMainDO> getPutawayRequestMainList(Collection<Long> ids) {
return putawayRequestMainMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<PutawayRequestMainDO> getPutawayRequestMainPage(PutawayRequestMainPageReqVO pageReqVO) { public PageResult<PutawayRequestMainDO> getPutawayRequestMainPage(PutawayRequestMainPageReqVO pageReqVO) {
@ -146,6 +140,11 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
return putawayRequestMainMapper.selectList(exportReqVO); return putawayRequestMainMapper.selectList(exportReqVO);
} }
@Override
public List<PutawayRequestMainDO> getPutawayRequestMainList(CustomConditions conditions) {
return putawayRequestMainMapper.selectSeniorList(conditions);
}
@Override @Override
@Transactional @Transactional
public List<PutawayRequestImportErrorVO> importPutawayRequestList(List<PutawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<PutawayRequestImportErrorVO> importPutawayRequestList(List<PutawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
@ -156,13 +155,13 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
datas.forEach(createReqVO -> { datas.forEach(createReqVO -> {
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest");
PutawayRequestMainDO mainDo = PutawayRequestMainConvert.INSTANCE.convert(createReqVO); PutawayRequestMainDO mainDo = PutawayRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validatorPutawayRequestMainImport(mainDo,businesstypeDO); String messageMain = validatorPutawayRequestMainImport(mainDo, businesstypeDO);
List<PutawayRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<PutawayRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<PutawayRequestDetailDO> subDOList = PutawayRequestDetailConvert.INSTANCE.convertList03(subList); List<PutawayRequestDetailDO> subDOList = PutawayRequestDetailConvert.INSTANCE.convertList03(subList);
// 是否有错误数据 // 是否有错误数据
boolean flag = true; boolean flag = true;
for (PutawayRequestDetailDO detailDO : subDOList) { for (PutawayRequestDetailDO detailDO : subDOList) {
String messageDetail = validatorPutawayRequestDetailImport(detailDO, mainDo,businesstypeDO); String messageDetail = validatorPutawayRequestDetailImport(detailDO, mainDo, businesstypeDO);
if (!messageMain.isEmpty() || messageDetail.isEmpty()) { if (!messageMain.isEmpty() || messageDetail.isEmpty()) {
PutawayRequestImportErrorVO importErrorVO = PutawayRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); PutawayRequestImportErrorVO importErrorVO = PutawayRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败"); importErrorVO.setImportStatus("失败");
@ -190,13 +189,13 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
} }
// 新增校验 // 新增校验
private PutawayRequestMainDO validatorToCreate(PutawayRequestMainCreateReqVO createReqVO, BusinesstypeDO businesstypeDO,RequestsettingDO requestsettingDO) { private PutawayRequestMainDO validatorToCreate(PutawayRequestMainCreateReqVO createReqVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) {
PutawayRequestMainDO mainDo = validatorMainMethod(createReqVO,businesstypeDO,requestsettingDO); PutawayRequestMainDO mainDo = validatorMainMethod(createReqVO, businesstypeDO, requestsettingDO);
//子表校验 //子表校验
List<PutawayRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<PutawayRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<PutawayRequestDetailDO> subDOList = PutawayRequestDetailConvert.INSTANCE.convertList03(subList); List<PutawayRequestDetailDO> subDOList = PutawayRequestDetailConvert.INSTANCE.convertList03(subList);
for (PutawayRequestDetailDO detailDO : subDOList) { for (PutawayRequestDetailDO detailDO : subDOList) {
validatorDetailMethod(detailDO,mainDo,businesstypeDO); validatorDetailMethod(detailDO, mainDo, businesstypeDO);
} }
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
mainDo.setNumber(number); mainDo.setNumber(number);
@ -211,7 +210,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
} }
//校验主表公共方法(适用于新增/修改) //校验主表公共方法(适用于新增/修改)
private PutawayRequestMainDO validatorMainMethod(PutawayRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO,RequestsettingDO requestsettingDO){ private PutawayRequestMainDO validatorMainMethod(PutawayRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) {
PutawayRequestMainDO mainDo = PutawayRequestMainConvert.INSTANCE.convert(baseVO); PutawayRequestMainDO mainDo = PutawayRequestMainConvert.INSTANCE.convert(baseVO);
mainDo.setBusinessType(businesstypeDO.getCode()); mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
@ -222,8 +221,9 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
return mainDo; return mainDo;
} }
//校验子表公共方法(适用于新增/修改) //校验子表公共方法(适用于新增/修改)
private void validatorDetailMethod(PutawayRequestDetailDO detailDo,PutawayRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { private void validatorDetailMethod(PutawayRequestDetailDO detailDo, PutawayRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2()); detailDo.setItemDesc2(itembasicDO.getDesc2());
@ -236,7 +236,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO);
validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO); validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO);
ArrayList<String> inventoryStatus = new ArrayList<>(); ArrayList<String> inventoryStatus = new ArrayList<>();
inventoryStatus.set(0,detailDo.getInventoryStatus()); inventoryStatus.set(0, detailDo.getInventoryStatus());
validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
} }
@ -246,12 +246,11 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
* @param mainDo * @param mainDo
* @return * @return
*/ */
private String validatorPutawayRequestMainImport(PutawayRequestMainDO mainDo,BusinesstypeDO businesstypeDO) { private String validatorPutawayRequestMainImport(PutawayRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
if (businesstypeDO == null) { if (businesstypeDO == null) {
message.append("根据业务类型设置未查找到采购退货申请的相关业务类型"); message.append("根据业务类型设置未查找到采购退货申请的相关业务类型");
} } else {
else {
mainDo.setBusinessType(businesstypeDO.getCode()); mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
@ -259,8 +258,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest"); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest");
if (requestsettingDO == null) { if (requestsettingDO == null) {
message.append("根据申请单设置未查找到采购退货申请的相关业务类型"); message.append("根据申请单设置未查找到采购退货申请的相关业务类型");
} } else {
else {
mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
@ -280,7 +278,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
* @param detailDo * @param detailDo
* @return * @return
*/ */
private String validatorPutawayRequestDetailImport(PutawayRequestDetailDO detailDo, PutawayRequestMainDO mainDo,BusinesstypeDO businesstypeDO) { private String validatorPutawayRequestDetailImport(PutawayRequestDetailDO detailDo, PutawayRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
try { try {
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
@ -293,9 +291,9 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try{ try {
validatorIfInType(itembasicDO.getType(), businesstypeDO); validatorIfInType(itembasicDO.getType(), businesstypeDO);
}catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
} catch (Exception ex) { } catch (Exception ex) {
@ -306,25 +304,24 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try{ try {
validatorLocation(detailDo.getFromLocationCode()); validatorLocation(detailDo.getFromLocationCode());
}catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try {
try{
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO);
}catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try{ try {
validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO); validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO);
}catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try { try {
ArrayList<String> inventoryStatus = new ArrayList<>(); ArrayList<String> inventoryStatus = new ArrayList<>();
inventoryStatus.set(0,detailDo.getInventoryStatus()); inventoryStatus.set(0, detailDo.getInventoryStatus());
validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
@ -337,34 +334,37 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
return message.toString(); return message.toString();
} }
private void ifUomSuccess(String itemUom,String uom) { private void ifUomSuccess(String itemUom, String uom) {
if(!itemUom.equals(uom)){ if (!itemUom.equals(uom)) {
throw exception(ITEMBASIC_CODE_EXISTS,"提示单位"+ uom + "错误,应该是" + itemUom); throw exception(ITEMBASIC_CODE_EXISTS, "提示单位" + uom + "错误,应该是" + itemUom);
} }
} }
private ItembasicDO validatorItembasic(String itemCode){
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode); return itembasicService.selectItembasic(itemCode);
} }
private PurchaseDetailDO validatorPurchaseDetailDo(String pnumber, String psupplierCode, String pitemCode, String poLine){ private PurchaseDetailDO validatorPurchaseDetailDo(String pnumber, String psupplierCode, String pitemCode, String poLine) {
return purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode, poLine); return purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode, poLine);
} }
private LocationDO validatorLocation(String fromLocationCode){ private LocationDO validatorLocation(String fromLocationCode) {
return locationService.selectLocation(fromLocationCode); return locationService.selectLocation(fromLocationCode);
} }
private void validatorIfInType(String type, BusinesstypeDO businesstypeDO){
private void validatorIfInType(String type, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(type, businesstypeDO); jobUtils.ifInType(type, businesstypeDO);
} }
private void validatorIfOutInventoryStatuses(String inventoryStatus,BusinesstypeDO businesstypeDO){ private void validatorIfOutInventoryStatuses(String inventoryStatus, BusinesstypeDO businesstypeDO) {
jobUtils.ifOutInventoryStatuses(inventoryStatus, businesstypeDO); jobUtils.ifOutInventoryStatuses(inventoryStatus, businesstypeDO);
} }
private void validatorIfInToLocationType(String fromLocationCode,BusinesstypeDO businesstypeDO){ private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(fromLocationCode, businesstypeDO); jobUtils.ifInType(fromLocationCode, businesstypeDO);
} }
private void validatorManagementAccuracy(String itemCode,String packingNumber,String batch,String fromLocationCode,List<String> inventoryStatus){
jobUtils.selectlocationReturnManagementAccuracy(itemCode, packingNumber,batch,fromLocationCode,inventoryStatus); private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List<String> inventoryStatus) {
jobUtils.selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, fromLocationCode, inventoryStatus);
} }
} }

Loading…
Cancel
Save