Browse Source

完成检验申请功能。

master
刘忱 2 years ago
parent
commit
d1f117a63c
  1. 5
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java
  2. 18
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  3. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestDetailController.java
  4. 104
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestMainController.java
  5. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailBaseVO.java
  6. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailExcelVO.java
  7. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailExportReqVO.java
  8. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailPageReqVO.java
  9. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainExcelVO.java
  10. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java
  11. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java
  12. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRequest/InspectRequestDetailConvert.java
  13. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRequest/InspectRequestMainConvert.java
  14. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inspectRequest/InspectRequestDetailDO.java
  15. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectJob/InspectJobMainMapper.java
  16. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestDetailMapper.java
  17. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestMainMapper.java
  18. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestDetailService.java
  19. 122
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestDetailServiceImpl.java
  20. 47
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainService.java
  21. 112
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  22. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

5
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java

@ -65,9 +65,10 @@ public interface DictTypeConstants {
String CARRIER_TYPE = "carrier_type";//承运商类型 String CARRIER_TYPE = "carrier_type";//承运商类型
String INVENTORY_STATUS = "inventory_status";//库存状态 String INVENTORY_STATUS = "inventory_status";//库存状态
String REQUEST_STATUS = "request_status";//请求状态 String REQUEST_STATUS = "request_status";//请求状态
String PURCHASE_RETURN_REASON = "purchase_return_reason";//原因 String PURCHASE_RETURN_REASON = "purchase_return_reason";//原因
String TRANSFER_MODE = "transfer_mode";//运输方式 String TRANSFER_MODE = "transfer_mode";//运输方式
String FAILED_REASON = "failed_reason";//采购收货不合格原因 String FAILED_REASON = "failed_reason";//采购收货不合格原因
String INSPECT_TYPE = "inspect_type";//检验类型
String NEXT_ACTION = "next_action";//下一步检验动作
String SAMPLE_METHOD = "sample_method";//抽检方式
} }

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

@ -424,7 +424,11 @@ public interface ErrorCodeConstants {
ErrorCode PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_073_002, "采购收货任务状态错误"); ErrorCode PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_073_002, "采购收货任务状态错误");
ErrorCode PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "采购收货不是新增状态"); ErrorCode PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "采购收货不是新增状态");
ErrorCode PURCHASERECEIPT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "采购收货存在采购收货任务单"); ErrorCode PURCHASERECEIPT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "采购收货存在采购收货任务单");
ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_073_004, "采购收货状态不支持关闭"); ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_073_005, "采购收货状态不支持关闭");
ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_073_006, "采购收货状态不支持提交");
ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_073_007, "采购收货状态不支持审批同意");
ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_073_008, "采购收货状态不支持处理");
ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_073_009, "采购收货状态不支持审批拒绝");
//采购收货任务子ErrorCode //采购收货任务子ErrorCode
ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在"); ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在");
ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在"); ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在");
@ -445,10 +449,16 @@ public interface ErrorCodeConstants {
//采购退货记录子ErrorCode //采购退货记录子ErrorCode
ErrorCode PURCHASERETURN_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_077_001, "采购退货记录子不存在"); ErrorCode PURCHASERETURN_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_077_001, "采购退货记录子不存在");
//检验申请主ErrorCode //检验申请主ErrorCode
ErrorCode INSPECT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_078_000, "检验申请主不存在"); ErrorCode INSPECT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_078_000, "到货检验申请主不存在");
//检验申请子ErrorCode //检验申请子ErrorCode
ErrorCode INSPECT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_078_001, "检验申请子不存在"); ErrorCode INSPECT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_078_001, "到货检验申请子不存在");
ErrorCode INSPECT_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_078_002, "检验申请导入数据不能为空"); ErrorCode INSPECT_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_078_002, "到货检验申请导入数据不能为空");
ErrorCode INSPECT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_078_003, "到货检验申请存在采购收货任务单");
ErrorCode INSPECT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_078_004, "到货检验申请状态不支持关闭");
ErrorCode INSPECT_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_078_005, "到货检验申请状态不支持提交");
ErrorCode INSPECT_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_078_006, "到货检验申请状态不支持审批同意");
ErrorCode INSPECT_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_078_007, "到货检验申请状态不支持处理");
ErrorCode INSPECT_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_078_008, "到货检验申请状态不支持审批拒绝");
//检验任务主ErrorCode //检验任务主ErrorCode
ErrorCode INSPECT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_079_000, "检验任务主不存在"); ErrorCode INSPECT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_079_000, "检验任务主不存在");
//检验任务子ErrorCode //检验任务子ErrorCode

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestDetailController.java

