Browse Source

盘点接口。

master
刘忱 2 years ago
parent
commit
7b8df8a398
  1. 1
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java
  2. 8
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  3. 95
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java
  4. 146
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java
  5. 96
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainExcelVO.java
  6. 94
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java
  7. 143
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java
  8. 94
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java
  9. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java
  10. 141
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java
  11. 88
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainExcelVO.java
  12. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainImportVO.java
  13. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countJob/CountJobMainConvert.java
  14. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordMainConvert.java
  15. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestMainConvert.java
  16. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobDetailMapper.java
  17. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java
  18. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordMainMapper.java
  19. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java
  20. 54
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java
  21. 67
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java
  22. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainService.java
  23. 131
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java
  24. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailService.java
  25. 66
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailServiceImpl.java
  26. 55
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java
  27. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java
  28. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailService.java
  29. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailServiceImpl.java
  30. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java
  31. 210
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java
  32. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainService.java

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

@ -81,4 +81,5 @@ public interface DictTypeConstants {
String COUNT_TYPE = "count_type"; String COUNT_TYPE = "count_type";
String JOB_STATUS = "job_status";//任务状态 String JOB_STATUS = "job_status";//任务状态
String JOB_STAGE_STATUS = "job_stage_status";//任务阶段状态 String JOB_STAGE_STATUS = "job_stage_status";//任务阶段状态
String COUNT_STAGE = "count_stage"; //阶段
} }

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

@ -902,6 +902,14 @@ public interface ErrorCodeConstants {
//盘点申请ErrorCode //盘点申请ErrorCode
ErrorCode COUNT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_153_000, "盘点申请主不存在"); ErrorCode COUNT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_153_000, "盘点申请主不存在");
ErrorCode COUNT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_153_001, "盘点申请子不存在"); ErrorCode COUNT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_153_001, "盘点申请子不存在");
ErrorCode COUNT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "盘点不是新增状态");
ErrorCode COUNT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "盘点存在采购收货任务单");
ErrorCode COUNT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_073_005, "盘点状态不支持关闭");
ErrorCode COUNT_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_073_006, "盘点状态不支持提交");
ErrorCode COUNT_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_073_007, "盘点状态不支持审批同意");
ErrorCode COUNT_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_073_008, "盘点状态不支持处理");
ErrorCode COUNT_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_073_009, "盘点状态不支持审批拒绝");
ErrorCode COUNT_REQUEST_CANNOT_RE_ADD = new ErrorCode(1_000_073_010, "盘点状态不支持重新添加");
//盘点任务ErrorCode //盘点任务ErrorCode
ErrorCode COUNT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_154_000, "盘点任务主不存在"); ErrorCode COUNT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_154_000, "盘点任务主不存在");
ErrorCode COUNT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_154_001, "盘点任务子不存在"); ErrorCode COUNT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_154_001, "盘点任务子不存在");

95
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java