@ -1,35 +1,29 @@
package com.win.module.wms.controller.inspectRequest; package com.win.module.wms.controller.inspectRequest;
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.inspectRequest.vo.InspectRequestDetailCreateReqVO;
import javax.annotation.Resource; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailRespVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailUpdateReqVO;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert;
import io.swagger.v3.oas.annotations.Parameter; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.service.inspectRequest.InspectRequestDetailService;
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.inspectRequest.vo.*;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert;
import com.win.module.wms.service.inspectRequest.InspectRequestDetailService;
@Tag(name = "管理后台 - 检验申请子") @Tag(name = "管理后台 - 检验申请子")
@RestController @RestController
@RequestMapping("/wms/inspect-request-detail") @RequestMapping("/wms/inspect-request-detail")
@ -53,8 +47,8 @@ public class InspectRequestDetailController {
@Operation(summary = "更新检验申请子") @Operation(summary = "更新检验申请子")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:update')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:update')")
public CommonResult<Boolean> updateInspectRequestDetail(@Valid @RequestBody InspectRequestDetailUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateInspectRequestDetail(@Valid @RequestBody InspectRequestDetailUpdateReqVO updateReqVO) {
inspectRequestDetailService.updateInspectRequestDetail(updateReqVO); int result = inspectRequestDetailService.updateInspectRequestDetail(updateReqVO);
return success(true); return success(result > 0);
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")
@ -62,8 +56,8 @@ public class InspectRequestDetailController {
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:delete')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:delete')")
public CommonResult<Boolean> deleteInspectRequestDetail(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteInspectRequestDetail(@RequestParam("id") Long id) {
inspectRequestDetailService.deleteInspectRequestDetail(id); int result = inspectRequestDetailService.deleteInspectRequestDetail(id);
return success(true); return success(result > 0);
} }
@GetMapping("/get") @GetMapping("/get")
@ -75,15 +69,6 @@ public class InspectRequestDetailController {
return success(InspectRequestDetailConvert.INSTANCE.convert(inspectRequestDetail)); return success(InspectRequestDetailConvert.INSTANCE.convert(inspectRequestDetail));
} }
@GetMapping("/list")
@Operation(summary = "获得检验申请子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:query')")
public CommonResult<List<InspectRequestDetailRespVO>> getInspectRequestDetailList(@RequestParam("ids") Collection<Long> ids) {
List<InspectRequestDetailDO> list = inspectRequestDetailService.getInspectRequestDetailList(ids);
return success(InspectRequestDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得检验申请子分页") @Operation(summary = "获得检验申请子分页")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:query')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:query')")
@ -105,22 +90,5 @@ public class InspectRequestDetailController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel")
@Operation(summary = "导出检验申请子 Excel")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-detail:export')")
@OperateLog(type = EXPORT)
public void exportInspectRequestDetailExcel(@Valid InspectRequestDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<InspectRequestDetailDO> list = inspectRequestDetailService.getInspectRequestDetailList(exportReqVO);
// 导出 Excel
List<InspectRequestDetailExcelVO> datas = InspectRequestDetailConvert.INSTANCE.convertList02(list);
for(InspectRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "检验申请子.xls", "数据", InspectRequestDetailExcelVO.class, datas);
}
} }

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

@ -11,8 +11,10 @@ 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.convert.inspectRequest.InspectRequestMainConvert; import com.win.module.wms.convert.inspectRequest.InspectRequestMainConvert;
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;
import com.win.module.wms.service.inspectRequest.InspectRequestDetailService;
import com.win.module.wms.service.inspectRequest.InspectRequestMainService; import com.win.module.wms.service.inspectRequest.InspectRequestMainService;
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.Parameter;
@ -43,6 +45,8 @@ public class InspectRequestMainController {
@Resource @Resource
private InspectRequestMainService inspectRequestMainService; private InspectRequestMainService inspectRequestMainService;
@Resource @Resource
private InspectRequestDetailService inspectRequestDetailService;
@Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@ -107,21 +111,57 @@ public class InspectRequestMainController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出检验申请主 Excel") @Operation(summary = "导出检验申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportInspectRequestMainExcel(@Valid InspectRequestMainExportReqVO exportReqVO, public void exportInspectRequestMainExcel(@Valid InspectRequestMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<InspectRequestMainDO> list = inspectRequestMainService.getInspectRequestMainList(exportReqVO); List<InspectRequestMainDO> list = inspectRequestMainService.getInspectRequestMainList(exportReqVO);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<InspectRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "到货检验申请主.xls", "检验申请信息列表", InspectRequestMainExcelVO.class, resultList, mapDropDown);
}
@GetMapping("/export-excel-senior")
@Operation(summary = "导出检验申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:export')")
@OperateLog(type = EXPORT)
public void exportInspectRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<InspectRequestMainDO> list = inspectRequestMainService.getInspectRequestMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<InspectRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "到货检验申请主.xls", "检验申请信息列表", InspectRequestMainExcelVO.class, resultList, mapDropDown);
}
private List<InspectRequestMainExcelVO> getExcelVo(List<InspectRequestMainDO> 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);
mapDropDown.put(18, uom);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(28, inventoryStatus);
// 导出 Excel // 导出 Excel
List<InspectRequestMainExcelVO> datas = InspectRequestMainConvert.INSTANCE.convertList02(list); List<InspectRequestMainExcelVO> resultList = new ArrayList<>();
for(InspectRequestMainExcelVO vo : datas) { for(InspectRequestMainDO mainDO : list) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); List<InspectRequestDetailDO> subList = inspectRequestDetailService.selectList(mainDO.getId());
//后端创建个字段作为前端展示的虚拟字段 for(InspectRequestDetailDO detailDO : subList) {
vo.setCreator(user.getNickname()); InspectRequestMainExcelVO vo = InspectRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
resultList.add(vo);
}
} }
ExcelUtils.write(response, "检验申请主.xls", "数据", InspectRequestMainExcelVO.class, datas); return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@ -158,9 +198,55 @@ public class InspectRequestMainController {
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("检验申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList); String url = ExcelUtils.writeLocalFile("到货检验申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url); returnMap.put("errorFile", url);
} }
return success(returnMap); return success(returnMap);
} }
@PutMapping("/close")
@Operation(summary = "关闭到货检验申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:close')")
public CommonResult<Boolean> closeInspectRequestMain(@RequestParam("id") Long id) {
Integer count = inspectRequestMainService.closeInspectRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交到货检验申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:submit')")
public CommonResult<Boolean> submitInspectRequestMain(@RequestParam("id") Long id) {
Integer count = inspectRequestMainService.submitInspectRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过到货检验申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:agree')")
public CommonResult<Boolean> agreeInspectRequestMain(@RequestParam("id") Long id) {
Integer count = inspectRequestMainService.agreeInspectRequestMain(id);
return success(count > 0);
}
@PutMapping("/handle")
@Operation(summary = "执行到货检验申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:handle')")
public CommonResult<Boolean> handleInspectRequestMain(@RequestParam("id") Long id) {
Integer count = inspectRequestMainService.handleInspectRequestMain(id);
return success(count > 0);
}
@PutMapping("/abort")
@Operation(summary = "审批拒绝到货检验申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:abort')")
public CommonResult<Boolean> abortInspectRequestMain(@RequestParam("id") Long id) {
Integer count = inspectRequestMainService.abortInspectRequestMain(id);
return success(count > 0);
}
} }

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailBaseVO.java

@ -1,13 +1,13 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**
@ -20,6 +20,10 @@ public class InspectRequestDetailBaseVO {
@Schema(description = "id", example = "id") @Schema(description = "id", example = "id")
private Long id; private Long id;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空")
private String number;
@Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "包装号不能为空") @NotNull(message = "包装号不能为空")
private String packingNumber; private String packingNumber;
@ -27,6 +31,9 @@ public class InspectRequestDetailBaseVO {
@Schema(description = "器具号") @Schema(description = "器具号")
private String containerNumber; private String containerNumber;
@Schema(description = "主表ID")
private Long masterId;
@Schema(description = "库存状态") @Schema(description = "库存状态")
private String inventoryStatus; private String inventoryStatus;

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailExcelVO.java

@ -1,15 +1,13 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.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.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
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 lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -20,12 +18,18 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data @Data
public class InspectRequestDetailExcelVO { public class InspectRequestDetailExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("包装号") @ExcelProperty("包装号")
private String packingNumber; private String packingNumber;
@ExcelProperty("器具号") @ExcelProperty("器具号")
private String containerNumber; private String containerNumber;
@ExcelProperty("主表ID")
private Long masterId;
@ExcelProperty(value = "库存状态", converter = DictConvert.class) @ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus; private String inventoryStatus;

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailExportReqVO.java

@ -1,13 +1,11 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import lombok.*; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -15,12 +13,18 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@Data @Data
public class InspectRequestDetailExportReqVO { public class InspectRequestDetailExportReqVO {
@Schema(description = "单据号")
private String number;
@Schema(description = "包装号") @Schema(description = "包装号")
private String packingNumber; private String packingNumber;
@Schema(description = "器具号") @Schema(description = "器具号")
private String containerNumber; private String containerNumber;
@Schema(description = "主表ID")
private Long masterId;
@Schema(description = "库存状态") @Schema(description = "库存状态")
private String inventoryStatus; private String inventoryStatus;

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestDetailPageReqVO.java

@ -1,12 +1,13 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam; import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -17,12 +18,18 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true) @ToString(callSuper = true)
public class InspectRequestDetailPageReqVO extends PageParam { public class InspectRequestDetailPageReqVO extends PageParam {
@Schema(description = "单据号")
private String number;
@Schema(description = "包装号") @Schema(description = "包装号")
private String packingNumber; private String packingNumber;
@Schema(description = "器具号") @Schema(description = "器具号")
private String containerNumber; private String containerNumber;
@Schema(description = "主表ID")
private Long masterId;
@Schema(description = "库存状态") @Schema(description = "库存状态")
private String inventoryStatus; private String inventoryStatus;

73
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainExcelVO.java

@ -1,8 +1,10 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
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 lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -36,18 +38,12 @@ public class InspectRequestMainExcelVO {
private String fromAreaCodes; private String fromAreaCodes;
@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("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间") @ExcelProperty("申请时间")
private LocalDateTime requestTime; private LocalDateTime requestTime;
@ -58,15 +54,9 @@ public class InspectRequestMainExcelVO {
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 poNumber; private String poNumber;
@ -76,23 +66,20 @@ public class InspectRequestMainExcelVO {
@ExcelProperty("批次") @ExcelProperty("批次")
private String batch; private String batch;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty(value = "检验类型", converter = DictConvert.class) @ExcelProperty(value = "检验类型", converter = DictConvert.class)
@DictFormat("inspect_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.INSPECT_TYPE)
private String inspectType; private String inspectType;
@ExcelProperty(value = "下一步检验动作", converter = DictConvert.class) @ExcelProperty(value = "下一步检验动作", converter = DictConvert.class)
@DictFormat("next_action") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.NEXT_ACTION)
private String nextAction; private String nextAction;
@ExcelProperty(value = "抽检方式", converter = DictConvert.class) @ExcelProperty(value = "抽检方式", converter = DictConvert.class)
@DictFormat("sample_method") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.SAMPLE_METHOD)
private String sampleMethod; private String sampleMethod;
@ExcelProperty(value = "计量单位", converter = DictConvert.class) @ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.UOM)
private String uom; private String uom;
@ExcelProperty("收货数量") @ExcelProperty("收货数量")
@ -116,4 +103,48 @@ public class InspectRequestMainExcelVO {
@ExcelProperty("直接生成记录") @ExcelProperty("直接生成记录")
private String directCreateRecord; private String directCreateRecord;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@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("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者ID")
private String creator;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
} }

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

@ -61,8 +61,8 @@ public class PurchasereceiptRequestDetailController {
@Operation(summary = "更新采购收货申请子") @Operation(summary = "更新采购收货申请子")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')")
public CommonResult<Boolean> updatePurchasereceiptRequestDetail(@Valid @RequestBody PurchasereceiptRequestDetailUpdateReqVO updateReqVO) { public CommonResult<Boolean> updatePurchasereceiptRequestDetail(@Valid @RequestBody PurchasereceiptRequestDetailUpdateReqVO updateReqVO) {
purchasereceiptRequestDetailService.updatePurchasereceiptRequestDetail(updateReqVO); int result = purchasereceiptRequestDetailService.updatePurchasereceiptRequestDetail(updateReqVO);
return success(true); return success(result > 0);
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")
@ -70,8 +70,8 @@ public class PurchasereceiptRequestDetailController {
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:delete')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:delete')")
public CommonResult<Boolean> deletePurchasereceiptRequestDetail(@RequestParam("id") Long id) { public CommonResult<Boolean> deletePurchasereceiptRequestDetail(@RequestParam("id") Long id) {
purchasereceiptRequestDetailService.deletePurchasereceiptRequestDetail(id); int result = purchasereceiptRequestDetailService.deletePurchasereceiptRequestDetail(id);
return success(true); return success(result > 0);
} }
@GetMapping("/get") @GetMapping("/get")

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

@ -161,11 +161,14 @@ public class PurchasereceiptRequestMainController {
List<PurchasereceiptRequestDetailDO> subList = purchasereceiptRequestDetailService.selectList(mainDO.getId()); List<PurchasereceiptRequestDetailDO> subList = purchasereceiptRequestDetailService.selectList(mainDO.getId());
for(PurchasereceiptRequestDetailDO detailDO : subList) { for(PurchasereceiptRequestDetailDO detailDO : subList) {
PurchasereceiptRequestMainExcelVO vo = PurchasereceiptRequestMainConvert.INSTANCE.convert(mainDO, detailDO); PurchasereceiptRequestMainExcelVO vo = PurchasereceiptRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(mainDO.getCreator()));
vo.setCreator(user.getNickname());
resultList.add(vo); resultList.add(vo);
} }
} }
return resultList; return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入采购收货申请信息模板") @Operation(summary = "获得导入采购收货申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException { public void importTemplate(HttpServletResponse response) throws IOException {

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRequest/InspectRequestDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.inspectRequest; package com.win.module.wms.convert.inspectRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inspectRequest.vo.*; import com.win.module.wms.controller.inspectRequest.vo.*;
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 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.inspectRequest.InspectRequestDetailDO;
import java.util.List;
/** /**
* 检验申请子 Convert * 检验申请子 Convert
@ -40,6 +39,7 @@ public interface InspectRequestDetailConvert {
List<InspectRequestDetailDO> convertList05(List<InspectRequestDetailUpdateReqVO> subList); List<InspectRequestDetailDO> convertList05(List<InspectRequestDetailUpdateReqVO> subList);
@Mappings({ @Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.createTime", target = "createTime"), @Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"), @Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"), @Mapping(source = "mainDO.updateTime", target = "updateTime"),

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRequest/InspectRequestMainConvert.java

@ -1,13 +1,15 @@
package com.win.module.wms.convert.inspectRequest; package com.win.module.wms.convert.inspectRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inspectRequest.vo.*; import com.win.module.wms.controller.inspectRequest.vo.*;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import java.util.List;
/** /**
* 检验申请主 Convert * 检验申请主 Convert
@ -32,4 +34,16 @@ public interface InspectRequestMainConvert {
List<InspectRequestMainExcelVO> convertList02(List<InspectRequestMainDO> list); List<InspectRequestMainExcelVO> convertList02(List<InspectRequestMainDO> list);
InspectRequestMainDO convert(InspectRequestMainBaseVO baseVO); InspectRequestMainDO convert(InspectRequestMainBaseVO baseVO);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.uom", target = "uom"),
@Mapping(source = "detailDO.itemCode", target = "itemCode"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
InspectRequestMainExcelVO convert(InspectRequestMainDO mainDO, InspectRequestDetailDO detailDO);
} }

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inspectRequest/InspectRequestDetailDO.java

@ -1,11 +1,12 @@
package com.win.module.wms.dal.dataobject.inspectRequest; package com.win.module.wms.dal.dataobject.inspectRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/** /**
* 检验申请子 DO * 检验申请子 DO
@ -26,6 +27,10 @@ public class InspectRequestDetailDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
/**
* 单据号
*/
private String number;
/** /**
* 包装号 * 包装号
*/ */

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectJob/InspectJobMainMapper.java

@ -1,19 +1,20 @@
package com.win.module.wms.dal.mysql.inspectJob; package com.win.module.wms.dal.mysql.inspectJob;
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.inspectJob.vo.InspectJobMainExportReqVO; import com.win.module.wms.controller.inspectJob.vo.InspectJobMainExportReqVO;
import com.win.module.wms.controller.inspectJob.vo.InspectJobMainPageReqVO; import com.win.module.wms.controller.inspectJob.vo.InspectJobMainPageReqVO;
import com.win.module.wms.controller.inspectJob.vo.InspectJobMainRespVO; import com.win.module.wms.controller.inspectJob.vo.InspectJobMainRespVO;
import com.win.module.wms.dal.dataobject.inspectJob.InspectJobMainDO; import com.win.module.wms.dal.dataobject.inspectJob.InspectJobMainDO;
import com.win.module.wms.dal.dataobject.inventorymoveJob.InventorymoveJobMainDO; import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List;
/** /**
* 检验任务主 Mapper * 检验任务主 Mapper
* *
@ -78,6 +79,12 @@ public interface InspectJobMainMapper extends BaseMapperX<InspectJobMainDO> {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default Long selectByRequestNumber(String requestNumber) {
return selectCount(new LambdaQueryWrapperX<InspectJobMainDO>()
.eq(InspectJobMainDO::getRequestNumber, requestNumber)
.ne(InspectJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
default List<InspectJobMainDO> selectList(InspectJobMainExportReqVO reqVO) { default List<InspectJobMainDO> selectList(InspectJobMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<InspectJobMainDO>() return selectList(new LambdaQueryWrapperX<InspectJobMainDO>()
.eqIfPresent(InspectJobMainDO::getRequestNumber, reqVO.getRequestNumber()) .eqIfPresent(InspectJobMainDO::getRequestNumber, reqVO.getRequestNumber())

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestDetailMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.inspectRequest; package com.win.module.wms.dal.mysql.inspectRequest;
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.inspectRequest.vo.InspectRequestDetailExportReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailExportReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 检验申请子 Mapper * 检验申请子 Mapper
* *
@ -60,4 +60,9 @@ public interface InspectRequestDetailMapper extends BaseMapperX<InspectRequestDe
.orderByDesc(InspectRequestDetailDO::getId)); .orderByDesc(InspectRequestDetailDO::getId));
} }
default List<InspectRequestDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<InspectRequestDetailDO>()
.eq(InspectRequestDetailDO::getMasterId, masterId));
}
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestMainMapper.java

@ -1,18 +1,17 @@
package com.win.module.wms.dal.mysql.inspectRequest; package com.win.module.wms.dal.mysql.inspectRequest;
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.inspectRequest.vo.InspectRequestMainExportReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainExportReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainPageReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 检验申请主 Mapper * 检验申请主 Mapper
* *
@ -98,4 +97,9 @@ public interface InspectRequestMainMapper extends BaseMapperX<InspectRequestMain
default InspectRequestMainDO selectPurchaseReceiptNumber(String purchaseReceiptRecordNumber) { default InspectRequestMainDO selectPurchaseReceiptNumber(String purchaseReceiptRecordNumber) {
return selectOne(InspectRequestMainDO::getPurchaseReceiptRecordNumber, purchaseReceiptRecordNumber); return selectOne(InspectRequestMainDO::getPurchaseReceiptRecordNumber, purchaseReceiptRecordNumber);
} }
default List<InspectRequestMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
} }

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestDetailService.java

@ -1,15 +1,14 @@
package com.win.module.wms.service.inspectRequest; package com.win.module.wms.service.inspectRequest;
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.inspectRequest.vo.InspectRequestDetailCreateReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailCreateReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailExportReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailUpdateReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.List;
/** /**
* 检验申请子 Service 接口 * 检验申请子 Service 接口
@ -31,14 +30,14 @@ public interface InspectRequestDetailService {
* *
* @param updateReqVO 更新信息 * @param updateReqVO 更新信息
*/ */
void updateInspectRequestDetail(@Valid InspectRequestDetailUpdateReqVO updateReqVO); int updateInspectRequestDetail(@Valid InspectRequestDetailUpdateReqVO updateReqVO);
/** /**
* 删除检验申请子 * 删除检验申请子
* *
* @param id 编号 * @param id 编号
*/ */
void deleteInspectRequestDetail(Long id); int deleteInspectRequestDetail(Long id);
/** /**
* 获得检验申请子 * 获得检验申请子
@ -51,10 +50,10 @@ public interface InspectRequestDetailService {
/** /**
* 获得检验申请子列表 * 获得检验申请子列表
* *
* @param ids 编号 * @param masterId 父id
* @return 检验申请子列表 * @return 检验申请子列表
*/ */
List<InspectRequestDetailDO> getInspectRequestDetailList(Collection<Long> ids); List<InspectRequestDetailDO> selectList(Long masterId);
/** /**
* 获得检验申请子分页 * 获得检验申请子分页
@ -72,13 +71,4 @@ public interface InspectRequestDetailService {
*/ */
PageResult<InspectRequestDetailDO> getInspectRequestDetailSenior(CustomConditions conditions); PageResult<InspectRequestDetailDO> getInspectRequestDetailSenior(CustomConditions conditions);
/**
* 获得检验申请子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 检验申请子列表
*/
List<InspectRequestDetailDO> getInspectRequestDetailList(InspectRequestDetailExportReqVO exportReqVO);
} }

122
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestDetailServiceImpl.java

@ -1,24 +1,34 @@
package com.win.module.wms.service.inspectRequest; package com.win.module.wms.service.inspectRequest;
import cn.hutool.core.exceptions.UtilException;
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.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailCreateReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailCreateReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailExportReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailPageReqVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailUpdateReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailUpdateReqVO;
import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestDetailMapper;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestMainMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.util.*; import javax.annotation.Resource;
import java.util.ArrayList;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO; import java.util.List;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestDetailMapper;
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.INSPECT_REQUEST_DETAIL_NOT_EXISTS;
/** /**
* 检验申请子 Service 实现类 * 检验申请子 Service 实现类
@ -31,37 +41,57 @@ public class InspectRequestDetailServiceImpl implements InspectRequestDetailServ
@Resource @Resource
private InspectRequestDetailMapper inspectRequestDetailMapper; private InspectRequestDetailMapper inspectRequestDetailMapper;
@Resource
private InspectRequestMainMapper inspectRequestMainMapper;
@Resource
private ItembasicService itembasicService;
@Resource
private DictDataApi dictDataApi;
@Resource
private JobUtils jobUtils;
@Resource
private LocationService locationService;
@Resource
private TrendsApi trendsApi;
@Override @Override
public Long createInspectRequestDetail(InspectRequestDetailCreateReqVO createReqVO) { public Long createInspectRequestDetail(InspectRequestDetailCreateReqVO createReqVO) {
// 插入 // 插入
InspectRequestDetailDO inspectRequestDetail = InspectRequestDetailConvert.INSTANCE.convert(createReqVO); InspectRequestDetailDO inspectRequestDetail = InspectRequestDetailConvert.INSTANCE.convert(createReqVO);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRequest");
InspectRequestMainDO mainDO = inspectRequestMainMapper.selectById(createReqVO.getMasterId());
this.validatorDetail(inspectRequestDetail, mainDO, businesstypeDO);
inspectRequestDetailMapper.insert(inspectRequestDetail); inspectRequestDetailMapper.insert(inspectRequestDetail);
trendsApi.createTrends(inspectRequestDetail.getId(), "inspectRequestDetail", "增加了到货检验子表", TrendsTypeEnum.CREATE);
// 返回 // 返回
return inspectRequestDetail.getId(); return inspectRequestDetail.getId();
} }
@Override @Override
public void updateInspectRequestDetail(InspectRequestDetailUpdateReqVO updateReqVO) { public int updateInspectRequestDetail(InspectRequestDetailUpdateReqVO updateReqVO) {
// 校验存在 // 校验存在
validateInspectRequestDetailExists(updateReqVO.getId()); validateInspectRequestDetailExists(updateReqVO.getId());
// 更新 // 更新
InspectRequestDetailDO updateObj = InspectRequestDetailConvert.INSTANCE.convert(updateReqVO); InspectRequestDetailDO updateObj = InspectRequestDetailConvert.INSTANCE.convert(updateReqVO);
inspectRequestDetailMapper.updateById(updateObj); trendsApi.createTrends(updateObj.getId(), "inspectRequestDetail", updateObj.toString(), TrendsTypeEnum.UPDATE);
return inspectRequestDetailMapper.updateById(updateObj);
} }
@Override @Override
public void deleteInspectRequestDetail(Long id) { public int deleteInspectRequestDetail(Long id) {
// 校验存在 // 校验存在
validateInspectRequestDetailExists(id); InspectRequestDetailDO inspectRequestDetailDO = validateInspectRequestDetailExists(id);
trendsApi.createTrends(id, "purchasereceiptRequestDetail", inspectRequestDetailDO.toString(), TrendsTypeEnum.DELETE);
// 删除 // 删除
inspectRequestDetailMapper.deleteById(id); return inspectRequestDetailMapper.deleteById(id);
} }
private void validateInspectRequestDetailExists(Long id) { private InspectRequestDetailDO validateInspectRequestDetailExists(Long id) {
if (inspectRequestDetailMapper.selectById(id) == null) { InspectRequestDetailDO inspectRequestDetailDO = inspectRequestDetailMapper.selectById(id);
if (inspectRequestDetailDO == null) {
throw exception(INSPECT_REQUEST_DETAIL_NOT_EXISTS); throw exception(INSPECT_REQUEST_DETAIL_NOT_EXISTS);
} }
return inspectRequestDetailDO;
} }
@Override @Override
@ -70,8 +100,8 @@ public class InspectRequestDetailServiceImpl implements InspectRequestDetailServ
} }
@Override @Override
public List<InspectRequestDetailDO> getInspectRequestDetailList(Collection<Long> ids) { public List<InspectRequestDetailDO> selectList(Long masterId) {
return inspectRequestDetailMapper.selectBatchIds(ids); return inspectRequestDetailMapper.selectList(masterId);
} }
@Override @Override
@ -83,10 +113,56 @@ public class InspectRequestDetailServiceImpl implements InspectRequestDetailServ
public PageResult<InspectRequestDetailDO> getInspectRequestDetailSenior(CustomConditions conditions) { public PageResult<InspectRequestDetailDO> getInspectRequestDetailSenior(CustomConditions conditions) {
return inspectRequestDetailMapper.selectSenior(conditions); return inspectRequestDetailMapper.selectSenior(conditions);
} }
@Override //校验子表公共方法(适用于新增/修改)
public List<InspectRequestDetailDO> getInspectRequestDetailList(InspectRequestDetailExportReqVO exportReqVO) { private void validatorDetail(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
return inspectRequestDetailMapper.selectList(exportReqVO); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2());
detailDo.setItemName(itembasicDO.getName());
detailDo.setProjectCode(itembasicDO.getProject());
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
validatorIfInType(itembasicDO.getType(), businesstypeDO);
validatorLocation(detailDo.getFromLocationCode());
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO);
validatorIfInFromLocationType(detailDo.getFromLocationCode(), businesstypeDO);
validatorLocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), mainDo.getBatch(), detailDo.getFromLocationCode(), detailDo.getInventoryStatus());
}
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode);
}
//判断导入单位是否正确
private void ifUomSuccess(String itemUom, String uom) {
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictLabel(uom);
if (dictDataRespDTO != null) {
if (!itemUom.equals(dictDataRespDTO.getLabel())) {
throw new UtilException("提示单位" + uom + "错误,应该是" + itemUom);
}
}
}
private void validatorIfInType(String itemType, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(itemType, businesstypeDO);
}
private void validatorLocation(String fromLocationCode) {
locationService.selectLocation(fromLocationCode);
}
private void validatorIfOutInventoryStatuses(String inventoryStatus, BusinesstypeDO businesstypeDO) {
jobUtils.ifOutInventoryStatuses(inventoryStatus, businesstypeDO);
}
private void validatorIfInFromLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) {
jobUtils.ifInFromLocationType(fromLocationCode, businesstypeDO);
}
private void validatorLocationReturnManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, String inventoryStatu) {
ArrayList<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add(inventoryStatu);
jobUtils.selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, fromLocationCode, inventoryStatus);
} }
} }

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

@ -80,6 +80,14 @@ public interface InspectRequestMainService {
*/ */
List<InspectRequestMainDO> getInspectRequestMainList(InspectRequestMainExportReqVO exportReqVO); List<InspectRequestMainDO> getInspectRequestMainList(InspectRequestMainExportReqVO exportReqVO);
/**
* 获得采购收货申请主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 采购收货申请主列表
*/
List<InspectRequestMainDO> getInspectRequestMainList(CustomConditions conditions);
/** /**
* @author chenfang * @author chenfang
* @param datas 主子表数据 * @param datas 主子表数据
@ -104,4 +112,43 @@ public interface InspectRequestMainService {
* @return * @return
*/ */
BigDecimal selectInspectType(BigDecimal sampleQty, HashMap<String, String> ruleAll); BigDecimal selectInspectType(BigDecimal sampleQty, HashMap<String, String> ruleAll);
/**
* 关闭到货检验申请主
*
* @param id 到货检验申请主ID
* @return 更新数量
*/
Integer closeInspectRequestMain(Long id);
/**
* 提交到货检验申请主
*
* @param id 到货检验申请主ID
* @return 更新数量
*/
Integer submitInspectRequestMain(Long id);
/**
* 审批通过到货检验申请主
*
* @param id 到货检验申请主ID
* @return 更新数量
*/
Integer agreeInspectRequestMain(Long id);
/**
* 处理到货检验申请主
* @param id
* @return
*/
Integer handleInspectRequestMain(Long id);
/**
* 审批拒绝到货检验申请主
*
* @param id 到货检验申请主ID
* @return 更新数量
*/
Integer abortInspectRequestMain(Long id);
} }

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

@ -6,6 +6,7 @@ import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.win.framework.common.exception.ServiceException;
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.common.util.validation.ValidationUtils; import com.win.framework.common.util.validation.ValidationUtils;
@ -25,6 +26,7 @@ import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
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.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
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.inspectJob.InspectJobMainMapper;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestDetailMapper; import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestDetailMapper;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestMainMapper; import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestMainMapper;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
@ -49,8 +51,7 @@ import java.util.HashMap;
import java.util.List; 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.INSPECT_REQUEST_IMPORT_LIST_IS_EMPTY; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.INSPECT_REQUEST_MAIN_NOT_EXISTS;
/** /**
* 检验申请主 Service 实现类 * 检验申请主 Service 实现类
@ -66,6 +67,8 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
@Resource @Resource
private InspectRequestDetailMapper inspectRequestDetailMapper; private InspectRequestDetailMapper inspectRequestDetailMapper;
@Resource @Resource
private InspectJobMainMapper inspectJobMainMapper;
@Resource
private PurchasereceiptRecordMainService purchasereceiptRecordMainService; private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
@Resource @Resource
private SerialNumberApi serialNumberApi; private SerialNumberApi serialNumberApi;
@ -104,6 +107,10 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute()); requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode()); mainDO.setStatus(requestStatusState.getState().getCode());
inspectRequestMainMapper.insert(mainDO); inspectRequestMainMapper.insert(mainDO);
for (InspectRequestDetailDO detailDO : subDOList) {
detailDO.setNumber(number);
detailDO.setMasterId(mainDO.getId());
}
inspectRequestDetailMapper.insertBatch(subDOList); inspectRequestDetailMapper.insertBatch(subDOList);
//调用自动执行方法 //调用自动执行方法
if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
@ -159,6 +166,11 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
return inspectRequestMainMapper.selectList(exportReqVO); return inspectRequestMainMapper.selectList(exportReqVO);
} }
@Override
public List<InspectRequestMainDO> getInspectRequestMainList(CustomConditions conditions) {
return inspectRequestMainMapper.selectSeniorList(conditions);
}
@Override @Override
@Transactional @Transactional
public List<InspectRequestImportErrorVO> importInspectRequestList(List<InspectRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<InspectRequestImportErrorVO> importInspectRequestList(List<InspectRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
@ -207,6 +219,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
inspectRequestMainMapper.insert(mainDO); inspectRequestMainMapper.insert(mainDO);
for(InspectRequestDetailDO inspectRequestDetailDO : subDOList) { for(InspectRequestDetailDO inspectRequestDetailDO : subDOList) {
inspectRequestDetailDO.setMasterId(mainDO.getId()); inspectRequestDetailDO.setMasterId(mainDO.getId());
inspectRequestDetailDO.setNumber(number);
} }
inspectRequestDetailMapper.insertBatch(subDOList); inspectRequestDetailMapper.insertBatch(subDOList);
} else if (existInspectRequestMainDO != null && mode != 2) { } else if (existInspectRequestMainDO != null && mode != 2) {
@ -222,6 +235,94 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
return errorList; return errorList;
} }
@Override
@Transactional
public Integer closeInspectRequestMain(Long id) {
// 校验存在存在下级单据
InspectRequestMainDO mainDO = validateInspectRequestMainExists(id);
Long count = inspectJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(INSPECT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(INSPECT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "inspectRequest", "关闭了到货校验申请", TrendsTypeEnum.UPDATE);
return inspectRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer submitInspectRequestMain(Long id) {
InspectRequestMainDO mainDO = validateInspectRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(INSPECT_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, inspectRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "inspectRequest", "提交了到货校验申请", TrendsTypeEnum.UPDATE);
return inspectRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer agreeInspectRequestMain(Long id) {
// 校验存在
InspectRequestMainDO mainDO = validateInspectRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(INSPECT_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, inspectRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "inspectRequest", "审批同意了到货校验申请", TrendsTypeEnum.UPDATE);
return inspectRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer handleInspectRequestMain(Long id) {
// 校验存在
InspectRequestMainDO mainDO = validateInspectRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(INSPECT_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateJob(mainDO, inspectRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "inspectRequest", "执行了到货校验申请", TrendsTypeEnum.UPDATE);
return inspectRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer abortInspectRequestMain(Long id) {
// 校验存在
InspectRequestMainDO mainDO = validateInspectRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reject();
if(!flag) {
throw new ServiceException(INSPECT_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "inspectRequest", "审批拒绝了到货校验申请", TrendsTypeEnum.UPDATE);
return inspectRequestMainMapper.updateById(mainDO);
}
/** /**
* 生成收货检验任务不要改动事务传播方式否则会有事务问题 * 生成收货检验任务不要改动事务传播方式否则会有事务问题
* @param mainDO 收货检验主 * @param mainDO 收货检验主
@ -331,10 +432,12 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
mainDO.setSampleQty(selectInspectType(mainDO.getReceiveQty(), rule)); mainDO.setSampleQty(selectInspectType(mainDO.getReceiveQty(), rule));
} }
private void validateInspectRequestMainExists(Long id) { private InspectRequestMainDO validateInspectRequestMainExists(Long id) {
if (inspectRequestMainMapper.selectById(id) == null) { InspectRequestMainDO mainDO = inspectRequestMainMapper.selectById(id);
if (mainDO == null) {
throw exception(INSPECT_REQUEST_MAIN_NOT_EXISTS); throw exception(INSPECT_REQUEST_MAIN_NOT_EXISTS);
} }
return mainDO;
} }
//校验主表公共方法(适用于新增/修改) //校验主表公共方法(适用于新增/修改)
@ -356,6 +459,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
//校验子表公共方法(适用于新增/修改) //校验子表公共方法(适用于新增/修改)
private void validatorDetail(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { private void validatorDetail(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setNumber(mainDo.getNumber());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2()); detailDo.setItemDesc2(itembasicDO.getDesc2());
detailDo.setItemName(itembasicDO.getName()); detailDo.setItemName(itembasicDO.getName());

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

@ -323,7 +323,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute()); boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_SUBMIT);
} }
mainDO.setStatus(requestStatusState.getState().getCode()); mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法 //调用自动执行方法
@ -342,7 +342,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute()); boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_AGREE);
} }
mainDO.setStatus(requestStatusState.getState().getCode()); mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法 //调用自动执行方法
@ -361,7 +361,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle(); boolean flag = requestStatusState.handle();
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_HANDLE);
} }
mainDO.setStatus(requestStatusState.getState().getCode()); mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法 //调用执行方法
@ -378,7 +378,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reject(); boolean flag = requestStatusState.reject();
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_ABORT);
} }
mainDO.setStatus(requestStatusState.getState().getCode()); mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "purchasereceiptRequest", "审批拒绝了采购收货申请", TrendsTypeEnum.UPDATE); trendsApi.createTrends(id, "purchasereceiptRequest", "审批拒绝了采购收货申请", TrendsTypeEnum.UPDATE);

Loading…
Cancel
Save