@ -1,36 +1,26 @@
package com.win.module.wms.controller.countJob; package com.win.module.wms.controller.countJob;
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 com.win.module.wms.controller.countJob.vo.*; import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.countJob.vo.CountJobDetailRespVO;
import javax.annotation.Resource; import com.win.module.wms.convert.countJob.CountJobDetailConvert;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.service.countJob.CountJobDetailService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
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.countJob.vo.*;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.module.wms.convert.countJob.CountJobDetailConvert;
import com.win.module.wms.service.countJob.CountJobDetailService;
@Tag(name = "管理后台 - 盘点任务子") @Tag(name = "管理后台 - 盘点任务子")
@RestController @RestController
@RequestMapping("/wms/count-job-detail") @RequestMapping("/wms/count-job-detail")
@ -43,48 +33,6 @@ public class CountJobDetailController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建盘点任务子")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:create')")
public CommonResult<Long> createCountJobDetail(@Valid @RequestBody CountJobDetailCreateReqVO createReqVO) {
return success(countJobDetailService.createCountJobDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新盘点任务子")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:update')")
public CommonResult<Boolean> updateCountJobDetail(@Valid @RequestBody CountJobDetailUpdateReqVO updateReqVO) {
countJobDetailService.updateCountJobDetail(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除盘点任务子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:delete')")
public CommonResult<Boolean> deleteCountJobDetail(@RequestParam("id") Long id) {
countJobDetailService.deleteCountJobDetail(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得盘点任务子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')")
public CommonResult<CountJobDetailRespVO> getCountJobDetail(@RequestParam("id") Long id) {
CountJobDetailDO countJobDetail = countJobDetailService.getCountJobDetail(id);
return success(CountJobDetailConvert.INSTANCE.convert(countJobDetail));
}
@GetMapping("/list")
@Operation(summary = "获得盘点任务子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')")
public CommonResult<List<CountJobDetailRespVO>> getCountJobDetailList(@RequestParam("ids") Collection<Long> ids) {
List<CountJobDetailDO> list = countJobDetailService.getCountJobDetailList(ids);
return success(CountJobDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得盘点任务子分页") @Operation(summary = "获得盘点任务子分页")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") @PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')")
@ -92,6 +40,7 @@ public class CountJobDetailController {
PageResult<CountJobDetailDO> pageResult = countJobDetailService.getCountJobDetailPage(pageVO); PageResult<CountJobDetailDO> pageResult = countJobDetailService.getCountJobDetailPage(pageVO);
return success(CountJobDetailConvert.INSTANCE.convertPage(pageResult)); return success(CountJobDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点任务子分页") @Operation(summary = "高级搜索获得盘点任务子分页")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") @PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')")
@ -105,21 +54,5 @@ public class CountJobDetailController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel")
@Operation(summary = "导出盘点任务子 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:export')")
@OperateLog(type = EXPORT)
public void exportCountJobDetailExcel(@Valid CountJobDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<CountJobDetailDO> list = countJobDetailService.getCountJobDetailList(exportReqVO);
// 导出 Excel
List<CountJobDetailExcelVO> datas = CountJobDetailConvert.INSTANCE.convertList02(list);
for(CountJobDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点任务子.xls", "数据", CountJobDetailExcelVO.class, datas);
}
} }

146
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java

@ -1,43 +1,42 @@
package com.win.module.wms.controller.countJob; package com.win.module.wms.controller.countJob;
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.security.core.util.SecurityFrameworkUtils; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
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.countJob.vo.*; import com.win.module.wms.controller.countJob.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.countJob.CountJobDetailConvert; import com.win.module.wms.convert.countJob.CountJobDetailConvert;
import com.win.module.wms.convert.countJob.CountJobMainConvert;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.countJob.CountJobDetailService; import com.win.module.wms.service.countJob.CountJobDetailService;
import com.win.module.wms.service.countJob.CountJobMainService;
import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.rule.RuleService;
import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jodd.util.StringUtil; import jodd.util.StringUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated;
import io.swagger.v3.oas.annotations.Parameter; import org.springframework.web.bind.annotation.*;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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 static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
import com.win.module.wms.convert.countJob.CountJobMainConvert;
import com.win.module.wms.service.countJob.CountJobMainService;
@Tag(name = "管理后台 - 盘点任务主") @Tag(name = "管理后台 - 盘点任务主")
@RestController @RestController
@ -57,48 +56,6 @@ public class CountJobMainController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建盘点任务主")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:create')")
public CommonResult<Long> createCountJobMain(@Valid @RequestBody CountJobMainCreateReqVO createReqVO) {
return success(countJobMainService.createCountJobMain(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新盘点任务主")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:update')")
public CommonResult<Boolean> updateCountJobMain(@Valid @RequestBody CountJobMainUpdateReqVO updateReqVO) {
countJobMainService.updateCountJobMain(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除盘点任务主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-job-main:delete')")
public CommonResult<Boolean> deleteCountJobMain(@RequestParam("id") Long id) {
countJobMainService.deleteCountJobMain(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得盘点任务主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')")
public CommonResult<CountJobMainRespVO> getCountJobMain(@RequestParam("id") Long id) {
CountJobMainDO countJobMain = countJobMainService.getCountJobMain(id);
return success(CountJobMainConvert.INSTANCE.convert(countJobMain));
}
@GetMapping("/list")
@Operation(summary = "获得盘点任务主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')")
public CommonResult<List<CountJobMainRespVO>> getCountJobMainList(@RequestParam("ids") Collection<Long> ids) {
List<CountJobMainDO> list = countJobMainService.getCountJobMainList(ids);
return success(CountJobMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得盘点任务主分页") @Operation(summary = "获得盘点任务主分页")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-job-main:query')")
@ -106,6 +63,7 @@ public class CountJobMainController {
PageResult<CountJobMainDO> pageResult = countJobMainService.getCountJobMainPage(pageVO); PageResult<CountJobMainDO> pageResult = countJobMainService.getCountJobMainPage(pageVO);
return success(CountJobMainConvert.INSTANCE.convertPage(pageResult)); return success(CountJobMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点任务主分页") @Operation(summary = "高级搜索获得盘点任务主分页")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-job-main:query')")
@ -119,21 +77,27 @@ public class CountJobMainController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出盘点任务主 Excel") @Operation(summary = "导出盘点任务主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:export')") @PreAuthorize("@ss.hasPermission('wms:count-job-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportCountJobMainExcel(@Valid CountJobMainExportReqVO exportReqVO, public void exportCountJobMainExcel(@Valid CountJobMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<CountJobMainDO> list = countJobMainService.getCountJobMainList(exportReqVO); List<CountJobMainDO> list = countJobMainService.getCountJobMainList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountJobMainExcelVO> datas = CountJobMainConvert.INSTANCE.convertList02(list); List<CountJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(CountJobMainExcelVO vo : datas) { ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); @PostMapping("/export-excel-senior")
} @Operation(summary = "导出检验任务主 Excel")
ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, datas); @PreAuthorize("@ss.hasPermission('wms:count-job-main:export')")
@OperateLog(type = EXPORT)
public void exportCountJobMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CountJobMainDO> list = countJobMainService.getCountJobMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "盘点任务主.xls", "盘点任务数据", CountJobMainExcelVO.class, resultList, mapDropDown);
} }
@GetMapping("/getCountJobById") @GetMapping("/getCountJobById")
@ -169,4 +133,34 @@ public class CountJobMainController {
return success(countByStatus); return success(countByStatus);
} }
private List<CountJobMainExcelVO> getExcelVo(List<CountJobMainDO> list, Map<Integer, String[]> mapDropDown) {
//组装vo
String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE);
mapDropDown.put(2, countStage);
String[] requestStatus = RequestStatusEnum.getStatusNameArray();
mapDropDown.put(7, requestStatus);
String[] jobStageStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.JOB_STAGE_STATUS);
mapDropDown.put(9, jobStageStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(17, locationType);
mapDropDown.put(18, locationType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(38, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(45, uom);
List<CountJobMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CountJobMainDO mainDO : list) {
List<CountJobDetailDO> subList = countJobDetailService.selectList(mainDO.getId());
for(CountJobDetailDO detailDO : subList) {
CountJobMainExcelVO vo = CountJobMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
resultList.add(vo);
}
}
return resultList;
}
} }

96
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainExcelVO.java

@ -1,19 +1,14 @@
package com.win.module.wms.controller.countJob.vo; package com.win.module.wms.controller.countJob.vo;
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 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 com.win.module.wms.enums.request.RequestStatusConverter;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -31,7 +26,7 @@ public class CountJobMainExcelVO {
private String planNumber; private String planNumber;
@ExcelProperty(value = "阶段", converter = DictConvert.class) @ExcelProperty(value = "阶段", converter = DictConvert.class)
@DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.COUNT_STAGE)
private String stage; private String stage;
@ExcelProperty("仓库代码") @ExcelProperty("仓库代码")
@ -46,21 +41,14 @@ public class CountJobMainExcelVO {
@ExcelProperty("要求截止时间") @ExcelProperty("要求截止时间")
private LocalDateTime requestDueTime; private LocalDateTime requestDueTime;
@ExcelProperty(value = "状态", converter = DictConvert.class) @ExcelProperty(value = "状态", converter = RequestStatusConverter.class)
@DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status; private String status;
@ExcelProperty("过期时间") @ExcelProperty("过期时间")
private LocalDateTime expiredTime; private LocalDateTime expiredTime;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
private String updater;
@ExcelProperty(value = "状态", converter = DictConvert.class) @ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("job_stage_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.JOB_STAGE_STATUS)
private String jobStageStatus; private String jobStageStatus;
@ExcelProperty("优先级") @ExcelProperty("优先级")
@ -85,11 +73,11 @@ public class CountJobMainExcelVO {
private LocalDateTime completeTime; private LocalDateTime completeTime;
@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(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("单据号")
@ -101,12 +89,6 @@ public class CountJobMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者id")
private String creator;
@ExcelProperty("地点ID") @ExcelProperty("地点ID")
private String siteId; private String siteId;
@ -140,4 +122,60 @@ public class CountJobMainExcelVO {
@ExcelProperty("允许修改箱码") @ExcelProperty("允许修改箱码")
private String allowModifyPackingNumber; private String allowModifyPackingNumber;
@ExcelProperty("盘点明细号")
private String countDetailNumber;
@ExcelProperty("货主代码")
private String ownerCode;
@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 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 detailRemark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
private String updater;
} }

94
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java

@ -1,35 +1,26 @@
package com.win.module.wms.controller.countRecord; package com.win.module.wms.controller.countRecord;
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 com.win.module.wms.controller.countRecord.vo.*; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailRespVO;
import javax.annotation.Resource; import com.win.module.wms.convert.countRecord.CountRecordDetailConvert;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.service.countRecord.CountRecordDetailService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
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.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.convert.countRecord.CountRecordDetailConvert;
import com.win.module.wms.service.countRecord.CountRecordDetailService;
@Tag(name = "管理后台 - 盘点记录子") @Tag(name = "管理后台 - 盘点记录子")
@RestController @RestController
@RequestMapping("/wms/count-record-detail") @RequestMapping("/wms/count-record-detail")
@ -42,48 +33,6 @@ public class CountRecordDetailController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建盘点记录子")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:create')")
public CommonResult<Long> createCountRecordDetail(@Valid @RequestBody CountRecordDetailCreateReqVO createReqVO) {
return success(countRecordDetailService.createCountRecordDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新盘点记录子")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:update')")
public CommonResult<Boolean> updateCountRecordDetail(@Valid @RequestBody CountRecordDetailUpdateReqVO updateReqVO) {
countRecordDetailService.updateCountRecordDetail(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除盘点记录子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:delete')")
public CommonResult<Boolean> deleteCountRecordDetail(@RequestParam("id") Long id) {
countRecordDetailService.deleteCountRecordDetail(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得盘点记录子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')")
public CommonResult<CountRecordDetailRespVO> getCountRecordDetail(@RequestParam("id") Long id) {
CountRecordDetailDO countRecordDetail = countRecordDetailService.getCountRecordDetail(id);
return success(CountRecordDetailConvert.INSTANCE.convert(countRecordDetail));
}
@GetMapping("/list")
@Operation(summary = "获得盘点记录子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')")
public CommonResult<List<CountRecordDetailRespVO>> getCountRecordDetailList(@RequestParam("ids") Collection<Long> ids) {
List<CountRecordDetailDO> list = countRecordDetailService.getCountRecordDetailList(ids);
return success(CountRecordDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得盘点记录子分页") @Operation(summary = "获得盘点记录子分页")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") @PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')")
@ -91,6 +40,7 @@ public class CountRecordDetailController {
PageResult<CountRecordDetailDO> pageResult = countRecordDetailService.getCountRecordDetailPage(pageVO); PageResult<CountRecordDetailDO> pageResult = countRecordDetailService.getCountRecordDetailPage(pageVO);
return success(CountRecordDetailConvert.INSTANCE.convertPage(pageResult)); return success(CountRecordDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点记录子分页") @Operation(summary = "高级搜索获得盘点记录子分页")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") @PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')")
@ -104,21 +54,5 @@ public class CountRecordDetailController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel")
@Operation(summary = "导出盘点记录子 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:export')")
@OperateLog(type = EXPORT)
public void exportCountRecordDetailExcel(@Valid CountRecordDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<CountRecordDetailDO> list = countRecordDetailService.getCountRecordDetailList(exportReqVO);
// 导出 Excel
List<CountRecordDetailExcelVO> datas = CountRecordDetailConvert.INSTANCE.convertList02(list);
for(CountRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点记录子.xls", "数据", CountRecordDetailExcelVO.class, datas);
}
} }

143
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java

@ -1,35 +1,40 @@
package com.win.module.wms.controller.countRecord; package com.win.module.wms.controller.countRecord;
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.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.countRecord.vo.*; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO;
import javax.annotation.Resource; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.convert.countRecord.CountRecordMainConvert;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import io.swagger.v3.oas.annotations.Parameter; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.countRecord.CountRecordDetailService;
import com.win.module.wms.service.countRecord.CountRecordMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
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.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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 static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
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.countRecord.vo.*;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.module.wms.convert.countRecord.CountRecordMainConvert;
import com.win.module.wms.service.countRecord.CountRecordMainService;
@Tag(name = "管理后台 - 盘点记录主") @Tag(name = "管理后台 - 盘点记录主")
@RestController @RestController
@ -39,52 +44,12 @@ public class CountRecordMainController {
@Resource @Resource
private CountRecordMainService countRecordMainService; private CountRecordMainService countRecordMainService;
@Resource
private CountRecordDetailService countRecordDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建盘点记录主")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:create')")
public CommonResult<Long> createCountRecordMain(@Valid @RequestBody CountRecordMainCreateReqVO createReqVO) {
return success(countRecordMainService.createCountRecordMain(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新盘点记录主")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:update')")
public CommonResult<Boolean> updateCountRecordMain(@Valid @RequestBody CountRecordMainUpdateReqVO updateReqVO) {
countRecordMainService.updateCountRecordMain(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除盘点记录主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-record-main:delete')")
public CommonResult<Boolean> deleteCountRecordMain(@RequestParam("id") Long id) {
countRecordMainService.deleteCountRecordMain(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得盘点记录主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')")
public CommonResult<CountRecordMainRespVO> getCountRecordMain(@RequestParam("id") Long id) {
CountRecordMainDO countRecordMain = countRecordMainService.getCountRecordMain(id);
return success(CountRecordMainConvert.INSTANCE.convert(countRecordMain));
}
@GetMapping("/list")
@Operation(summary = "获得盘点记录主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')")
public CommonResult<List<CountRecordMainRespVO>> getCountRecordMainList(@RequestParam("ids") Collection<Long> ids) {
List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(ids);
return success(CountRecordMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得盘点记录主分页") @Operation(summary = "获得盘点记录主分页")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')")
@ -92,6 +57,7 @@ public class CountRecordMainController {
PageResult<CountRecordMainDO> pageResult = countRecordMainService.getCountRecordMainPage(pageVO); PageResult<CountRecordMainDO> pageResult = countRecordMainService.getCountRecordMainPage(pageVO);
return success(CountRecordMainConvert.INSTANCE.convertPage(pageResult)); return success(CountRecordMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点记录主分页") @Operation(summary = "高级搜索获得盘点记录主分页")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')")
@ -105,21 +71,52 @@ public class CountRecordMainController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出盘点记录主 Excel") @Operation(summary = "导出盘点记录主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:export')") @PreAuthorize("@ss.hasPermission('wms:count-record-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportCountRecordMainExcel(@Valid CountRecordMainExportReqVO exportReqVO, public void exportCountRecordMainExcel(@Valid CountRecordMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(exportReqVO); List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountRecordMainExcelVO> datas = CountRecordMainConvert.INSTANCE.convertList02(list); List<CountRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(CountRecordMainExcelVO vo : datas) { ExcelUtils.write(response, "盘点记录主.xls", "数据", CountRecordMainExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); @PostMapping("/export-excel-senior")
@Operation(summary = "导出盘点记录主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:export')")
@OperateLog(type = EXPORT)
public void exportCountRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "检验记录主.xls", "检验记录数据", CountRecordMainExcelVO.class, resultList, mapDropDown);
}
private List<CountRecordMainExcelVO> getExcelVo(List<CountRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
//组装vo
String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE);
mapDropDown.put(3, countStage);
String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE);
mapDropDown.put(12, interfaceType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(26, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(36, uom);
List<CountRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CountRecordMainDO mainDO : list) {
List<CountRecordDetailDO> subList = countRecordDetailService.selectList(mainDO.getId());
for(CountRecordDetailDO detailDO : subList) {
CountRecordMainExcelVO vo = CountRecordMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
resultList.add(vo);
}
} }
ExcelUtils.write(response, "盘点记录主.xls", "数据", CountRecordMainExcelVO.class, datas); return resultList;
} }
} }

94
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java

@ -1,18 +1,14 @@
package com.win.module.wms.controller.countRecord.vo; package com.win.module.wms.controller.countRecord.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 java.time.LocalDateTime;
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 java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -33,7 +29,7 @@ public class CountRecordMainExcelVO {
private String planNumber; private String planNumber;
@ExcelProperty(value = "阶段", converter = DictConvert.class) @ExcelProperty(value = "阶段", converter = DictConvert.class)
@DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.COUNT_STAGE)
private String stage; private String stage;
@ExcelProperty("仓库代码") @ExcelProperty("仓库代码")
@ -61,7 +57,7 @@ public class CountRecordMainExcelVO {
private String departmentCode; private String departmentCode;
@ExcelProperty(value = "接口类型", converter = DictConvert.class) @ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.INTERFACE_TYPE)
private String interfaceType; private String interfaceType;
@ExcelProperty("代码") @ExcelProperty("代码")
@ -76,6 +72,77 @@ public class CountRecordMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("是否可用")
private String available;
@ExcelProperty("盘点明细号")
private String countDetailNumber;
@ExcelProperty("货主代码")
private String ownerCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("库位代码")
private String locationCode;
@ExcelProperty("库位组代码")
private String locationGroupCode;
@ExcelProperty("库区代码")
private String areaCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("盘点数量")
private BigDecimal countQty;
@ExcelProperty("盘点时间")
private LocalDateTime countTime;
@ExcelProperty("盘点人")
private String countUser;
@ExcelProperty("盘点描述")
private String countDescription;
@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 itemCode;
@ExcelProperty("子备注")
private String detailRemark;
@ExcelProperty("任务明细ID")
private String jobDetailId;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
@ColumnWidth(value = 16) @ColumnWidth(value = 16)
private LocalDateTime createTime; private LocalDateTime createTime;
@ -83,7 +150,4 @@ public class CountRecordMainExcelVO {
@ExcelProperty("创建者Id") @ExcelProperty("创建者Id")
private String creator; private String creator;
@ExcelProperty("是否可用")
private String available;
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java

@ -36,7 +36,6 @@ public class CountRequestDetailController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点申请子") @Operation(summary = "创建盘点申请子")
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:count-request-detail:create')")
@ -77,6 +76,7 @@ public class CountRequestDetailController {
PageResult<CountRequestDetailDO> pageResult = countRequestDetailService.getCountRequestDetailPage(pageVO); PageResult<CountRequestDetailDO> pageResult = countRequestDetailService.getCountRequestDetailPage(pageVO);
return success(CountRequestDetailConvert.INSTANCE.convertPage(pageResult)); return success(CountRequestDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点申请子分页") @Operation(summary = "高级搜索获得盘点申请子分页")
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:query')") @PreAuthorize("@ss.hasPermission('wms:count-request-detail:query')")

141
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java

@ -3,6 +3,7 @@ package com.win.module.wms.controller.countRequest;
import com.win.framework.common.pojo.CommonResult; 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.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil; import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
@ -10,7 +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.countRequest.vo.*; import com.win.module.wms.controller.countRequest.vo.*;
import com.win.module.wms.convert.countRequest.CountRequestMainConvert; import com.win.module.wms.convert.countRequest.CountRequestMainConvert;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.countRequest.CountRequestDetailService;
import com.win.module.wms.service.countRequest.CountRequestMainService; import com.win.module.wms.service.countRequest.CountRequestMainService;
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;
@ -27,7 +31,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;
@ -40,6 +47,8 @@ public class CountRequestMainController {
@Resource @Resource
private CountRequestMainService countRequestMainService; private CountRequestMainService countRequestMainService;
@Resource
private CountRequestDetailService countRequestDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -56,17 +65,8 @@ public class CountRequestMainController {
@Operation(summary = "更新盘点申请主") @Operation(summary = "更新盘点申请主")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:update')") @PreAuthorize("@ss.hasPermission('wms:count-request-main:update')")
public CommonResult<Boolean> updateCountRequestMain(@Valid @RequestBody CountRequestMainUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateCountRequestMain(@Valid @RequestBody CountRequestMainUpdateReqVO updateReqVO) {
countRequestMainService.updateCountRequestMain(updateReqVO); int result = countRequestMainService.updateCountRequestMain(updateReqVO);
return success(true); return success(result > 0);
}
@DeleteMapping("/delete")
@Operation(summary = "删除盘点申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-request-main:delete')")
public CommonResult<Boolean> deleteCountRequestMain(@RequestParam("id") Long id) {
countRequestMainService.deleteCountRequestMain(id);
return success(true);
} }
@GetMapping("/get") @GetMapping("/get")
@ -78,15 +78,6 @@ public class CountRequestMainController {
return success(CountRequestMainConvert.INSTANCE.convert(countRequestMain)); return success(CountRequestMainConvert.INSTANCE.convert(countRequestMain));
} }
@GetMapping("/list")
@Operation(summary = "获得盘点申请主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:query')")
public CommonResult<List<CountRequestMainRespVO>> getCountRequestMainList(@RequestParam("ids") Collection<Long> ids) {
List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(ids);
return success(CountRequestMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得盘点申请主分页") @Operation(summary = "获得盘点申请主分页")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-request-main:query')")
@ -94,6 +85,7 @@ public class CountRequestMainController {
PageResult<CountRequestMainDO> pageResult = countRequestMainService.getCountRequestMainPage(pageVO); PageResult<CountRequestMainDO> pageResult = countRequestMainService.getCountRequestMainPage(pageVO);
return success(CountRequestMainConvert.INSTANCE.convertPage(pageResult)); return success(CountRequestMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点申请主分页") @Operation(summary = "高级搜索获得盘点申请主分页")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-request-main:query')")
@ -106,21 +98,51 @@ public class CountRequestMainController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出盘点申请主 Excel") @Operation(summary = "导出盘点申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:count-request-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportCountRequestMainExcel(@Valid CountRequestMainExportReqVO exportReqVO, public void exportCountRequestMainExcel(@Valid CountRequestMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(exportReqVO); List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(exportReqVO);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出盘点申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:export')")
@OperateLog(type = EXPORT)
public void exportCountRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "盘点申请主.xls", "盘点申请信息", CountRequestMainExcelVO.class, resultList, mapDropDown);
}
private List<CountRequestMainExcelVO> getExcelVo(List<CountRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE);
mapDropDown.put(2, countStage);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(10, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(19, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(25, uom);
// 导出 Excel // 导出 Excel
List<CountRequestMainExcelVO> datas = CountRequestMainConvert.INSTANCE.convertList02(list); List<CountRequestMainExcelVO> resultList = new ArrayList<>();
for(CountRequestMainExcelVO vo : datas) { for(CountRequestMainDO mainDO : list) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); List<CountRequestDetailDO> subList = countRequestDetailService.selectList(mainDO.getId());
//后端创建个字段作为前端展示的虚拟字段 for(CountRequestDetailDO detailDO : subList) {
vo.setCreator(user.getNickname()); CountRequestMainExcelVO vo = CountRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
resultList.add(vo);
}
} }
ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, datas); return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@ -129,12 +151,16 @@ public class CountRequestMainController {
// 手动创建导出 demo // 手动创建导出 demo
List<CountRequestMainImportVO> list = new ArrayList<>(); List<CountRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE);
// mapDropDown.put(16, purchaseReturnReason); mapDropDown.put(2, countStage);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
// mapDropDown.put(25, uom); mapDropDown.put(10, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(19, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(25, uom);
// 输出 // 输出
ExcelUtils.write(response, "要货计划信息导入模板.xlsx", "要货计划信息列表", CountRequestMainImportVO.class, list, mapDropDown); ExcelUtils.write(response, "盘点申请信息导入模板.xlsx", "盘点申请信息列表", CountRequestMainImportVO.class, list, mapDropDown);
} }
@PostMapping("/import") @PostMapping("/import")
@ -156,10 +182,55 @@ public class CountRequestMainController {
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:count-request-main:close')")
public CommonResult<Boolean> closeCountRequestMain(@RequestParam("id") Long id) {
Integer count = countRequestMainService.closeCountRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交盘点申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-request-main:submit')")
public CommonResult<Boolean> submitCountRequestMain(@RequestParam("id") Long id) {
Integer count = countRequestMainService.submitCountRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过盘点申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-request-main:agree')")
public CommonResult<Boolean> agreeCountRequestMain(@RequestParam("id") Long id) {
Integer count = countRequestMainService.agreeCountRequestMain(id);
return success(count > 0);
}
@PutMapping("/handle")
@Operation(summary = "执行盘点申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-request-main:handle')")
public CommonResult<Boolean> handleCountRequestMain(@RequestParam("id") Long id) {
Integer count = countRequestMainService.handleCountRequestMain(id);
return success(count > 0);
}
@PutMapping("/abort")
@Operation(summary = "审批拒绝盘点申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:count-request-main:abort')")
public CommonResult<Boolean> abortCountRequestMain(@RequestParam("id") Long id) {
Integer count = countRequestMainService.abortCountRequestMain(id);
return success(count > 0);
}
} }

88
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainExcelVO.java

@ -1,16 +1,13 @@
package com.win.module.wms.controller.countRequest.vo; package com.win.module.wms.controller.countRequest.vo;
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;
/** /**
@ -28,7 +25,7 @@ public class CountRequestMainExcelVO {
private String planNumber; private String planNumber;
@ExcelProperty(value = "阶段", converter = DictConvert.class) @ExcelProperty(value = "阶段", converter = DictConvert.class)
@DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.COUNT_STAGE)
private String stage; private String stage;
@ExcelProperty("仓库代码") @ExcelProperty("仓库代码")
@ -43,12 +40,6 @@ public class CountRequestMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间") @ExcelProperty("申请时间")
private LocalDateTime requestTime; private LocalDateTime requestTime;
@ -59,15 +50,9 @@ public class CountRequestMainExcelVO {
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 autoCommit; private String autoCommit;
@ -80,4 +65,63 @@ public class CountRequestMainExcelVO {
@ExcelProperty("直接生成记录") @ExcelProperty("直接生成记录")
private String directCreateRecord; private String directCreateRecord;
@ExcelProperty("盘点明细号")
private String countDetailNumber;
@ExcelProperty("货主代码")
private String ownerCode;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("库位代码")
private String locationCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@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 itemCode;
@ExcelProperty("从包装号")
private String packingNumber;
@ExcelProperty("从器具号")
private String containerNumber;
@ExcelProperty("子备注")
private String detailRemark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainImportVO.java

@ -31,21 +31,26 @@ public class CountRequestMainImportVO {
//子表数据 //子表数据
@ExcelProperty("物品代码") @ExcelProperty("物品代码")
private String itemCode; private String itemCode;
@ExcelProperty("包装号") @ExcelProperty("包装号")
private String fromPackingNumber; private String fromPackingNumber;
@ExcelProperty("批次") @ExcelProperty("批次")
private String batch; private String batch;
@ExcelProperty("器具号") @ExcelProperty("器具号")
private String fromContainerNumber; private String fromContainerNumber;
@ExcelProperty("库位代码") @ExcelProperty("库位代码")
private String locationCode; private String locationCode;
@ExcelProperty("库存状态") @ExcelProperty("库存状态")
private String inventoryStatus; private String inventoryStatus;
@ExcelProperty("数量") @ExcelProperty("数量")
private String qty; private String qty;
@ExcelProperty("计量单位") @ExcelProperty("计量单位")
private String uom; private String uom;
} }

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countJob/CountJobMainConvert.java

@ -1,16 +1,18 @@
package com.win.module.wms.convert.countJob; package com.win.module.wms.convert.countJob;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainExcelVO; import com.win.module.wms.controller.countJob.vo.CountJobMainExcelVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainRespVO; import com.win.module.wms.controller.countJob.vo.CountJobMainRespVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
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.countJob.CountJobMainDO;
import java.util.List;
/** /**
* 盘点任务主 Convert * 盘点任务主 Convert
@ -34,4 +36,16 @@ public interface CountJobMainConvert {
List<CountJobMainExcelVO> convertList02(List<CountJobMainDO> list); List<CountJobMainExcelVO> convertList02(List<CountJobMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.siteId", target = "siteId"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "detailDO.remark", target = "detailRemark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
CountJobMainExcelVO convert(CountJobMainDO mainDO, CountJobDetailDO detailDO);
} }

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordMainConvert.java

@ -1,16 +1,18 @@
package com.win.module.wms.convert.countRecord; package com.win.module.wms.convert.countRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
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.countRecord.CountRecordMainDO;
import java.util.List;
/** /**
* 盘点记录主 Convert * 盘点记录主 Convert
@ -34,4 +36,15 @@ public interface CountRecordMainConvert {
List<CountRecordMainExcelVO> convertList02(List<CountRecordMainDO> list); List<CountRecordMainExcelVO> convertList02(List<CountRecordMainDO> list);
@Mappings({
@Mapping(source = "mainDO.code", target = "code"),
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.interfaceType", target = "interfaceType"),
@Mapping(source = "detailDO.remark", target = "detailRemark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
})
CountRecordMainExcelVO convert(CountRecordMainDO mainDO, CountRecordDetailDO detailDO);
} }

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestMainConvert.java

@ -1,16 +1,18 @@
package com.win.module.wms.convert.countRequest; package com.win.module.wms.convert.countRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainCreateReqVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainCreateReqVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainExcelVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainExcelVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainRespVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainRespVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainUpdateReqVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
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.countRequest.CountRequestMainDO;
import java.util.List;
/** /**
* 盘点申请主 Convert * 盘点申请主 Convert
@ -34,4 +36,15 @@ public interface CountRequestMainConvert {
List<CountRequestMainExcelVO> convertList02(List<CountRequestMainDO> list); List<CountRequestMainExcelVO> convertList02(List<CountRequestMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "detailDO.remark", target = "detailRemark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
CountRequestMainExcelVO convert(CountRequestMainDO mainDO, CountRequestDetailDO detailDO);
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobDetailMapper.java

@ -71,4 +71,9 @@ public interface CountJobDetailMapper extends BaseMapperX<CountJobDetailDO> {
return selectList(QueryWrapperUtils.structure(conditions)); return selectList(QueryWrapperUtils.structure(conditions));
} }
default List<CountJobDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<CountJobDetailDO>()
.eq(CountJobDetailDO::getMasterId, masterId));
}
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java

@ -123,6 +123,10 @@ public interface CountJobMainMapper extends BaseMapperX<CountJobMainDO> {
.eq(CountJobMainDO::getMasterId, masterId)); .eq(CountJobMainDO::getMasterId, masterId));
} }
default List<CountJobMainDO> selectList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
/** /**
*根据类型数组查询任务数量 *根据类型数组查询任务数量
* @param types * @param types

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordMainMapper.java

@ -72,7 +72,7 @@ public interface CountRecordMainMapper extends BaseMapperX<CountRecordMainDO> {
.orderByDesc(CountRecordMainDO::getId)); .orderByDesc(CountRecordMainDO::getId));
} }
default List<CountRecordMainDO> selectSeniorList(CustomConditions conditions) { default List<CountRecordMainDO> selectList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions)); return selectList(QueryWrapperUtils.structure(conditions));
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java

@ -86,7 +86,7 @@ public interface CountRequestMainMapper extends BaseMapperX<CountRequestMainDO>
.orderByDesc(CountRequestMainDO::getId)); .orderByDesc(CountRequestMainDO::getId));
} }
default List<CountRequestMainDO> selectSeniorList(CustomConditions conditions) { default List<CountRequestMainDO> selectList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions)); return selectList(QueryWrapperUtils.structure(conditions));
} }

54
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java

@ -1,15 +1,12 @@
package com.win.module.wms.service.countJob; package com.win.module.wms.service.countJob;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countJob.vo.CountJobDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO; import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/** /**
* 盘点任务子 Service 接口 * 盘点任务子 Service 接口
@ -18,44 +15,6 @@ import com.win.framework.common.pojo.PageResult;
*/ */
public interface CountJobDetailService { public interface CountJobDetailService {
/**
* 创建盘点任务子
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createCountJobDetail(@Valid CountJobDetailCreateReqVO createReqVO);
/**
* 更新盘点任务子
*
* @param updateReqVO 更新信息
*/
void updateCountJobDetail(@Valid CountJobDetailUpdateReqVO updateReqVO);
/**
* 删除盘点任务子
*
* @param id 编号
*/
void deleteCountJobDetail(Long id);
/**
* 获得盘点任务子
*
* @param id 编号
* @return 盘点任务子
*/
CountJobDetailDO getCountJobDetail(Long id);
/**
* 获得盘点任务子列表
*
* @param ids 编号
* @return 盘点任务子列表
*/
List<CountJobDetailDO> getCountJobDetailList(Collection<Long> ids);
/** /**
* 获得盘点任务子分页 * 获得盘点任务子分页
* *
@ -71,6 +30,13 @@ public interface CountJobDetailService {
*/ */
PageResult<CountJobDetailDO> getCountJobDetailSenior(CustomConditions conditions); PageResult<CountJobDetailDO> getCountJobDetailSenior(CustomConditions conditions);
/**
* 根据主表id查询盘点任务
* @param masterId
* @return
*/
List<CountJobDetailDO> selectList(Long masterId);
/** /**
* 获得盘点任务子列表, 用于 Excel 导出 * 获得盘点任务子列表, 用于 Excel 导出
* *

67
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java

@ -1,24 +1,16 @@
package com.win.module.wms.service.countJob; package com.win.module.wms.service.countJob;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countJob.vo.CountJobDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO; import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobDetailUpdateReqVO;
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.countJob.CountJobDetailDO; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.countJob.CountJobDetailConvert;
import com.win.module.wms.dal.mysql.countJob.CountJobDetailMapper; import com.win.module.wms.dal.mysql.countJob.CountJobDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 盘点任务子 Service 实现类 * 盘点任务子 Service 实现类
@ -32,48 +24,6 @@ public class CountJobDetailServiceImpl implements CountJobDetailService {
@Resource @Resource
private CountJobDetailMapper countJobDetailMapper; private CountJobDetailMapper countJobDetailMapper;
@Override
public Long createCountJobDetail(CountJobDetailCreateReqVO createReqVO) {
// 插入
CountJobDetailDO countJobDetail = CountJobDetailConvert.INSTANCE.convert(createReqVO);
countJobDetailMapper.insert(countJobDetail);
// 返回
return countJobDetail.getId();
}
@Override
public void updateCountJobDetail(CountJobDetailUpdateReqVO updateReqVO) {
// 校验存在
validateCountJobDetailExists(updateReqVO.getId());
// 更新
CountJobDetailDO updateObj = CountJobDetailConvert.INSTANCE.convert(updateReqVO);
countJobDetailMapper.updateById(updateObj);
}
@Override
public void deleteCountJobDetail(Long id) {
// 校验存在
validateCountJobDetailExists(id);
// 删除
countJobDetailMapper.deleteById(id);
}
private void validateCountJobDetailExists(Long id) {
if (countJobDetailMapper.selectById(id) == null) {
throw exception(COUNT_JOB_DETAIL_NOT_EXISTS);
}
}
@Override
public CountJobDetailDO getCountJobDetail(Long id) {
return countJobDetailMapper.selectById(id);
}
@Override
public List<CountJobDetailDO> getCountJobDetailList(Collection<Long> ids) {
return countJobDetailMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<CountJobDetailDO> getCountJobDetailPage(CountJobDetailPageReqVO pageReqVO) { public PageResult<CountJobDetailDO> getCountJobDetailPage(CountJobDetailPageReqVO pageReqVO) {
return countJobDetailMapper.selectPage(pageReqVO); return countJobDetailMapper.selectPage(pageReqVO);
@ -82,9 +32,14 @@ public class CountJobDetailServiceImpl implements CountJobDetailService {
public PageResult<CountJobDetailDO> getCountJobDetailSenior(CustomConditions conditions) { public PageResult<CountJobDetailDO> getCountJobDetailSenior(CustomConditions conditions) {
return countJobDetailMapper.selectSenior(conditions); return countJobDetailMapper.selectSenior(conditions);
} }
@Override
public List<CountJobDetailDO> selectList(Long masterId) {
return countJobDetailMapper.selectList(masterId);
}
@Override @Override
public List<CountJobDetailDO> getCountJobDetailList(CountJobDetailExportReqVO exportReqVO) { public List<CountJobDetailDO> getCountJobDetailList(CountJobDetailExportReqVO exportReqVO) {
return countJobDetailMapper.selectList(exportReqVO); return countJobDetailMapper.selectList(exportReqVO);
} }
} }

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainService.java

@ -1,17 +1,17 @@
package com.win.module.wms.service.countJob; package com.win.module.wms.service.countJob;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
import com.win.framework.common.pojo.PageResult;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/** /**
* 盘点任务主 Service 接口 * 盘点任务主 Service 接口
* *
@ -19,28 +19,6 @@ import org.springframework.lang.Nullable;
*/ */
public interface CountJobMainService { public interface CountJobMainService {
/**
* 创建盘点任务主
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createCountJobMain(@Valid CountJobMainCreateReqVO createReqVO);
/**
* 更新盘点任务主
*
* @param updateReqVO 更新信息
*/
void updateCountJobMain(@Valid CountJobMainUpdateReqVO updateReqVO);
/**
* 删除盘点任务主
*
* @param id 编号
*/
void deleteCountJobMain(Long id);
/** /**
* 获得盘点任务主 * 获得盘点任务主
* *
@ -49,14 +27,6 @@ public interface CountJobMainService {
*/ */
CountJobMainDO getCountJobMain(Long id); CountJobMainDO getCountJobMain(Long id);
/**
* 获得盘点任务主列表
*
* @param ids 编号
* @return 盘点任务主列表
*/
List<CountJobMainDO> getCountJobMainList(Collection<Long> ids);
/** /**
* 获得盘点任务主分页 * 获得盘点任务主分页
* *
@ -73,6 +43,15 @@ public interface CountJobMainService {
*/ */
PageResult<CountJobMainDO> getCountJobMainSenior(CustomConditions conditions); PageResult<CountJobMainDO> getCountJobMainSenior(CustomConditions conditions);
/**
* 获得盘点任务主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 盘点任务主列表
*/
List<CountJobMainDO> getCountJobMainList(CustomConditions conditions);
/** /**
* 获得盘点任务主列表, 用于 Excel 导出 * 获得盘点任务主列表, 用于 Excel 导出
* *
@ -80,6 +59,7 @@ public interface CountJobMainService {
* @return 盘点任务主列表 * @return 盘点任务主列表
*/ */
List<CountJobMainDO> getCountJobMainList(CountJobMainExportReqVO exportReqVO); List<CountJobMainDO> getCountJobMainList(CountJobMainExportReqVO exportReqVO);
/** /**
* 校验任务状态正确 * 校验任务状态正确
*@author chenfang *@author chenfang
@ -95,4 +75,26 @@ public interface CountJobMainService {
* @return * @return
*/ */
Map<String,Integer> getCountByStatus(@Nullable Collection<String> types); Map<String,Integer> getCountByStatus(@Nullable Collection<String> types);
/**
* 承接任务
* @param id
* @return
*/
Integer acceptCountJobMain(Long id);
/**
* 放弃任务
* @param id
* @return
*/
Integer abandonCountJobMain(Long id);
/**
* 执行任务
* @param countJobMainUpdateReqVO
* @return
*/
String executeCountJobMain(CountJobMainUpdateReqVO countJobMainUpdateReqVO);
} }

131
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java

@ -2,23 +2,29 @@ package com.win.module.wms.service.countJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO; 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.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper;
import com.win.module.wms.enums.job.JobStatusState;
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.time.LocalDateTime;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; import java.util.Collection;
import com.win.framework.common.pojo.PageResult; import java.util.HashMap;
import java.util.List;
import com.win.module.wms.convert.countJob.CountJobMainConvert; import java.util.Map;
import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
@ -32,69 +38,44 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Resource @Resource
private CountJobMainMapper countJobMainMapper; private CountJobMainMapper countJobMainMapper;
@Resource
@Override private AdminUserApi userApi;
public Long createCountJobMain(CountJobMainCreateReqVO createReqVO) { @Resource
// 插入 private TrendsApi trendsApi;
CountJobMainDO countJobMain = CountJobMainConvert.INSTANCE.convert(createReqVO);
countJobMainMapper.insert(countJobMain);
// 返回
return countJobMain.getId();
}
@Override
public void updateCountJobMain(CountJobMainUpdateReqVO updateReqVO) {
// 校验存在
validateCountJobMainExists(updateReqVO.getId());
// 更新
CountJobMainDO updateObj = CountJobMainConvert.INSTANCE.convert(updateReqVO);
countJobMainMapper.updateById(updateObj);
}
@Override
public void deleteCountJobMain(Long id) {
// 校验存在
validateCountJobMainExists(id);
// 删除
countJobMainMapper.deleteById(id);
}
private void validateCountJobMainExists(Long id) {
if (countJobMainMapper.selectById(id) == null) {
throw exception(COUNT_JOB_MAIN_NOT_EXISTS);
}
}
@Override @Override
public CountJobMainDO getCountJobMain(Long id) { public CountJobMainDO getCountJobMain(Long id) {
return countJobMainMapper.selectById(id); return countJobMainMapper.selectById(id);
} }
@Override
public List<CountJobMainDO> getCountJobMainList(Collection<Long> ids) {
return countJobMainMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<CountJobMainDO> getCountJobMainPage(CountJobMainPageReqVO pageReqVO) { public PageResult<CountJobMainDO> getCountJobMainPage(CountJobMainPageReqVO pageReqVO) {
return countJobMainMapper.selectPage(pageReqVO); return countJobMainMapper.selectPage(pageReqVO);
} }
@Override @Override
public PageResult<CountJobMainDO> getCountJobMainSenior(CustomConditions conditions) { public PageResult<CountJobMainDO> getCountJobMainSenior(CustomConditions conditions) {
return countJobMainMapper.selectSenior(conditions); return countJobMainMapper.selectSenior(conditions);
} }
@Override
public List<CountJobMainDO> getCountJobMainList(CustomConditions conditions) {
return countJobMainMapper.selectList(conditions);
}
@Override @Override
public List<CountJobMainDO> getCountJobMainList(CountJobMainExportReqVO exportReqVO) { public List<CountJobMainDO> getCountJobMainList(CountJobMainExportReqVO exportReqVO) {
return countJobMainMapper.selectList(exportReqVO); return countJobMainMapper.selectList(exportReqVO);
} }
public CountJobMainDO countJobMainDoStatusRight(String pnumber,String pstatus) {
QueryWrapper queryWrapper = new QueryWrapper(); public CountJobMainDO countJobMainDoStatusRight(String pnumber, String pstatus) {
queryWrapper.eq("number",pnumber); QueryWrapper<CountJobMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status",pstatus); queryWrapper.eq("number", pnumber);
queryWrapper.eq("status", pstatus);
CountJobMainDO countJobMainDO = countJobMainMapper.selectOne(queryWrapper); CountJobMainDO countJobMainDO = countJobMainMapper.selectOne(queryWrapper);
if(countJobMainDO != null){ if (countJobMainDO != null) {
return countJobMainDO; return countJobMainDO;
}else { } else {
throw exception(COUNT_JOB_MAIN_STATUS_ERROR); throw exception(COUNT_JOB_MAIN_STATUS_ERROR);
} }
} }
@ -107,4 +88,50 @@ public class CountJobMainServiceImpl implements CountJobMainService {
map.put("count", l.intValue()); map.put("count", l.intValue());
return map; return map;
} }
@Override
public Integer acceptCountJobMain(Long id) {
CountJobMainDO countJobMainDO = this.validateCountJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(countJobMainDO.getStatus());
if(!jobStatusState.accept()) {
throw exception(COUNT_JOB_MAIN_STATUS_ERROR);
}
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
countJobMainDO.setStatus(jobStatusState.getState().getCode());
countJobMainDO.setAcceptUserId(String.valueOf(userId));
countJobMainDO.setAcceptUserName(userRespDTO.getNickname());
countJobMainDO.setAcceptTime(LocalDateTime.now());
trendsApi.createTrends(id, "countJob", "承接了盘点任务", TrendsTypeEnum.UPDATE);
return countJobMainMapper.updateById(countJobMainDO);
}
@Override
public Integer abandonCountJobMain(Long id) {
CountJobMainDO countJobMainDO = this.validateCountJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(countJobMainDO.getStatus());
if(!jobStatusState.cancelAccept()) {
throw exception(INSPECT_JOB_MAIN_STATUS_ERROR);
}
countJobMainDO.setStatus(jobStatusState.getState().getCode());
countJobMainDO.setAcceptUserId(null);
countJobMainDO.setAcceptUserName(null);
countJobMainDO.setAcceptTime(null);
trendsApi.createTrends(id, "countJob", "取消了盘点任务", TrendsTypeEnum.UPDATE);
return countJobMainMapper.updateById(countJobMainDO);
}
@Override
public String executeCountJobMain(CountJobMainUpdateReqVO countJobMainUpdateReqVO) {
return null;
}
private CountJobMainDO validateCountJobMainExists(Long id) {
CountJobMainDO countJobMainDO = countJobMainMapper.selectById(id);
if (countJobMainDO == null) {
throw exception(INSPECT_JOB_MAIN_NOT_EXISTS);
}
return countJobMainDO;
}
} }

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailService.java

@ -1,15 +1,11 @@
package com.win.module.wms.service.countRecord; package com.win.module.wms.service.countRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/** /**
* 盘点记录子 Service 接口 * 盘点记录子 Service 接口
@ -18,44 +14,6 @@ import com.win.framework.common.pojo.PageResult;
*/ */
public interface CountRecordDetailService { public interface CountRecordDetailService {
/**
* 创建盘点记录子
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createCountRecordDetail(@Valid CountRecordDetailCreateReqVO createReqVO);
/**
* 更新盘点记录子
*
* @param updateReqVO 更新信息
*/
void updateCountRecordDetail(@Valid CountRecordDetailUpdateReqVO updateReqVO);
/**
* 删除盘点记录子
*
* @param id 编号
*/
void deleteCountRecordDetail(Long id);
/**
* 获得盘点记录子
*
* @param id 编号
* @return 盘点记录子
*/
CountRecordDetailDO getCountRecordDetail(Long id);
/**
* 获得盘点记录子列表
*
* @param ids 编号
* @return 盘点记录子列表
*/
List<CountRecordDetailDO> getCountRecordDetailList(Collection<Long> ids);
/** /**
* 获得盘点记录子分页 * 获得盘点记录子分页
* *
@ -63,6 +21,7 @@ public interface CountRecordDetailService {
* @return 盘点记录子分页 * @return 盘点记录子分页
*/ */
PageResult<CountRecordDetailDO> getCountRecordDetailPage(CountRecordDetailPageReqVO pageReqVO); PageResult<CountRecordDetailDO> getCountRecordDetailPage(CountRecordDetailPageReqVO pageReqVO);
/** /**
* 获得用高级搜索盘点记录子分页列表 * 获得用高级搜索盘点记录子分页列表
* *
@ -72,11 +31,10 @@ public interface CountRecordDetailService {
PageResult<CountRecordDetailDO> getCountRecordDetailSenior(CustomConditions conditions); PageResult<CountRecordDetailDO> getCountRecordDetailSenior(CustomConditions conditions);
/** /**
* 获得盘点记录子列表, 用于 Excel 导出 * 根据主表id查询盘点
* * @param masterId
* @param exportReqVO 查询条件 * @return
* @return 盘点记录子列表
*/ */
List<CountRecordDetailDO> getCountRecordDetailList(CountRecordDetailExportReqVO exportReqVO); List<CountRecordDetailDO> selectList(Long masterId);
} }

66
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailServiceImpl.java

@ -1,24 +1,15 @@
package com.win.module.wms.service.countRecord; package com.win.module.wms.service.countRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO;
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.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.countRecord.CountRecordDetailConvert;
import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper; import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 盘点记录子 Service 实现类 * 盘点记录子 Service 实现类
@ -32,48 +23,6 @@ public class CountRecordDetailServiceImpl implements CountRecordDetailService {
@Resource @Resource
private CountRecordDetailMapper countRecordDetailMapper; private CountRecordDetailMapper countRecordDetailMapper;
@Override
public Long createCountRecordDetail(CountRecordDetailCreateReqVO createReqVO) {
// 插入
CountRecordDetailDO countRecordDetail = CountRecordDetailConvert.INSTANCE.convert(createReqVO);
countRecordDetailMapper.insert(countRecordDetail);
// 返回
return countRecordDetail.getId();
}
@Override
public void updateCountRecordDetail(CountRecordDetailUpdateReqVO updateReqVO) {
// 校验存在
validateCountRecordDetailExists(updateReqVO.getId());
// 更新
CountRecordDetailDO updateObj = CountRecordDetailConvert.INSTANCE.convert(updateReqVO);
countRecordDetailMapper.updateById(updateObj);
}
@Override
public void deleteCountRecordDetail(Long id) {
// 校验存在
validateCountRecordDetailExists(id);
// 删除
countRecordDetailMapper.deleteById(id);
}
private void validateCountRecordDetailExists(Long id) {
if (countRecordDetailMapper.selectById(id) == null) {
throw exception(COUNT_RECORD_DETAIL_NOT_EXISTS);
}
}
@Override
public CountRecordDetailDO getCountRecordDetail(Long id) {
return countRecordDetailMapper.selectById(id);
}
@Override
public List<CountRecordDetailDO> getCountRecordDetailList(Collection<Long> ids) {
return countRecordDetailMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<CountRecordDetailDO> getCountRecordDetailPage(CountRecordDetailPageReqVO pageReqVO) { public PageResult<CountRecordDetailDO> getCountRecordDetailPage(CountRecordDetailPageReqVO pageReqVO) {
return countRecordDetailMapper.selectPage(pageReqVO); return countRecordDetailMapper.selectPage(pageReqVO);
@ -82,9 +31,10 @@ public class CountRecordDetailServiceImpl implements CountRecordDetailService {
public PageResult<CountRecordDetailDO> getCountRecordDetailSenior(CustomConditions conditions) { public PageResult<CountRecordDetailDO> getCountRecordDetailSenior(CustomConditions conditions) {
return countRecordDetailMapper.selectSenior(conditions); return countRecordDetailMapper.selectSenior(conditions);
} }
@Override @Override
public List<CountRecordDetailDO> getCountRecordDetailList(CountRecordDetailExportReqVO exportReqVO) { public List<CountRecordDetailDO> selectList(Long masterId) {
return countRecordDetailMapper.selectList(exportReqVO); return countRecordDetailMapper.selectList(masterId);
} }
} }

55
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java

@ -1,15 +1,12 @@
package com.win.module.wms.service.countRecord; package com.win.module.wms.service.countRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/** /**
* 盘点记录主 Service 接口 * 盘点记录主 Service 接口
@ -18,44 +15,6 @@ import com.win.framework.common.pojo.PageResult;
*/ */
public interface CountRecordMainService { public interface CountRecordMainService {
/**
* 创建盘点记录主
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createCountRecordMain(@Valid CountRecordMainCreateReqVO createReqVO);
/**
* 更新盘点记录主
*
* @param updateReqVO 更新信息
*/
void updateCountRecordMain(@Valid CountRecordMainUpdateReqVO updateReqVO);
/**
* 删除盘点记录主
*
* @param id 编号
*/
void deleteCountRecordMain(Long id);
/**
* 获得盘点记录主
*
* @param id 编号
* @return 盘点记录主
*/
CountRecordMainDO getCountRecordMain(Long id);
/**
* 获得盘点记录主列表
*
* @param ids 编号
* @return 盘点记录主列表
*/
List<CountRecordMainDO> getCountRecordMainList(Collection<Long> ids);
/** /**
* 获得盘点记录主分页 * 获得盘点记录主分页
* *
@ -79,4 +38,12 @@ public interface CountRecordMainService {
*/ */
List<CountRecordMainDO> getCountRecordMainList(CountRecordMainExportReqVO exportReqVO); List<CountRecordMainDO> getCountRecordMainList(CountRecordMainExportReqVO exportReqVO);
/**
* 获得检验记录主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 盘点记录主列表
*/
List<CountRecordMainDO> getCountRecordMainList(CustomConditions conditions);
} }

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java

@ -1,24 +1,16 @@
package com.win.module.wms.service.countRecord; package com.win.module.wms.service.countRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO;
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.countRecord.CountRecordMainDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.countRecord.CountRecordMainConvert;
import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper; import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 盘点记录主 Service 实现类 * 盘点记录主 Service 实现类
@ -32,48 +24,6 @@ public class CountRecordMainServiceImpl implements CountRecordMainService {
@Resource @Resource
private CountRecordMainMapper countRecordMainMapper; private CountRecordMainMapper countRecordMainMapper;
@Override
public Long createCountRecordMain(CountRecordMainCreateReqVO createReqVO) {
// 插入
CountRecordMainDO countRecordMain = CountRecordMainConvert.INSTANCE.convert(createReqVO);
countRecordMainMapper.insert(countRecordMain);
// 返回
return countRecordMain.getId();
}
@Override
public void updateCountRecordMain(CountRecordMainUpdateReqVO updateReqVO) {
// 校验存在
validateCountRecordMainExists(updateReqVO.getId());
// 更新
CountRecordMainDO updateObj = CountRecordMainConvert.INSTANCE.convert(updateReqVO);
countRecordMainMapper.updateById(updateObj);
}
@Override
public void deleteCountRecordMain(Long id) {
// 校验存在
validateCountRecordMainExists(id);
// 删除
countRecordMainMapper.deleteById(id);
}
private void validateCountRecordMainExists(Long id) {
if (countRecordMainMapper.selectById(id) == null) {
throw exception(COUNT_RECORD_MAIN_NOT_EXISTS);
}
}
@Override
public CountRecordMainDO getCountRecordMain(Long id) {
return countRecordMainMapper.selectById(id);
}
@Override
public List<CountRecordMainDO> getCountRecordMainList(Collection<Long> ids) {
return countRecordMainMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<CountRecordMainDO> getCountRecordMainPage(CountRecordMainPageReqVO pageReqVO) { public PageResult<CountRecordMainDO> getCountRecordMainPage(CountRecordMainPageReqVO pageReqVO) {
return countRecordMainMapper.selectPage(pageReqVO); return countRecordMainMapper.selectPage(pageReqVO);
@ -87,4 +37,9 @@ public class CountRecordMainServiceImpl implements CountRecordMainService {
return countRecordMainMapper.selectList(exportReqVO); return countRecordMainMapper.selectList(exportReqVO);
} }
@Override
public List<CountRecordMainDO> getCountRecordMainList(CustomConditions conditions) {
return countRecordMainMapper.selectList(conditions);
}
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailService.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.countRequest.vo.CountRequestDetailUpdateReq
import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
/** /**
* 盘点申请子 Service 接口 * 盘点申请子 Service 接口
@ -46,6 +47,14 @@ public interface CountRequestDetailService {
*/ */
CountRequestDetailDO getCountRequestDetail(Long id); CountRequestDetailDO getCountRequestDetail(Long id);
/**
* 获得盘点申请子列表
*
* @param masterId 父id
* @return 盘点申请子列表
*/
List<CountRequestDetailDO> selectList(Long masterId);
/** /**
* 获得盘点申请子分页 * 获得盘点申请子分页
* *
@ -53,6 +62,7 @@ public interface CountRequestDetailService {
* @return 盘点申请子分页 * @return 盘点申请子分页
*/ */
PageResult<CountRequestDetailDO> getCountRequestDetailPage(CountRequestDetailPageReqVO pageReqVO); PageResult<CountRequestDetailDO> getCountRequestDetailPage(CountRequestDetailPageReqVO pageReqVO);
/** /**
* 获得用高级搜索盘点申请子分页列表 * 获得用高级搜索盘点申请子分页列表
* *

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailServiceImpl.java

@ -15,6 +15,8 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; 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.COUNT_REQUEST_DETAIL_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.COUNT_REQUEST_DETAIL_NOT_EXISTS;
@ -74,6 +76,11 @@ public class CountRequestDetailServiceImpl implements CountRequestDetailService
return countRequestDetailMapper.selectById(id); return countRequestDetailMapper.selectById(id);
} }
@Override
public List<CountRequestDetailDO> selectList(Long masterId) {
return countRequestDetailMapper.selectList(masterId);
}
@Override @Override
public PageResult<CountRequestDetailDO> getCountRequestDetailSenior(CustomConditions conditions) { public PageResult<CountRequestDetailDO> getCountRequestDetailSenior(CustomConditions conditions) {
return countRequestDetailMapper.selectSenior(conditions); return countRequestDetailMapper.selectSenior(conditions);

64
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java

@ -6,7 +6,6 @@ import com.win.module.wms.controller.countRequest.vo.*;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
@ -29,14 +28,7 @@ public interface CountRequestMainService {
* *
* @param updateReqVO 更新信息 * @param updateReqVO 更新信息
*/ */
void updateCountRequestMain(@Valid CountRequestMainUpdateReqVO updateReqVO); int updateCountRequestMain(@Valid CountRequestMainUpdateReqVO updateReqVO);
/**
* 删除盘点申请主
*
* @param id 编号
*/
void deleteCountRequestMain(Long id);
/** /**
* 获得盘点申请主 * 获得盘点申请主
@ -46,14 +38,6 @@ public interface CountRequestMainService {
*/ */
CountRequestMainDO getCountRequestMain(Long id); CountRequestMainDO getCountRequestMain(Long id);
/**
* 获得盘点申请主列表
*
* @param ids 编号
* @return 盘点申请主列表
*/
List<CountRequestMainDO> getCountRequestMainList(Collection<Long> ids);
/** /**
* 获得盘点申请主分页 * 获得盘点申请主分页
* *
@ -69,6 +53,14 @@ public interface CountRequestMainService {
*/ */
PageResult<CountRequestMainDO> getCountRequestMainSenior(CustomConditions conditions); PageResult<CountRequestMainDO> getCountRequestMainSenior(CustomConditions conditions);
/**
* 获得检验申请主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 检验申请主列表
*/
List<CountRequestMainDO> getCountRequestMainList(CustomConditions conditions);
/** /**
* 获得盘点申请主列表, 用于 Excel 导出 * 获得盘点申请主列表, 用于 Excel 导出
* *
@ -86,4 +78,42 @@ public interface CountRequestMainService {
*/ */
List<CountRequestMainImportErrorVO> importCountRequestMainList(List<CountRequestMainCreateReqVO> datas, Integer mode, boolean updatePart); List<CountRequestMainImportErrorVO> importCountRequestMainList(List<CountRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭盘点申请主
*
* @param id 盘点申请主ID
* @return 更新数量
*/
Integer closeCountRequestMain(Long id);
/**
* 提交盘点申请主
*
* @param id 盘点申请主ID
* @return 更新数量
*/
Integer submitCountRequestMain(Long id);
/**
* 审批通过盘点申请主
*
* @param id 盘点申请主ID
* @return 更新数量
*/
Integer agreeCountRequestMain(Long id);
/**
* 处理盘点申请主
* @param id
* @return
*/
Integer handleCountRequestMain(Long id);
/**
* 审批拒绝盘点申请主
*
* @param id 盘点申请主ID
* @return 更新数量
*/
Integer abortCountRequestMain(Long id);
} }

210
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java

@ -1,20 +1,23 @@
package com.win.module.wms.service.countRequest; package com.win.module.wms.service.countRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.exception.ServiceException; 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.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.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.countRequest.vo.*; import com.win.module.wms.controller.countRequest.vo.*;
import com.win.module.wms.convert.countRequest.CountRequestDetailConvert; import com.win.module.wms.convert.countRequest.CountRequestDetailConvert;
import com.win.module.wms.convert.countRequest.CountRequestMainConvert; import com.win.module.wms.convert.countRequest.CountRequestMainConvert;
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.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
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.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestDetailMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestDetailMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
@ -27,18 +30,17 @@ import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
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 org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
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.COUNT_REQUEST_MAIN_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
/** /**
* 盘点申请主 Service 实现类 * 盘点申请主 Service 实现类
@ -68,37 +70,70 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
private RequestsettingService requestsettingService; private RequestsettingService requestsettingService;
@Resource @Resource
private SerialNumberApi serialNumberApi; private SerialNumberApi serialNumberApi;
@Resource
private TrendsApi trendsApi;
@Resource
private CountJobMainMapper countJobMainMapper;
@Override @Override
@Transactional
public Long createCountRequestMain(CountRequestMainCreateReqVO createReqVO) { public Long createCountRequestMain(CountRequestMainCreateReqVO createReqVO) {
// 插入 // 插入
CountRequestMainDO countRequestMain = CountRequestMainConvert.INSTANCE.convert(createReqVO); CountRequestMainDO mainDO = CountRequestMainConvert.INSTANCE.convert(createReqVO);
countRequestMainMapper.insert(countRequestMain); countPlanMainService.selectCountPlanExist(mainDO.getPlanNumber());
List<CountRequestDetailDO> subDOList = CountRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
for (CountRequestDetailDO detailDO : subDOList) {
this.validateCountRequestDetailCreate(detailDO);
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDO.setNumber(number);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRequest");
mainDO.setBusinessType(businesstypeDO.getCode());
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CountRequest");
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode());
mainDO.setAutoCommit(requestsettingDO.getAutoCommit());
mainDO.setAutoAgree(requestsettingDO.getAutoAgree());
mainDO.setAutoExecute(requestsettingDO.getAutoExecute());
mainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
countRequestMainMapper.insert(mainDO);
for (CountRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
countRequestDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(requestsettingDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE);
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, subDOList);
}
// 返回 // 返回
return countRequestMain.getId(); return mainDO.getId();
} }
@Override @Override
public void updateCountRequestMain(CountRequestMainUpdateReqVO updateReqVO) { @Transactional
public int updateCountRequestMain(CountRequestMainUpdateReqVO updateReqVO) {
// 校验存在 // 校验存在
validateCountRequestMainExists(updateReqVO.getId()); CountRequestMainDO mainDO = validateCountRequestMainExists(updateReqVO.getId());
if(!mainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) {
throw exception(COUNT_REQUEST_STATUS_NOT_NEW);
}
// 更新 // 更新
CountRequestMainDO updateObj = CountRequestMainConvert.INSTANCE.convert(updateReqVO); CountRequestMainDO updateObj = CountRequestMainConvert.INSTANCE.convert(updateReqVO);
countRequestMainMapper.updateById(updateObj); //增加操作记录
} trendsApi.createTrends(updateReqVO.getId(), "countRequestMain", mainDO.toString(), TrendsTypeEnum.UPDATE);
return countRequestMainMapper.updateById(updateObj);
@Override
public void deleteCountRequestMain(Long id) {
// 校验存在
validateCountRequestMainExists(id);
// 删除
countRequestMainMapper.deleteById(id);
} }
private void validateCountRequestMainExists(Long id) { private CountRequestMainDO validateCountRequestMainExists(Long id) {
if (countRequestMainMapper.selectById(id) == null) { CountRequestMainDO mainDO = countRequestMainMapper.selectById(id);
if (mainDO == null) {
throw exception(COUNT_REQUEST_MAIN_NOT_EXISTS); throw exception(COUNT_REQUEST_MAIN_NOT_EXISTS);
} }
return mainDO;
} }
@Override @Override
@ -106,11 +141,6 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
return countRequestMainMapper.selectById(id); return countRequestMainMapper.selectById(id);
} }
@Override
public List<CountRequestMainDO> getCountRequestMainList(Collection<Long> ids) {
return countRequestMainMapper.selectBatchIds(ids);
}
@Override @Override
public PageResult<CountRequestMainDO> getCountRequestMainPage(CountRequestMainPageReqVO pageReqVO) { public PageResult<CountRequestMainDO> getCountRequestMainPage(CountRequestMainPageReqVO pageReqVO) {
return countRequestMainMapper.selectPage(pageReqVO); return countRequestMainMapper.selectPage(pageReqVO);
@ -121,11 +151,18 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
return countRequestMainMapper.selectSenior(conditions); return countRequestMainMapper.selectSenior(conditions);
} }
@Override
public List<CountRequestMainDO> getCountRequestMainList(CustomConditions conditions) {
return countRequestMainMapper.selectList(conditions);
}
@Override @Override
public List<CountRequestMainDO> getCountRequestMainList(CountRequestMainExportReqVO exportReqVO) { public List<CountRequestMainDO> getCountRequestMainList(CountRequestMainExportReqVO exportReqVO) {
return countRequestMainMapper.selectList(exportReqVO); return countRequestMainMapper.selectList(exportReqVO);
} }
@Override
@Transactional
public List<CountRequestMainImportErrorVO> importCountRequestMainList(List<CountRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<CountRequestMainImportErrorVO> importCountRequestMainList(List<CountRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
@ -183,6 +220,95 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
} }
return errorList; return errorList;
} }
@Override
@Transactional
public Integer closeCountRequestMain(Long id) {
// 校验存在存在下级单据
CountRequestMainDO mainDO = validateCountRequestMainExists(id);
Long count = countJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(COUNT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(COUNT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countRequest", "关闭了盘点申请", TrendsTypeEnum.UPDATE);
return countRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer submitCountRequestMain(Long id) {
CountRequestMainDO mainDO = validateCountRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(COUNT_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "countRequest", "提交了盘点申请", TrendsTypeEnum.UPDATE);
return countRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer agreeCountRequestMain(Long id) {
// 校验存在
CountRequestMainDO mainDO = validateCountRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(COUNT_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "countRequest", "审批同意了盘点申请", TrendsTypeEnum.UPDATE);
return countRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer handleCountRequestMain(Long id) {
// 校验存在
CountRequestMainDO mainDO = validateCountRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(COUNT_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "countRequest", "执行了盘点申请", TrendsTypeEnum.UPDATE);
return countRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer abortCountRequestMain(Long id) {
// 校验存在
CountRequestMainDO mainDO = validateCountRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.refused();
if(!flag) {
throw new ServiceException(COUNT_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "countRequest", "审批拒绝了盘点申请", TrendsTypeEnum.UPDATE);
return countRequestMainMapper.updateById(mainDO);
}
/** /**
* 生成盘点任务不要改动事务传播方式否则会有事务问题 * 生成盘点任务不要改动事务传播方式否则会有事务问题
* @param mainDO 采购收货主 * @param mainDO 采购收货主
@ -191,16 +317,16 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
private void generateJob(CountRequestMainDO mainDO, List<CountRequestDetailDO> detailDOList) { private void generateJob(CountRequestMainDO mainDO, List<CountRequestDetailDO> detailDOList) {
} }
/** /**
* 校验导入并赋值一些参数未完全实现 * 校验导入并赋值一些参数未完全实现
* @param mainDo * @param mainDO
* @return * @return
*/ */
private String validateCountRequestMainImport(CountRequestMainDO mainDo) { private String validateCountRequestMainImport(CountRequestMainDO mainDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
try { try {
CountPlanDetailDO countPlanDetailDO = countPlanMainService.selectCountPlanExist(mainDo.getPlanNumber()); countPlanMainService.selectCountPlanExist(mainDO.getPlanNumber());
//mainDo.setWarehouseCode(countPlanDetailDO.getW)
} catch (ServiceException e) { } catch (ServiceException e) {
message.append(e.getMessage()).append(","); message.append(e.getMessage()).append(",");
} }
@ -224,7 +350,7 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
try { try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode()); ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
if (!Objects.equals(itembasicDO.getUom(), detailDO.getUom())) { if (!Objects.equals(itembasicDO.getUom(), detailDO.getUom())) {
message.append("计量单位").append("错误,应该是").append(","); message.append("计量单位").append(detailDO.getUom()).append("错误,应该是").append(itembasicDO.getUom()).append(",");
} else { } else {
detailDO.setItemDesc1(itembasicDO.getDesc1()); detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2()); detailDO.setItemDesc2(itembasicDO.getDesc2());
@ -245,4 +371,28 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
return message.toString(); return message.toString();
} }
/**
* 校验导入并赋值一些参数未完全实现
* @param detailDO
* @return
*/
private void validateCountRequestDetailCreate(CountRequestDetailDO detailDO) {
//校验库位基础信息
locationService.selectLocation(detailDO.getLocationCode());
// 校验物品基础信息
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
if (!Objects.equals(itembasicDO.getUom(), detailDO.getUom())) {
throw new UtilException("计量单位" + detailDO.getUom() + "错误,应该是" + itembasicDO.getUom());
} else {
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setItemName(itembasicDO.getName());
detailDO.setProjectCode(itembasicDO.getProject());
}
// 校验业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRequest");
jobUtils.ifInToLocationType(detailDO.getLocationCode(), businesstypeDO);
jobUtils.ifOutInventoryStatuses(detailDO.getInventoryStatus(), businesstypeDO);
}
} }

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainService.java

@ -53,7 +53,6 @@ public interface InspectJobMainService {
*/ */
List<InspectJobMainDO> getInspectJobMainList(InspectJobMainExportReqVO exportReqVO); List<InspectJobMainDO> getInspectJobMainList(InspectJobMainExportReqVO exportReqVO);
/** /**
* 获得检验任务主列表, 用于 Excel 导出 * 获得检验任务主列表, 用于 Excel 导出
* *

Loading…
Cancel
Save