叶佳兴 2 years ago
parent
commit
e5347124dd
  1. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java
  3. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java
  4. 96
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobDetailController.java
  5. 153
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobMainController.java
  6. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainCreateReqVO.java
  7. 140
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainExcelVO.java
  8. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainUpdateReqVO.java
  9. 107
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordDetailController.java
  10. 140
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordMainController.java
  11. 130
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/vo/PurchasereturnRecordMainExcelVO.java
  12. 80
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestDetailController.java
  13. 162
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java
  14. 111
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainExcelVO.java
  15. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java
  16. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java
  17. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobDetailConvert.java
  18. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobMainConvert.java
  19. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRecord/PurchasereturnRecordMainConvert.java
  20. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRequest/PurchasereturnRequestMainConvert.java
  21. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobDetailDO.java
  22. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobMainDO.java
  23. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnRecord/PurchasereturnRecordDetailDO.java
  24. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java
  25. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java
  26. 35
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java
  27. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java
  28. 46
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java
  29. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java
  30. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java
  31. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java
  32. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java
  33. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java
  34. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java
  35. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  36. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java
  37. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java
  38. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java
  39. 57
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java
  40. 67
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java
  41. 98
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java
  42. 281
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java
  43. 66
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java
  44. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java
  45. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java
  46. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java
  47. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java
  48. 87
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java
  49. 69
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java
  50. 313
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java

@ -105,7 +105,7 @@ public class ExpectoutController {
ExcelUtils.write(response, "预计出库存.xls", "数据", ExpectoutExcelVO.class, datas);
}
@GetMapping("/export-excel-senior")
@PostMapping("/export-excel-senior")
@Operation(summary = "导出预计出库存 Excel")
@PreAuthorize("@ss.hasPermission('wms:expectout:export')")
@OperateLog(type = EXPORT)

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java

@ -157,7 +157,7 @@ public class ProductionMainController {
ExcelUtils.write(response, "生产计划.xls", "生产计划", ProductionMainExcelVO.class, resultList);
}
@GetMapping("/export-excel-senior")
@PostMapping("/export-excel-senior")
@Operation(summary = "导出生产计划主 Excel")
@PreAuthorize("@ss.hasPermission('wms:production-main:export')")
@OperateLog(type = EXPORT)

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

@ -43,20 +43,6 @@ public class PurchasereceiptRequestDetailController {
return success(purchasereceiptRequestDetailService.createPurchasereceiptRequestDetail(createReqVO));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRequestDetail:query')")
public CommonResult<PageResult<PurchasereceiptRequestDetailRespVO>> getPurchasereceiptRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereceiptRequestDetailDO> pageResult = purchasereceiptRequestDetailService.getPurchasereceiptRequestDetailSenior(conditions);
PageResult<PurchasereceiptRequestDetailRespVO> result = PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult);
for(PurchasereceiptRequestDetailRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
}
@PutMapping("/update")
@Operation(summary = "更新采购收货申请子")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')")
@ -91,4 +77,18 @@ public class PurchasereceiptRequestDetailController {
return success(PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRequestDetail:query')")
public CommonResult<PageResult<PurchasereceiptRequestDetailRespVO>> getPurchasereceiptRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereceiptRequestDetailDO> pageResult = purchasereceiptRequestDetailService.getPurchasereceiptRequestDetailSenior(conditions);
PageResult<PurchasereceiptRequestDetailRespVO> result = PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult);
for(PurchasereceiptRequestDetailRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
}
}

96
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobDetailController.java

@ -1,36 +1,26 @@
package com.win.module.wms.controller.purchasereturnJob;
import com.win.framework.common.pojo.CommonResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnJob.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService;
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.servlet.http.*;
import java.util.*;
import java.io.IOException;
import javax.annotation.Resource;
import javax.validation.Valid;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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.purchasereturnJob.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService;
@Tag(name = "管理后台 - 采购退货任务子")
@RestController
@RequestMapping("/wms/purchasereturn-job-detail")
@ -43,48 +33,6 @@ public class PurchasereturnJobDetailController {
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建采购退货任务子")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:create')")
public CommonResult<String> createPurchasereturnJobDetail(@Valid @RequestBody PurchasereturnJobDetailCreateReqVO createReqVO) {
return success(purchasereturnJobDetailService.createPurchasereturnJobDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新采购退货任务子")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:update')")
public CommonResult<Boolean> updatePurchasereturnJobDetail(@Valid @RequestBody PurchasereturnJobDetailUpdateReqVO updateReqVO) {
purchasereturnJobDetailService.updatePurchasereturnJobDetail(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购退货任务子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:delete')")
public CommonResult<Boolean> deletePurchasereturnJobDetail(@RequestParam("id") String id) {
purchasereturnJobDetailService.deletePurchasereturnJobDetail(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得采购退货任务子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')")
public CommonResult<PurchasereturnJobDetailRespVO> getPurchasereturnJobDetail(@RequestParam("id") String id) {
PurchasereturnJobDetailDO purchasereturnJobDetail = purchasereturnJobDetailService.getPurchasereturnJobDetail(id);
return success(PurchasereturnJobDetailConvert.INSTANCE.convert(purchasereturnJobDetail));
}
@GetMapping("/list")
@Operation(summary = "获得采购退货任务子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')")
public CommonResult<List<PurchasereturnJobDetailRespVO>> getPurchasereturnJobDetailList(@RequestParam("ids") Collection<String> ids) {
List<PurchasereturnJobDetailDO> list = purchasereturnJobDetailService.getPurchasereturnJobDetailList(ids);
return success(PurchasereturnJobDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得采购退货任务子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')")
@ -92,6 +40,7 @@ public class PurchasereturnJobDetailController {
PageResult<PurchasereturnJobDetailDO> pageResult = purchasereturnJobDetailService.getPurchasereturnJobDetailPage(pageVO);
return success(PurchasereturnJobDetailConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobDetail:query')")
@ -106,21 +55,4 @@ public class PurchasereturnJobDetailController {
return success(result);
}
@GetMapping("/export-excel")
@Operation(summary = "导出采购退货任务子 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereturnJobDetailExcel(@Valid PurchasereturnJobDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PurchasereturnJobDetailDO> list = purchasereturnJobDetailService.getPurchasereturnJobDetailList(exportReqVO);
// 导出 Excel
List<PurchasereturnJobDetailExcelVO> datas = PurchasereturnJobDetailConvert.INSTANCE.convertList02(list);
for(PurchasereturnJobDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
}
ExcelUtils.write(response, "采购退货任务子.xls", "数据", PurchasereturnJobDetailExcelVO.class, datas);
}
}

153
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobMainController.java

@ -1,38 +1,41 @@
package com.win.module.wms.controller.purchasereturnJob;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnJob.vo.*;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService;
import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobMainService;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert;
import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 采购退货任务主")
@RestController
@ -47,47 +50,14 @@ public class PurchasereturnJobMainController {
@Resource
private PurchasereturnJobDetailService purchasereturnJobDetailService;
@PostMapping("/create")
@Operation(summary = "创建采购退货任务主")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:create')")
public CommonResult<String> createPurchasereturnJobMain(@Valid @RequestBody PurchasereturnJobMainCreateReqVO createReqVO) {
return success(purchasereturnJobMainService.createPurchasereturnJobMain(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新采购退货任务主")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:update')")
public CommonResult<Boolean> updatePurchasereturnJobMain(@Valid @RequestBody PurchasereturnJobMainUpdateReqVO updateReqVO) {
purchasereturnJobMainService.updatePurchasereturnJobMain(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购退货任务主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:delete')")
public CommonResult<Boolean> deletePurchasereturnJobMain(@RequestParam("id") String id) {
purchasereturnJobMainService.deletePurchasereturnJobMain(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得采购退货任务主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@GetMapping("/page")
@Operation(summary = "获得采购退货任务主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')")
public CommonResult<PurchasereturnJobMainRespVO> getPurchasereturnJobMain(@RequestParam("id") String id) {
PurchasereturnJobMainDO purchasereturnJobMain = purchasereturnJobMainService.getPurchasereturnJobMain(id);
return success(PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain));
public CommonResult<PageResult<PurchasereturnJobMainRespVO>> getPurchasereturnJobMainPage(@Valid PurchasereturnJobMainPageReqVO pageVO) {
PageResult<PurchasereturnJobMainDO> pageResult = purchasereturnJobMainService.getPurchasereturnJobMainPage(pageVO);
return success(PurchasereturnJobMainConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/list")
@Operation(summary = "获得采购退货任务主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')")
public CommonResult<List<PurchasereturnJobMainRespVO>> getPurchasereturnJobMainList(@RequestParam("ids") Collection<String> ids) {
List<PurchasereturnJobMainDO> list = purchasereturnJobMainService.getPurchasereturnJobMainList(ids);
return success(PurchasereturnJobMainConvert.INSTANCE.convertList(list));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobMain:query')")
@ -101,13 +71,6 @@ public class PurchasereturnJobMainController {
}
return success(result);
}
@GetMapping("/page")
@Operation(summary = "获得采购退货任务主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')")
public CommonResult<PageResult<PurchasereturnJobMainRespVO>> getPurchasereturnJobMainPage(@Valid PurchasereturnJobMainPageReqVO pageVO) {
PageResult<PurchasereturnJobMainDO> pageResult = purchasereturnJobMainService.getPurchasereturnJobMainPage(pageVO);
return success(PurchasereturnJobMainConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出采购退货任务主 Excel")
@ -116,9 +79,57 @@ public class PurchasereturnJobMainController {
public void exportPurchasereturnJobMainExcel(@Valid PurchasereturnJobMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PurchasereturnJobMainDO> list = purchasereturnJobMainService.getPurchasereturnJobMainList(exportReqVO);
// 导出 Excel
List<PurchasereturnJobMainExcelVO> datas = PurchasereturnJobMainConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, datas);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出采购退货任务主 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereturnJobMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<PurchasereturnJobMainDO> list = purchasereturnJobMainService.getPurchasereturnJobMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, resultList, mapDropDown);
}
private List<PurchasereturnJobMainExcelVO> getExcelVo(List<PurchasereturnJobMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(7, transferMode);
String[] status = JobStatusEnum.getStatusNameArray();
mapDropDown.put(13, status);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(22, locationType);
mapDropDown.put(23, locationType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(30, trueFalse);
mapDropDown.put(31, trueFalse);
mapDropDown.put(32, trueFalse);
mapDropDown.put(33, trueFalse);
mapDropDown.put(34, trueFalse);
mapDropDown.put(35, trueFalse);
mapDropDown.put(36, trueFalse);
mapDropDown.put(37, trueFalse);
mapDropDown.put(38, trueFalse);
mapDropDown.put(39, trueFalse);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(47, inventoryStatus);
String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(50, purchaseReturnReason);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(57, uom);
List<PurchasereturnJobMainExcelVO> resultList = new ArrayList<>();
// 导出
for (PurchasereturnJobMainDO mainDO : list) {
List<PurchasereturnJobDetailDO> subList = purchasereturnJobDetailService.selectList(mainDO.getId());
for (PurchasereturnJobDetailDO detailDO : subList) {
PurchasereturnJobMainExcelVO vo = PurchasereturnJobMainConvert.INSTANCE.convert(mainDO, detailDO);
resultList.add(vo);
}
}
return resultList;
}
@GetMapping("/getReturnJobById")
@ -130,10 +141,8 @@ public class PurchasereturnJobMainController {
PurchasereturnJobMainRespVO result = PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain);
if(result==null) {
return success(result);
};
PurchasereturnJobDetailExportReqVO purchasereturnJobDetailExportReqVO = new PurchasereturnJobDetailExportReqVO();
purchasereturnJobDetailExportReqVO.setMasterId(result.getId());
List<PurchasereturnJobDetailDO> purchasereturnJobDetailList = purchasereturnJobDetailService.getPurchasereturnJobDetailList(purchasereturnJobDetailExportReqVO);
}
List<PurchasereturnJobDetailDO> purchasereturnJobDetailList = purchasereturnJobDetailService.selectList(result.getId());
List<PurchasereturnJobDetailExcelVO> purchasereturnJobDetailExcelVOS = PurchasereturnJobDetailConvert.INSTANCE.convertList02(purchasereturnJobDetailList);
result.setSubList(purchasereturnJobDetailExcelVOS);
return success(result);

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainCreateReqVO.java

@ -1,7 +1,13 @@
package com.win.module.wms.controller.purchasereturnJob.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.Valid;
import java.util.List;
@Schema(description = "管理后台 - 采购退货任务主创建 Request VO")
@Data
@ -9,4 +15,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class PurchasereturnJobMainCreateReqVO extends PurchasereturnJobMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<@Valid PurchasereturnJobDetailCreateReqVO> subList;
}

140
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainExcelVO.java

@ -1,19 +1,14 @@
package com.win.module.wms.controller.purchasereturnJob.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.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusConverter;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -46,11 +41,10 @@ public class PurchasereturnJobMainExcelVO {
private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class)
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "车牌号")
private String vehiclePlateNumber;
@ExcelProperty("从仓库代码")
@ -65,23 +59,12 @@ public class PurchasereturnJobMainExcelVO {
@ExcelProperty("要求截止时间")
private LocalDateTime requestDueTime;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "状态", converter = JobStatusConverter.class)
private String status;
@ExcelProperty("过期时间")
private LocalDateTime expiredTime;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
private String updater;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("job_stage_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String jobStageStatus;
@ExcelProperty("优先级")
private Integer priority;
@ -104,11 +87,11 @@ public class PurchasereturnJobMainExcelVO {
private LocalDateTime completeTime;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes;
@ExcelProperty("单据号")
@ -120,12 +103,6 @@ public class PurchasereturnJobMainExcelVO {
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者id")
private String creator;
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ -136,43 +113,118 @@ public class PurchasereturnJobMainExcelVO {
private String fromDockCode;
@ExcelProperty(value = "自动完成", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String autoComplete;
@ExcelProperty(value = "允许修改库位", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyLocation;
@ExcelProperty(value = "允许修改数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyQty;
@ExcelProperty(value = "允许大于推荐数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowBiggerQty;
@ExcelProperty(value = "允许小于推荐数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowSmallerQty;
@ExcelProperty(value = "允许修改库存状态", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyInventoryStatus;
@ExcelProperty(value = "允许连续扫描", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowContinuousScanning;
@ExcelProperty(value = "允许部分完成", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowPartialComplete;
@ExcelProperty(value = "允许修改批次", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyBatch;
@ExcelProperty(value = "允许修改箱码", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyPackingNumber;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("替代批次")
private String altBatch;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty(value = "原因", converter = DictConvert.class)
@DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON)
private String reason;
@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 remarkDetail;
@ExcelProperty("到货主代码")
private String toOwnerCode;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者id")
private String creator;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
private String updater;
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainUpdateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.purchasereturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.Valid;
import java.util.List;
@Schema(description = "管理后台 - 采购退货任务主更新 Request VO")
@Data
@ -9,4 +14,6 @@ import lombok.*;
@ToString(callSuper = true)
public class PurchasereturnJobMainUpdateReqVO extends PurchasereturnJobMainBaseVO {
@Schema(description = "子表数据")
private List<@Valid PurchasereturnJobDetailUpdateReqVO> subList;
}

107
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordDetailController.java

@ -1,36 +1,26 @@
package com.win.module.wms.controller.purchasereturnRecord;
import com.win.framework.common.pojo.CommonResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRecord.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailRespVO;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService;
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.servlet.http.*;
import java.util.*;
import java.io.IOException;
import javax.annotation.Resource;
import javax.validation.Valid;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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.purchasereturnRecord.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService;
@Tag(name = "管理后台 - 采购退货记录子")
@RestController
@RequestMapping("/wms/purchasereturn-record-detail")
@ -43,12 +33,14 @@ public class PurchasereturnRecordDetailController {
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建采购退货记录子")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:create')")
public CommonResult<Long> createPurchasereturnRecordDetail(@Valid @RequestBody PurchasereturnRecordDetailCreateReqVO createReqVO) {
return success(purchasereturnRecordDetailService.createPurchasereturnRecordDetail(createReqVO));
@GetMapping("/page")
@Operation(summary = "获得采购退货记录子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')")
public CommonResult<PageResult<PurchasereturnRecordDetailRespVO>> getPurchasereturnRecordDetailPage(@Valid PurchasereturnRecordDetailPageReqVO pageVO) {
PageResult<PurchasereturnRecordDetailDO> pageResult = purchasereturnRecordDetailService.getPurchasereturnRecordDetailPage(pageVO);
return success(PurchasereturnRecordDetailConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得采购退货记录子信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordDetail:query')")
@ -62,64 +54,5 @@ public class PurchasereturnRecordDetailController {
}
return success(result);
}
@PutMapping("/update")
@Operation(summary = "更新采购退货记录子")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:update')")
public CommonResult<Boolean> updatePurchasereturnRecordDetail(@Valid @RequestBody PurchasereturnRecordDetailUpdateReqVO updateReqVO) {
purchasereturnRecordDetailService.updatePurchasereturnRecordDetail(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购退货记录子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:delete')")
public CommonResult<Boolean> deletePurchasereturnRecordDetail(@RequestParam("id") Long id) {
purchasereturnRecordDetailService.deletePurchasereturnRecordDetail(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得采购退货记录子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')")
public CommonResult<PurchasereturnRecordDetailRespVO> getPurchasereturnRecordDetail(@RequestParam("id") Long id) {
PurchasereturnRecordDetailDO purchasereturnRecordDetail = purchasereturnRecordDetailService.getPurchasereturnRecordDetail(id);
return success(PurchasereturnRecordDetailConvert.INSTANCE.convert(purchasereturnRecordDetail));
}
@GetMapping("/list")
@Operation(summary = "获得采购退货记录子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')")
public CommonResult<List<PurchasereturnRecordDetailRespVO>> getPurchasereturnRecordDetailList(@RequestParam("ids") Collection<Long> ids) {
List<PurchasereturnRecordDetailDO> list = purchasereturnRecordDetailService.getPurchasereturnRecordDetailList(ids);
return success(PurchasereturnRecordDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得采购退货记录子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')")
public CommonResult<PageResult<PurchasereturnRecordDetailRespVO>> getPurchasereturnRecordDetailPage(@Valid PurchasereturnRecordDetailPageReqVO pageVO) {
PageResult<PurchasereturnRecordDetailDO> pageResult = purchasereturnRecordDetailService.getPurchasereturnRecordDetailPage(pageVO);
return success(PurchasereturnRecordDetailConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出采购退货记录子 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereturnRecordDetailExcel(@Valid PurchasereturnRecordDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PurchasereturnRecordDetailDO> list = purchasereturnRecordDetailService.getPurchasereturnRecordDetailList(exportReqVO);
// 导出 Excel
List<PurchasereturnRecordDetailExcelVO> datas = PurchasereturnRecordDetailConvert.INSTANCE.convertList02(list);
for(PurchasereturnRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "采购退货记录子.xls", "数据", PurchasereturnRecordDetailExcelVO.class, datas);
}
}

140
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordMainController.java

@ -1,34 +1,40 @@
package com.win.module.wms.controller.purchasereturnRecord;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRecord.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExcelVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 采购退货记录主")
@RestController
@ -38,16 +44,20 @@ public class PurchasereturnRecordMainController {
@Resource
private PurchasereturnRecordMainService purchasereturnRecordMainService;
@Resource
private PurchasereturnRecordDetailService purchasereturnRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建采购退货记录主")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:create')")
public CommonResult<Long> createPurchasereturnRecordMain(@Valid @RequestBody PurchasereturnRecordMainCreateReqVO createReqVO) {
return success(purchasereturnRecordMainService.createPurchasereturnRecordMain(createReqVO));
@GetMapping("/page")
@Operation(summary = "获得采购退货记录主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')")
public CommonResult<PageResult<PurchasereturnRecordMainRespVO>> getPurchasereturnRecordMainPage(@Valid PurchasereturnRecordMainPageReqVO pageVO) {
PageResult<PurchasereturnRecordMainDO> pageResult = purchasereturnRecordMainService.getPurchasereturnRecordMainPage(pageVO);
return success(PurchasereturnRecordMainConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordMain:query')")
@ -61,48 +71,6 @@ public class PurchasereturnRecordMainController {
}
return success(result);
}
@PutMapping("/update")
@Operation(summary = "更新采购退货记录主")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:update')")
public CommonResult<Boolean> updatePurchasereturnRecordMain(@Valid @RequestBody PurchasereturnRecordMainUpdateReqVO updateReqVO) {
purchasereturnRecordMainService.updatePurchasereturnRecordMain(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购退货记录主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:delete')")
public CommonResult<Boolean> deletePurchasereturnRecordMain(@RequestParam("id") Long id) {
purchasereturnRecordMainService.deletePurchasereturnRecordMain(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得采购退货记录主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')")
public CommonResult<PurchasereturnRecordMainRespVO> getPurchasereturnRecordMain(@RequestParam("id") Long id) {
PurchasereturnRecordMainDO purchasereturnRecordMain = purchasereturnRecordMainService.getPurchasereturnRecordMain(id);
return success(PurchasereturnRecordMainConvert.INSTANCE.convert(purchasereturnRecordMain));
}
@GetMapping("/list")
@Operation(summary = "获得采购退货记录主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')")
public CommonResult<List<PurchasereturnRecordMainRespVO>> getPurchasereturnRecordMainList(@RequestParam("ids") Collection<Long> ids) {
List<PurchasereturnRecordMainDO> list = purchasereturnRecordMainService.getPurchasereturnRecordMainList(ids);
return success(PurchasereturnRecordMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得采购退货记录主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')")
public CommonResult<PageResult<PurchasereturnRecordMainRespVO>> getPurchasereturnRecordMainPage(@Valid PurchasereturnRecordMainPageReqVO pageVO) {
PageResult<PurchasereturnRecordMainDO> pageResult = purchasereturnRecordMainService.getPurchasereturnRecordMainPage(pageVO);
return success(PurchasereturnRecordMainConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出采购退货记录主 Excel")
@ -111,14 +79,36 @@ public class PurchasereturnRecordMainController {
public void exportPurchasereturnRecordMainExcel(@Valid PurchasereturnRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PurchasereturnRecordMainDO> list = purchasereturnRecordMainService.getPurchasereturnRecordMainList(exportReqVO);
// 导出 Excel
List<PurchasereturnRecordMainExcelVO> datas = PurchasereturnRecordMainConvert.INSTANCE.convertList02(list);
for(PurchasereturnRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购退货记录主.xls", "数据", PurchasereturnRecordMainExcelVO.class, resultList, mapDropDown);
}
private List<PurchasereturnRecordMainExcelVO> getExcelVo(List<PurchasereturnRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
//组装vo
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(8, transferMode);
String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE);
mapDropDown.put(19, interfaceType);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(24, locationType);
mapDropDown.put(25, locationType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(40, inventoryStatus);
String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(43, purchaseReturnReason);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(53, uom);
List<PurchasereturnRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(PurchasereturnRecordMainDO mainDO : list) {
List<PurchasereturnRecordDetailDO> subList = purchasereturnRecordDetailService.selectList(mainDO.getId());
for(PurchasereturnRecordDetailDO detailDO : subList) {
PurchasereturnRecordMainExcelVO vo = PurchasereturnRecordMainConvert.INSTANCE.convert(mainDO, detailDO);
resultList.add(vo);
}
}
ExcelUtils.write(response, "采购退货记录主.xls", "数据", PurchasereturnRecordMainExcelVO.class, datas);
return resultList;
}
}

130
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/vo/PurchasereturnRecordMainExcelVO.java

@ -1,17 +1,13 @@
package com.win.module.wms.controller.purchasereturnRecord.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 com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -47,11 +43,10 @@ public class PurchasereturnRecordMainExcelVO {
private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class)
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "车牌号")
private String vehiclePlateNumber;
@ExcelProperty("从仓库代码")
@ -82,7 +77,7 @@ public class PurchasereturnRecordMainExcelVO {
private String departmentCode;
@ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.INTERFACE_TYPE)
private String interfaceType;
@ExcelProperty("单据号")
@ -94,21 +89,15 @@ public class PurchasereturnRecordMainExcelVO {
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
@ExcelProperty("代码")
private String code;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes;
@ExcelProperty("从库区代码范围")
@ -120,4 +109,103 @@ public class PurchasereturnRecordMainExcelVO {
@ExcelProperty("是否可用")
private String available;
@ExcelProperty("从包装号")
private String fromPackingNumber;
@ExcelProperty("到包装号")
private String toPackingNumber;
@ExcelProperty("从器具号")
private String fromContainerNumber;
@ExcelProperty("从批次")
private String fromBatch;
@ExcelProperty("替代批次")
private String altBatch;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("从库位组代码")
private String fromLocationGroupCode;
@ExcelProperty("从库区代码")
private String fromAreaCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty("到库位组代码")
private String toLocationGroupCode;
@ExcelProperty("到库区代码")
private String toAreaCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty(value = "原因", converter = DictConvert.class)
@DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON)
private String reason;
@ExcelProperty("单价")
private BigDecimal singlePrice;
@ExcelProperty("金额")
private BigDecimal amount;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("子备注")
private String remarkDetail;
@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("任务明细ID")
private String jobDetailId;
@ExcelProperty("到器具号")
private String toContainerNumber;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
@ExcelProperty("到批次")
private String toBatch;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
}

80
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestDetailController.java

@ -1,35 +1,29 @@
package com.win.module.wms.controller.purchasereturnRequest;
import com.win.framework.common.pojo.CommonResult;
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.dto.AdminUserRespDTO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailRespVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import javax.annotation.Resource;
import javax.validation.Valid;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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.purchasereturnRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService;
@Tag(name = "管理后台 - 采购退货申请子")
@RestController
@RequestMapping("/wms/purchasereturn-request-detail")
@ -48,19 +42,7 @@ public class PurchasereturnRequestDetailController {
public CommonResult<Long> createPurchasereturnRequestDetail(@Valid @RequestBody PurchasereturnRequestDetailCreateReqVO createReqVO) {
return success(purchasereturnRequestDetailService.createPurchasereturnRequestDetail(createReqVO));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得采购退货申请子信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestDetail:query')")
public CommonResult<PageResult<PurchasereturnRequestDetailRespVO>> getPurchasereturnRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereturnRequestDetailDO> pageResult = purchasereturnRequestDetailService.getPurchasereturnRequestDetailSenior(conditions);
PageResult<PurchasereturnRequestDetailRespVO> result = PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult);
for(PurchasereturnRequestDetailRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
}
@PutMapping("/update")
@Operation(summary = "更新采购退货申请子")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:update')")
@ -87,15 +69,6 @@ public class PurchasereturnRequestDetailController {
return success(PurchasereturnRequestDetailConvert.INSTANCE.convert(purchasereturnRequestDetail));
}
@GetMapping("/list")
@Operation(summary = "获得采购退货申请子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:query')")
public CommonResult<List<PurchasereturnRequestDetailRespVO>> getPurchasereturnRequestDetailList(@RequestParam("ids") Collection<Long> ids) {
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(ids);
return success(PurchasereturnRequestDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得采购退货申请子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:query')")
@ -104,21 +77,18 @@ public class PurchasereturnRequestDetailController {
return success(PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出采购退货申请子 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereturnRequestDetailExcel(@Valid PurchasereturnRequestDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(exportReqVO);
// 导出 Excel
List<PurchasereturnRequestDetailExcelVO> datas = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list);
for(PurchasereturnRequestDetailExcelVO vo : datas) {
@PostMapping("/senior")
@Operation(summary = "高级搜索获得采购退货申请子信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestDetail:query')")
public CommonResult<PageResult<PurchasereturnRequestDetailRespVO>> getPurchasereturnRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereturnRequestDetailDO> pageResult = purchasereturnRequestDetailService.getPurchasereturnRequestDetailSenior(conditions);
PageResult<PurchasereturnRequestDetailRespVO> result = PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult);
for (PurchasereturnRequestDetailRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "采购退货申请子.xls", "数据", PurchasereturnRequestDetailExcelVO.class, datas);
return success(result);
}
}

162
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java

@ -1,44 +1,44 @@
package com.win.module.wms.controller.purchasereturnRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.*;
import javax.servlet.http.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
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 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.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService;
import org.springframework.web.multipart.MultipartFile;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 采购退货申请主")
@RestController
@ -70,33 +70,6 @@ public class PurchasereturnRequestMainController {
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购退货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:delete')")
public CommonResult<Boolean> deletePurchasereturnRequestMain(@RequestParam("id") Long id) {
purchasereturnRequestMainService.deletePurchasereturnRequestMain(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得采购退货申请主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')")
public CommonResult<PurchasereturnRequestMainRespVO> getPurchasereturnRequestMain(@RequestParam("id") Long id) {
PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id);
return success(PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain));
}
@GetMapping("/list")
@Operation(summary = "获得采购退货申请主列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')")
public CommonResult<List<PurchasereturnRequestMainRespVO>> getPurchasereturnRequestMainList(@RequestParam("ids") Collection<Long> ids) {
List<PurchasereturnRequestMainDO> list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(ids);
return success(PurchasereturnRequestMainConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得采购退货申请主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')")
@ -104,13 +77,14 @@ public class PurchasereturnRequestMainController {
PageResult<PurchasereturnRequestMainDO> pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainPage(pageVO);
return success(PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestMain:query')")
public CommonResult<PageResult<PurchasereturnRequestMainRespVO>> getPurchasereturnRequestMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereturnRequestMainDO> pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainSenior(conditions);
PageResult<PurchasereturnRequestMainRespVO> result = PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult);
for(PurchasereturnRequestMainRespVO vo : result.getList()) {
for (PurchasereturnRequestMainRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
@ -123,16 +97,51 @@ public class PurchasereturnRequestMainController {
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereturnRequestMainExcel(@Valid PurchasereturnRequestMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<PurchasereturnRequestMainDO> list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(exportReqVO);
// 导出 Excel
List<PurchasereturnRequestMainExcelVO> datas = PurchasereturnRequestMainConvert.INSTANCE.convertList02(list);
for(PurchasereturnRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出采购退货申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereturnRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<PurchasereturnRequestMainDO> list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, resultList, mapDropDown);
}
private List<PurchasereturnRequestMainExcelVO> getExcelVo(List<PurchasereturnRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(4, transferMode);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(7, locationType);
mapDropDown.put(8, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(18, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(31, inventoryStatus);
String[] packUnit = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PACK_UNIT);
mapDropDown.put(36, packUnit);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(38, uom);
mapDropDown.put(47, uom);
List<PurchasereturnRequestMainExcelVO> resultList = new ArrayList<>();
// 导出
for(PurchasereturnRequestMainDO mainDO : list) {
List<PurchasereturnRequestDetailDO> subList = purchasereturnRequestDetailService.selectList(mainDO.getId());
for(PurchasereturnRequestDetailDO detailDO : subList) {
PurchasereturnRequestMainExcelVO vo = PurchasereturnRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(mainDO.getCreator()));
vo.setCreator(user.getNickname());
resultList.add(vo);
}
}
ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, datas);
return resultList;
}
@GetMapping("/get-import-template")
@ -141,19 +150,23 @@ public class PurchasereturnRequestMainController {
// 手动创建导出 demo
List<PurchasereturnRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom);
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(4, transferMode);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(7, locationType);
mapDropDown.put(8, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(18, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(11, inventoryStatus);
String[] reason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(13, reason);
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(15, transferMode);
// 输出
mapDropDown.put(31, inventoryStatus);
String[] packUnit = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PACK_UNIT);
mapDropDown.put(36, packUnit);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(38, uom);
mapDropDown.put(47, uom);
ExcelUtils.write(response, "采购退货信息导入模板.xlsx", "采购退货信息列表", PurchasereturnRequestImportVO.class, list, mapDropDown);
}
@PostMapping("/import")
@Operation(summary = "导入采购退货基本信息")
@Parameters({
@ -172,12 +185,13 @@ public class PurchasereturnRequestMainController {
List<PurchasereturnRequestImportErrorVO> errorList = purchasereturnRequestMainService.importPurchasereturnRequestList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {
if (!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("采购退货基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
@GetMapping("/getPurchasereturnRequestById")
@Operation(summary = "APP获得采购退货申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -185,12 +199,10 @@ public class PurchasereturnRequestMainController {
public CommonResult<PurchasereturnRequestMainRespVO> getPurchasereturnRequestById(@RequestParam("id") Long id) {
PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id);
PurchasereturnRequestMainRespVO result = PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain);
if(result==null) {
if (result == null) {
return success(result);
};
PurchasereturnRequestDetailExportReqVO reqVO = new PurchasereturnRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(reqVO);
}
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.selectList(result.getId());
List<PurchasereturnRequestDetailExcelVO> vos = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list);
result.setSubList(vos);
return success(result);

111
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainExcelVO.java

@ -1,16 +1,13 @@
package com.win.module.wms.controller.purchasereturnRequest.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.win.framework.excel.core.annotations.DictFormat;
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;
/**
@ -37,11 +34,10 @@ public class PurchasereturnRequestMainExcelVO {
private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class)
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "车牌号")
private String vehiclePlateNumber;
@ExcelProperty("从仓库代码")
@ -59,12 +55,6 @@ public class PurchasereturnRequestMainExcelVO {
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间")
private LocalDateTime requestTime;
@ -75,17 +65,11 @@ public class PurchasereturnRequestMainExcelVO {
private String departmentCode;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.REQUEST_STATUS)
private String status;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes;
@ExcelProperty("从库区代码范围")
@ -95,7 +79,7 @@ public class PurchasereturnRequestMainExcelVO {
private String fromDockCode;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes;
@ExcelProperty("到库区代码范围")
@ -113,4 +97,79 @@ public class PurchasereturnRequestMainExcelVO {
@ExcelProperty("直接生成记录")
private String directCreateRecord;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty( "来源库位")
private String fromLocationCode;
@ExcelProperty("替代批次")
private String altBatch;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty(value = "原因", converter = DictConvert.class)
@DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON)
private String reason;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("子备注")
private String remarkDetail;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@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 LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
}

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

@ -119,8 +119,7 @@ public class PutawayRequestMainController {
List<PutawayRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "上架申请主.xls", "上架申请数据", PutawayRequestMainExcelVO.class, resultList, mapDropDown);
}
@GetMapping("/export-excel-senior")
@PostMapping("/export-excel-senior")
@Operation(summary = "导出上架申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-main:export')")
@OperateLog(type = EXPORT)
@ -167,11 +166,20 @@ public class PutawayRequestMainController {
// 手动创建导出 demo
List<PutawayRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(8, inventoryStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(6, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(11, requestStatus);
String[] inspectType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INSPECT_TYPE);
mapDropDown.put(15, inspectType);
String[] nextAction = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.NEXT_ACTION);
mapDropDown.put(16, nextAction);
String[] sampleMethod = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SAMPLE_METHOD);
mapDropDown.put(17, sampleMethod);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom);
// 输出
mapDropDown.put(18, uom);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(28, inventoryStatus);
ExcelUtils.write(response, "上架申请信息导入模板.xlsx", "上架申请信息列表", PutawayRequestImportVO.class, list, mapDropDown);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java

@ -137,7 +137,7 @@ public class WorkMainController {
ExcelUtils.write(response, "生产订单.xls", "数据", WorkMainExcelVO.class, resultList, mapDropDown);
}
@GetMapping("/export-excel-senior")
@PostMapping("/export-excel-senior")
@Operation(summary = "导出生产订单 Excel")
@PreAuthorize("@ss.hasPermission('wms:work-main:export')")
@OperateLog(type = EXPORT)

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobDetailConvert.java

@ -1,16 +1,16 @@
package com.win.module.wms.convert.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExcelVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import java.util.List;
/**
* 采购退货任务子 Convert
@ -34,4 +34,6 @@ public interface PurchasereturnJobDetailConvert {
List<PurchasereturnJobDetailExcelVO> convertList02(List<PurchasereturnJobDetailDO> list);
PurchasereturnJobDetailDO convert(PurchasereturnRequestDetailDO bean);
}

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobMainConvert.java

@ -1,16 +1,19 @@
package com.win.module.wms.convert.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainCreateReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExcelVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainRespVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import java.util.List;
/**
* 采购退货任务主 Convert
@ -34,4 +37,17 @@ public interface PurchasereturnJobMainConvert {
List<PurchasereturnJobMainExcelVO> convertList02(List<PurchasereturnJobMainDO> list);
PurchasereturnJobMainDO convert(PurchasereturnRequestMainDO bean);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
PurchasereturnJobMainExcelVO convert(PurchasereturnJobMainDO mainDO, PurchasereturnJobDetailDO detailDO);
}

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRecord/PurchasereturnRecordMainConvert.java

@ -1,16 +1,18 @@
package com.win.module.wms.convert.purchasereturnRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExcelVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import java.util.List;
/**
* 采购退货记录主 Convert
@ -34,4 +36,15 @@ public interface PurchasereturnRecordMainConvert {
List<PurchasereturnRecordMainExcelVO> convertList02(List<PurchasereturnRecordMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.interfaceType", target = "interfaceType"),
@Mapping(source = "mainDO.code", target = "code"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
})
PurchasereturnRecordMainExcelVO convert(PurchasereturnRecordMainDO mainDO, PurchasereturnRecordDetailDO detailDO);
}

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRequest/PurchasereturnRequestMainConvert.java

@ -1,19 +1,15 @@
package com.win.module.wms.convert.purchasereturnRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import java.util.List;
/**
* 采购退货申请主 Convert
@ -36,10 +32,22 @@ public interface PurchasereturnRequestMainConvert {
PageResult<PurchasereturnRequestMainRespVO> convertPage(PageResult<PurchasereturnRequestMainDO> page);
List<PurchasereturnRequestMainExcelVO> convertList02(List<PurchasereturnRequestMainDO> list);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
PurchasereturnRequestImportErrorVO convert(PurchasereturnRequestMainCreateReqVO mainVo, PurchasereturnRequestDetailDO detailDo);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
PurchasereturnRequestMainExcelVO convert(PurchasereturnRequestMainDO mainDO, PurchasereturnRequestDetailDO detailDO);
PurchasereturnRequestMainDO convert(PurchasereturnRequestMainBaseVO baseVO);
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobDetailDO.java

@ -1,11 +1,13 @@
package com.win.module.wms.dal.dataobject.purchasereturnJob;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 采购退货任务子 DO
@ -24,8 +26,8 @@ public class PurchasereturnJobDetailDO extends BaseDO {
/**
* id
*/
@TableId(type = IdType.INPUT)
private String id;
@TableId(type = IdType.AUTO)
private Long id;
/**
* 从货主代码
*/

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobMainDO.java

@ -1,16 +1,13 @@
package com.win.module.wms.dal.dataobject.purchasereturnJob;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import 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.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 采购退货任务主 DO
@ -29,8 +26,8 @@ public class PurchasereturnJobMainDO extends BaseDO {
/**
* id
*/
@TableId(type = IdType.INPUT)
private String id;
@TableId(type = IdType.AUTO)
private Long id;
/**
* 申请单号
*/

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnRecord/PurchasereturnRecordDetailDO.java

@ -1,13 +1,12 @@
package com.win.module.wms.dal.dataobject.purchasereturnRecord;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 采购退货记录子 DO
@ -103,7 +102,7 @@ public class PurchasereturnRecordDetailDO extends BaseDO {
/**
* 主表ID
*/
private String masterId;
private Long masterId;
/**
* 单据号
*/

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java

@ -51,8 +51,7 @@ public interface PurchasereceiptRecordMainMapper extends BaseMapperX<Purchaserec
.eqIfPresent(PurchasereceiptRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereceiptRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable())
.orderByDesc(PurchasereceiptRecordMainDO::getId));
.eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable()));
}
default PageResult<PurchasereceiptRecordMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
@ -88,8 +87,7 @@ public interface PurchasereceiptRecordMainMapper extends BaseMapperX<Purchaserec
.eqIfPresent(PurchasereceiptRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereceiptRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable())
.orderByDesc(PurchasereceiptRecordMainDO::getId));
.eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable()));
}
default List<PurchasereceiptRecordMainDO> selectSeniorList(CustomConditions conditions) {

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java

@ -49,17 +49,12 @@ public interface PurchasereceiptRequestMainMapper extends BaseMapperX<Purchasere
.eqIfPresent(PurchasereceiptRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(PurchasereceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(PurchasereceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(PurchasereceiptRequestMainDO::getVehiclePlateNumber, reqVO.getVehiclePlateNumber())
.orderByDesc(PurchasereceiptRequestMainDO::getId));
.eqIfPresent(PurchasereceiptRequestMainDO::getVehiclePlateNumber, reqVO.getVehiclePlateNumber()));
}
default PageResult<PurchasereceiptRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default PurchasereceiptRequestMainDO selectBySupplierCode(String supplierCode) {
return selectOne(PurchasereceiptRequestMainDO::getSupplierCode,supplierCode);
}
default PurchasereceiptRequestMainDO selectByNumber(String number) {
return selectOne(PurchasereceiptRequestMainDO::getNumber, number);
}

35
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java

@ -1,17 +1,16 @@
package com.win.module.wms.dal.mysql.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 采购退货任务子 Mapper
*
@ -52,33 +51,9 @@ public interface PurchasereturnJobDetailMapper extends BaseMapperX<Purchaseretur
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default List<PurchasereturnJobDetailDO> selectList(PurchasereturnJobDetailExportReqVO reqVO) {
default List<PurchasereturnJobDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PurchasereturnJobDetailDO>()
.eqIfPresent(PurchasereturnJobDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(PurchasereturnJobDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
.eqIfPresent(PurchasereturnJobDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(PurchasereturnJobDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(PurchasereturnJobDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(PurchasereturnJobDetailDO::getAltBatch, reqVO.getAltBatch())
.eqIfPresent(PurchasereturnJobDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(PurchasereturnJobDetailDO::getToLocationCode, reqVO.getToLocationCode())
.eqIfPresent(PurchasereturnJobDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(PurchasereturnJobDetailDO::getPoNumber, reqVO.getPoNumber())
.eqIfPresent(PurchasereturnJobDetailDO::getPoLine, reqVO.getPoLine())
.eqIfPresent(PurchasereturnJobDetailDO::getReason, reqVO.getReason())
.eqIfPresent(PurchasereturnJobDetailDO::getItemCode, reqVO.getItemCode())
.likeIfPresent(PurchasereturnJobDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(PurchasereturnJobDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(PurchasereturnJobDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(PurchasereturnJobDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(PurchasereturnJobDetailDO::getQty, reqVO.getQty())
.eqIfPresent(PurchasereturnJobDetailDO::getUom, reqVO.getUom())
.eqIfPresent(PurchasereturnJobDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(PurchasereturnJobDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(PurchasereturnJobDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PurchasereturnJobDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(PurchasereturnJobDetailDO::getToOwnerCode, reqVO.getToOwnerCode())
.orderByDesc(PurchasereturnJobDetailDO::getId));
.eq(PurchasereturnJobDetailDO::getMasterId, masterId));
}
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java

@ -1,17 +1,19 @@
package com.win.module.wms.dal.mysql.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List;
/**
* 采购退货任务主 Mapper
*
@ -67,12 +69,19 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX<PurchasereturnJ
.eqIfPresent(PurchasereturnJobMainDO::getAllowContinuousScanning, reqVO.getAllowContinuousScanning())
.eqIfPresent(PurchasereturnJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.orderByDesc(PurchasereturnJobMainDO::getId));
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber()));
}
default PageResult<PurchasereturnJobMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default Long selectByRequestNumber(String requestNumber) {
return selectCount(new LambdaQueryWrapperX<PurchasereturnJobMainDO>()
.eq(PurchasereturnJobMainDO::getRequestNumber, requestNumber)
.ne(PurchasereturnJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
default List<PurchasereturnJobMainDO> selectList(PurchasereturnJobMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PurchasereturnJobMainDO>()
.eqIfPresent(PurchasereturnJobMainDO::getRequestNumber, reqVO.getRequestNumber())
@ -122,6 +131,7 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX<PurchasereturnJ
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.orderByDesc(PurchasereturnJobMainDO::getId));
}
/**
*根据类型数组查询任务数量
* @param types
@ -133,4 +143,21 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX<PurchasereturnJ
}
default List<PurchasereturnJobMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
/**
* 根据类型数和申请单号组查询任务数量
* @param types
* @param requestNumber
* @return
*/
default Long selectListCount(Collection<String> types, String requestNumber) {
return selectCount(new LambdaQueryWrapperX<PurchasereturnJobMainDO>()
.in(PurchasereturnJobMainDO::getStatus, types)
.eq(PurchasereturnJobMainDO::getRequestNumber, requestNumber));
}
}

46
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java

@ -1,17 +1,16 @@
package com.win.module.wms.dal.mysql.purchasereturnRecord;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 采购退货记录子 Mapper
*
@ -62,44 +61,9 @@ public interface PurchasereturnRecordDetailMapper extends BaseMapperX<Purchasere
default PageResult<PurchasereturnRecordDetailDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default List<PurchasereturnRecordDetailDO> selectList(PurchasereturnRecordDetailExportReqVO reqVO) {
default List<PurchasereturnRecordDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PurchasereturnRecordDetailDO>()
.eqIfPresent(PurchasereturnRecordDetailDO::getFromPackingNumber, reqVO.getFromPackingNumber())
.eqIfPresent(PurchasereturnRecordDetailDO::getToPackingNumber, reqVO.getToPackingNumber())
.eqIfPresent(PurchasereturnRecordDetailDO::getFromContainerNumber, reqVO.getFromContainerNumber())
.eqIfPresent(PurchasereturnRecordDetailDO::getFromBatch, reqVO.getFromBatch())
.eqIfPresent(PurchasereturnRecordDetailDO::getAltBatch, reqVO.getAltBatch())
.eqIfPresent(PurchasereturnRecordDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getFromLocationGroupCode, reqVO.getFromLocationGroupCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getFromAreaCode, reqVO.getFromAreaCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getToLocationCode, reqVO.getToLocationCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getToLocationGroupCode, reqVO.getToLocationGroupCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getToAreaCode, reqVO.getToAreaCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(PurchasereturnRecordDetailDO::getPoNumber, reqVO.getPoNumber())
.eqIfPresent(PurchasereturnRecordDetailDO::getPoLine, reqVO.getPoLine())
.eqIfPresent(PurchasereturnRecordDetailDO::getReason, reqVO.getReason())
.eqIfPresent(PurchasereturnRecordDetailDO::getSinglePrice, reqVO.getSinglePrice())
.eqIfPresent(PurchasereturnRecordDetailDO::getAmount, reqVO.getAmount())
.eqIfPresent(PurchasereturnRecordDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(PurchasereturnRecordDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(PurchasereturnRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PurchasereturnRecordDetailDO::getCreator, reqVO.getCreator())
.likeIfPresent(PurchasereturnRecordDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(PurchasereturnRecordDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(PurchasereturnRecordDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(PurchasereturnRecordDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getQty, reqVO.getQty())
.eqIfPresent(PurchasereturnRecordDetailDO::getUom, reqVO.getUom())
.eqIfPresent(PurchasereturnRecordDetailDO::getCode, reqVO.getCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(PurchasereturnRecordDetailDO::getJobDetailId, reqVO.getJobDetailId())
.eqIfPresent(PurchasereturnRecordDetailDO::getToContainerNumber, reqVO.getToContainerNumber())
.eqIfPresent(PurchasereturnRecordDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getToOwnerCode, reqVO.getToOwnerCode())
.eqIfPresent(PurchasereturnRecordDetailDO::getToBatch, reqVO.getToBatch())
.orderByDesc(PurchasereturnRecordDetailDO::getId));
.eq(PurchasereturnRecordDetailDO::getMasterId, masterId));
}
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.purchasereturnRecord;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 采购退货记录主 Mapper
*
@ -52,8 +52,7 @@ public interface PurchasereturnRecordMainMapper extends BaseMapperX<Purchaseretu
.eqIfPresent(PurchasereturnRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereturnRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable())
.orderByDesc(PurchasereturnRecordMainDO::getId));
.eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable()));
}
default PageResult<PurchasereturnRecordMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
@ -90,8 +89,11 @@ public interface PurchasereturnRecordMainMapper extends BaseMapperX<Purchaseretu
.eqIfPresent(PurchasereturnRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereturnRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable())
.orderByDesc(PurchasereturnRecordMainDO::getId));
.eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable()));
}
default List<PurchasereturnRecordMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
}

40
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java

@ -1,17 +1,16 @@
package com.win.module.wms.dal.mysql.purchasereturnRequest;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 采购退货申请子 Mapper
*
@ -46,41 +45,14 @@ public interface PurchasereturnRequestDetailMapper extends BaseMapperX<Purchaser
.betweenIfPresent(PurchasereturnRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(PurchasereturnRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(PurchasereturnRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode())
.orderByDesc(PurchasereturnRequestDetailDO::getId));
.eqIfPresent(PurchasereturnRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode()));
}
default PageResult<PurchasereturnRequestDetailDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default List<PurchasereturnRequestDetailDO> selectList(PurchasereturnRequestDetailExportReqVO reqVO) {
default List<PurchasereturnRequestDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PurchasereturnRequestDetailDO>()
.eqIfPresent(PurchasereturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(PurchasereturnRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(PurchasereturnRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(PurchasereturnRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(PurchasereturnRequestDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getAltBatch, reqVO.getAltBatch())
.eqIfPresent(PurchasereturnRequestDetailDO::getToLocationCode, reqVO.getToLocationCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(PurchasereturnRequestDetailDO::getPoNumber, reqVO.getPoNumber())
.eqIfPresent(PurchasereturnRequestDetailDO::getPoLine, reqVO.getPoLine())
.eqIfPresent(PurchasereturnRequestDetailDO::getReason, reqVO.getReason())
.eqIfPresent(PurchasereturnRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(PurchasereturnRequestDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(PurchasereturnRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PurchasereturnRequestDetailDO::getCreator, reqVO.getCreator())
.likeIfPresent(PurchasereturnRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(PurchasereturnRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(PurchasereturnRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(PurchasereturnRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getQty, reqVO.getQty())
.eqIfPresent(PurchasereturnRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(PurchasereturnRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(PurchasereturnRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(PurchasereturnRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode())
.orderByDesc(PurchasereturnRequestDetailDO::getId));
.eq(PurchasereturnRequestDetailDO::getMasterId, masterId));
}
}

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java

@ -1,19 +1,17 @@
package com.win.module.wms.dal.mysql.purchasereturnRequest;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 采购退货申请主 Mapper
*
@ -55,12 +53,13 @@ public interface PurchasereturnRequestMainMapper extends BaseMapperX<Purchaseret
.eqIfPresent(PurchasereturnRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.orderByDesc(PurchasereturnRequestMainDO::getId));
}
default PageResult<PurchasereturnRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}
default PurchasereturnRequestMainDO selectRecordNumberAndSupplierCode(String purchaseReceiptRecordNumber, String supplierCode) {
return selectOne(PurchasereturnRequestMainDO::getPurchaseReceiptRecordNumber, purchaseReceiptRecordNumber,PurchasereturnRequestMainDO::getSupplierCode,supplierCode);
default PurchasereturnRequestMainDO selectByNumber(String number) {
return selectOne(PurchasereturnRequestMainDO::getNumber, number);
}
default List<PurchasereturnRequestMainDO> selectList(PurchasereturnRequestMainExportReqVO reqVO) {
@ -97,4 +96,8 @@ public interface PurchasereturnRequestMainMapper extends BaseMapperX<Purchaseret
.orderByDesc(PurchasereturnRequestMainDO::getId));
}
default List<PurchasereturnRequestMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java

@ -14,14 +14,6 @@ import java.util.List;
*/
public interface PurchasereceiptJobDetailService {
/**
* 获得用高级搜索采购收货任务子分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions);
/**
* 获得采购收货任务子分页
*
@ -30,6 +22,14 @@ public interface PurchasereceiptJobDetailService {
*/
PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO);
/**
* 获得用高级搜索采购收货任务子分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions);
/**
* 根据主表id查询
* @param masterId

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java

@ -23,6 +23,11 @@ public class PurchasereceiptJobDetailServiceImpl implements PurchasereceiptJobDe
@Resource
private PurchasereceiptJobDetailMapper purchasereceiptJobDetailMapper;
@Override
public PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO) {
return purchasereceiptJobDetailMapper.selectPage(pageReqVO);
}
@Override
public PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions) {
return purchasereceiptJobDetailMapper.selectSenior(conditions);
@ -33,9 +38,4 @@ public class PurchasereceiptJobDetailServiceImpl implements PurchasereceiptJobDe
return purchasereceiptJobDetailMapper.selectList(masterId);
}
@Override
public PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO) {
return purchasereceiptJobDetailMapper.selectPage(pageReqVO);
}
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java

@ -20,14 +20,6 @@ import java.util.Map;
*/
public interface PurchasereceiptJobMainService {
/**
* 获得用高级搜索户分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions);
/**
* 获得采购收货任务主
*
@ -44,6 +36,14 @@ public interface PurchasereceiptJobMainService {
*/
PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainPage(PurchasereceiptJobMainPageReqVO pageReqVO);
/**
* 获得用高级搜索户分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions);
/**
* 获得采购收货任务主列表, 用于 Excel 导出
*

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

@ -108,14 +108,6 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
return purchasereceiptJobMainMapper.selectSenior(conditions);
}
private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id);
if (purchasereceiptJobMainDO == null) {
throw exception(PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS);
}
return purchasereceiptJobMainDO;
}
@Override
public PurchasereceiptJobMainDO getPurchasereceiptJobMain(Long id) {
return purchasereceiptJobMainMapper.selectById(id);
@ -399,4 +391,13 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE);
return result;
}
private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id);
if (purchasereceiptJobMainDO == null) {
throw exception(PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS);
}
return purchasereceiptJobMainDO;
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java

@ -114,7 +114,7 @@ public class PurchasereceiptRequestDetailServiceImpl implements PurchasereceiptR
*/
private void validatePurchasereceiptRequestDetailCreate(PurchasereceiptRequestDetailDO detailDo) {
ItembasicDO itembasicDO = this.validateItem(detailDo);
if(!itembasicDO.getUom().equals(itembasicDO.getUom())) {
if(!itembasicDO.getUom().equals(detailDo.getUom())) {
throw exception(ITEMBASIC_UOM_EXCEPTION, itembasicDO.getUom(), itembasicDO.getUom());
}
this.validateItemPacking(detailDo);

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java

@ -39,13 +39,6 @@ public interface PurchasereceiptRequestMainService {
*/
Integer updatePurchasereceiptRequestMain(@Valid PurchasereceiptRequestMainUpdateReqVO updateReqVO);
/**
* 删除采购收货申请主
*
* @param id 编号
*/
Integer deletePurchasereceiptRequestMain(Long id);
/**
* 获得采购收货申请主
*

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

@ -169,26 +169,6 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
return purchasereceiptRequestMainMapper.selectSenior(conditions);
}
@Override
@Transactional
public Integer deletePurchasereceiptRequestMain(Long id) {
// 校验存在
PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = validatePurchasereceiptRequestMainExists(id);
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(existPurchasereceiptRequestMainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
//增加操作记录
trendsApi.createTrends(id, "purchasereceiptRequestMain", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.DELETE);
// 删除子表数据
Map<String, Object> map = new HashMap<>();
map.put("master_id", id);
//删除子表
purchasereceiptRequestDetailMapper.deleteByMap(map);
// 删除主表
return purchasereceiptRequestMainMapper.deleteById(id);
}
private PurchasereceiptRequestMainDO validatePurchasereceiptRequestMainExists(Long id) {
PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectById(id);
if (existPurchasereceiptRequestMainDO == null) {

57
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java

@ -1,15 +1,11 @@
package com.win.module.wms.service.purchasereturnJob;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/**
* 采购退货任务子 Service 接口
@ -18,14 +14,6 @@ import com.win.framework.common.pojo.PageResult;
*/
public interface PurchasereturnJobDetailService {
/**
* 创建采购退货任务子
*
* @param createReqVO 创建信息
* @return 编号
*/
String createPurchasereturnJobDetail(@Valid PurchasereturnJobDetailCreateReqVO createReqVO);
/**
* 获得用高级搜索采购退货任务子分页列表
*
@ -34,36 +22,6 @@ public interface PurchasereturnJobDetailService {
*/
PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailSenior(CustomConditions conditions);
/**
* 更新采购退货任务子
*
* @param updateReqVO 更新信息
*/
void updatePurchasereturnJobDetail(@Valid PurchasereturnJobDetailUpdateReqVO updateReqVO);
/**
* 删除采购退货任务子
*
* @param id 编号
*/
void deletePurchasereturnJobDetail(String id);
/**
* 获得采购退货任务子
*
* @param id 编号
* @return 采购退货任务子
*/
PurchasereturnJobDetailDO getPurchasereturnJobDetail(String id);
/**
* 获得采购退货任务子列表
*
* @param ids 编号
* @return 采购退货任务子列表
*/
List<PurchasereturnJobDetailDO> getPurchasereturnJobDetailList(Collection<String> ids);
/**
* 获得采购退货任务子分页
*
@ -73,11 +31,10 @@ public interface PurchasereturnJobDetailService {
PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO);
/**
* 获得采购退货任务子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 采购退货任务子列表
* 获得采购退货任务子列表,
* @param masterId
* @return
*/
List<PurchasereturnJobDetailDO> getPurchasereturnJobDetailList(PurchasereturnJobDetailExportReqVO exportReqVO);
List<PurchasereturnJobDetailDO> selectList(Long masterId);
}

67
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java

@ -1,24 +1,15 @@
package com.win.module.wms.service.purchasereturnJob;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO;
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.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 采购退货任务子 Service 实现类
@ -33,58 +24,18 @@ public class PurchasereturnJobDetailServiceImpl implements PurchasereturnJobDeta
private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper;
@Override
public String createPurchasereturnJobDetail(PurchasereturnJobDetailCreateReqVO createReqVO) {
// 插入
PurchasereturnJobDetailDO purchasereturnJobDetail = PurchasereturnJobDetailConvert.INSTANCE.convert(createReqVO);
purchasereturnJobDetailMapper.insert(purchasereturnJobDetail);
// 返回
return purchasereturnJobDetail.getId();
public PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO) {
return purchasereturnJobDetailMapper.selectPage(pageReqVO);
}
@Override
public void updatePurchasereturnJobDetail(PurchasereturnJobDetailUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereturnJobDetailExists(updateReqVO.getId().toString());
// 更新
PurchasereturnJobDetailDO updateObj = PurchasereturnJobDetailConvert.INSTANCE.convert(updateReqVO);
purchasereturnJobDetailMapper.updateById(updateObj);
}
@Override
public PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailSenior(CustomConditions conditions) {
return purchasereturnJobDetailMapper.selectSenior(conditions);
}
@Override
public void deletePurchasereturnJobDetail(String id) {
// 校验存在
validatePurchasereturnJobDetailExists(id);
// 删除
purchasereturnJobDetailMapper.deleteById(id);
}
private void validatePurchasereturnJobDetailExists(String id) {
if (purchasereturnJobDetailMapper.selectById(id) == null) {
throw exception(PURCHASERETURN_JOB_DETAIL_NOT_EXISTS);
}
}
@Override
public PurchasereturnJobDetailDO getPurchasereturnJobDetail(String id) {
return purchasereturnJobDetailMapper.selectById(id);
}
@Override
public List<PurchasereturnJobDetailDO> getPurchasereturnJobDetailList(Collection<String> ids) {
return purchasereturnJobDetailMapper.selectBatchIds(ids);
}
@Override
public PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO) {
return purchasereturnJobDetailMapper.selectPage(pageReqVO);
}
@Override
public List<PurchasereturnJobDetailDO> getPurchasereturnJobDetailList(PurchasereturnJobDetailExportReqVO exportReqVO) {
return purchasereturnJobDetailMapper.selectList(exportReqVO);
public List<PurchasereturnJobDetailDO> selectList(Long masterId) {
return purchasereturnJobDetailMapper.selectList(masterId);
}
}

98
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java

@ -1,14 +1,17 @@
package com.win.module.wms.service.purchasereturnJob;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import org.springframework.lang.Nullable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 采购退货任务主 Service 接口
*
@ -17,19 +20,13 @@ import org.springframework.lang.Nullable;
public interface PurchasereturnJobMainService {
/**
* 创建采购退货任务主
* 获得采购退货任务主分页
*
* @param createReqVO 创建信息
* @return 编号
* @param pageReqVO 分页查询
* @return 采购退货任务主分页
*/
String createPurchasereturnJobMain(@Valid PurchasereturnJobMainCreateReqVO createReqVO);
PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO);
/**
* 更新采购退货任务主
*
* @param updateReqVO 更新信息
*/
void updatePurchasereturnJobMain(@Valid PurchasereturnJobMainUpdateReqVO updateReqVO);
/**
* 获得用高级搜索采购退货任务主分页列表
*
@ -38,37 +35,6 @@ public interface PurchasereturnJobMainService {
*/
PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions);
/**
* 删除采购退货任务主
*
* @param id 编号
*/
void deletePurchasereturnJobMain(String id);
/**
* 获得采购退货任务主
*
* @param id 编号
* @return 采购退货任务主
*/
PurchasereturnJobMainDO getPurchasereturnJobMain(String id);
/**
* 获得采购退货任务主列表
*
* @param ids 编号
* @return 采购退货任务主列表
*/
List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(Collection<String> ids);
/**
* 获得采购退货任务主分页
*
* @param pageReqVO 分页查询
* @return 采购退货任务主分页
*/
PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO);
/**
* 获得采购退货任务主列表, 用于 Excel 导出
*
@ -76,6 +42,7 @@ public interface PurchasereturnJobMainService {
* @return 采购退货任务主列表
*/
List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO);
/**
* 校验任务状态正确
*@author chenfang
@ -85,6 +52,14 @@ public interface PurchasereturnJobMainService {
*/
public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus);
/**
* 获得校验任务主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 校验申请主列表
*/
List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(CustomConditions conditions);
/**
* 获得采购退货任务主
*
@ -94,9 +69,38 @@ public interface PurchasereturnJobMainService {
PurchasereturnJobMainDO getPurchasereturnJobMain(Long id);
/**
*根据任务状态获取任务数量
* 根据任务状态获取任务数量
* @param types 任务状态数组
* @return
*/
Map<String,Integer> getCountByStatus(@Nullable Collection<String> types);
/**
* 承接任务
* @param id
* @return
*/
Integer acceptPurchasereturnJobMain(Long id);
/**
* 取消承接任务
* @param id
* @return
*/
Integer abandonPurchasereturnJobMain(Long id);
/**
* 关闭任务
* @param id
* @return
*/
Integer closePurchasereturnJobMain(Long id);
/**
* 执行任务
* @param purchasereturnJobMainUpdateReqVO
* @return
*/
Integer executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO);
}

281
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java

@ -1,23 +1,52 @@
package com.win.module.wms.service.purchasereturnJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.*;
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.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.documentSwitch.SwitchService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert;
import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper;
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.*;
/**
@ -32,51 +61,36 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
@Resource
private PurchasereturnJobMainMapper purchasereturnJobMainMapper;
@Resource
private PurchasereturnJobDetailService purchasereturnJobDetailService;
@Resource
private SupplierdeliverRecordMainService supplierdeliverRecordMainService;
@Override
public String createPurchasereturnJobMain(PurchasereturnJobMainCreateReqVO createReqVO) {
// 插入
PurchasereturnJobMainDO purchasereturnJobMain = PurchasereturnJobMainConvert.INSTANCE.convert(createReqVO);
purchasereturnJobMainMapper.insert(purchasereturnJobMain);
// 返回
return purchasereturnJobMain.getId();
}
@Override
public void updatePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereturnJobMainExists(updateReqVO.getId().toString());
// 更新
PurchasereturnJobMainDO updateObj = PurchasereturnJobMainConvert.INSTANCE.convert(updateReqVO);
purchasereturnJobMainMapper.updateById(updateObj);
}
@Resource
private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper;
@Resource
private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper;
@Resource
private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper;
@Resource
private TransactionService transactionService;
@Resource
private PurchaseMainService purchaseMainService;
@Resource
private SwitchService switchService;
@Resource
private ExpectoutService expectoutService;
@Resource
private AdminUserApi userApi;
@Resource
private TrendsApi trendsApi;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private JobUtils jobUtils;
@Override
public void deletePurchasereturnJobMain(String id) {
// 校验存在
validatePurchasereturnJobMainExists(id);
// 删除
purchasereturnJobMainMapper.deleteById(id);
}
@Override
public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions) {
return purchasereturnJobMainMapper.selectSenior(conditions);
}
private void validatePurchasereturnJobMainExists(String id) {
if (purchasereturnJobMainMapper.selectById(id) == null) {
throw exception(PURCHASERETURN_JOB_MAIN_NOT_EXISTS);
}
}
@Override
public PurchasereturnJobMainDO getPurchasereturnJobMain(String id) {
return purchasereturnJobMainMapper.selectById(id);
}
@Override
public List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(Collection<String> ids) {
return purchasereturnJobMainMapper.selectBatchIds(ids);
}
@Override
public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO) {
@ -87,36 +101,43 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
public List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO) {
return purchasereturnJobMainMapper.selectList(exportReqVO);
}
/**
* 调用校验供应商发货记录方法
*
* @param pasnNumber 发货单号
* @param pitemCode 物品代码
* @param ppoNumber 订单号
* @param ppoLine 订单行
* @param psupplierCode 发货单号
* @param pitemCode 物品代码
* @param ppoNumber 订单号
* @param ppoLine 订单行
* @return 供应商发货记录子
*/
public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordDetailDoExist(String psupplierCode,String pnumber, String pitemCode, String ppoNumber, String ppoLine) {
SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordMainService.selectSupplierdeliverRecordMainDO(psupplierCode,pnumber, pitemCode, ppoNumber, ppoLine);
if(supplierdeliverRecordDetailDO != null){
public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordDetailDoExist(String psupplierCode, String pnumber, String pitemCode, String ppoNumber, String ppoLine) {
SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordMainService.selectSupplierdeliverRecordMainDO(psupplierCode, pnumber, pitemCode, ppoNumber, ppoLine);
if (supplierdeliverRecordDetailDO != null) {
return supplierdeliverRecordDetailDO;
}else {
} else {
throw exception(SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS);
}
}
@Override
public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("number",pnumber);
queryWrapper.eq("status",pstatus);
QueryWrapper<PurchasereturnJobMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", pnumber);
queryWrapper.eq("status", pstatus);
PurchasereturnJobMainDO purchasereturnJobMainDO = purchasereturnJobMainMapper.selectOne(queryWrapper);
if(purchasereturnJobMainDO != null){
if (purchasereturnJobMainDO != null) {
return purchasereturnJobMainDO;
}else {
} else {
throw exception(PURCHASERETURN_JOB_MAIN_STATUS_ERROR);
}
}
@Override
public List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(CustomConditions conditions) {
return purchasereturnJobMainMapper.selectSeniorList(conditions);
}
@Override
public PurchasereturnJobMainDO getPurchasereturnJobMain(Long id) {
return purchasereturnJobMainMapper.selectById(id);
@ -131,4 +152,144 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
return map;
}
@Override
@Transactional
public Integer acceptPurchasereturnJobMain(Long id) {
PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus());
if(!jobStatusState.accept()) {
throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR);
}
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode());
purchasereturnJobMainDO.setAcceptUserId(String.valueOf(userId));
purchasereturnJobMainDO.setAcceptUserName(userRespDTO.getNickname());
purchasereturnJobMainDO.setAcceptTime(LocalDateTime.now());
trendsApi.createTrends(id, "purchasereturnJob", "承接了采购退货任务", TrendsTypeEnum.UPDATE);
return purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO);
}
@Override
@Transactional
public Integer abandonPurchasereturnJobMain(Long id) {
PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus());
if(!jobStatusState.cancelAccept()) {
throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR);
}
purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode());
purchasereturnJobMainDO.setAcceptUserId(null);
purchasereturnJobMainDO.setAcceptUserName(null);
purchasereturnJobMainDO.setAcceptTime(null);
trendsApi.createTrends(id, "purchasereturnJob", "取消了采购退货任务", TrendsTypeEnum.UPDATE);
return purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO);
}
@Override
@Transactional
public Integer closePurchasereturnJobMain(Long id) {
PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus());
if(!jobStatusState.close()) {
throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR);
}
purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode());
trendsApi.createTrends(id, "purchasereturnJob", "关闭了采购退货任务", TrendsTypeEnum.UPDATE);
return purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO);
}
@Override
@Transactional
public Integer executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO) {
//查询数据
PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(purchasereturnJobMainUpdateReqVO.getId());
List<PurchasereturnJobDetailDO> subList = purchasereturnJobDetailService.selectList(purchasereturnJobMainDO.getId());
JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus());
boolean flag = jobStatusState.execute();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR);
}
//更新完成信息
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode());
purchasereturnJobMainDO.setCompleteTime(LocalDateTime.now());
purchasereturnJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
purchasereturnJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
int result = purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO);
//创建采购收货记录主表
PurchasereturnRecordMainDO purchasereturnRecordMainDO = new PurchasereturnRecordMainDO();
BeanUtils.copyProperties(purchasereturnJobMainDO, purchasereturnRecordMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_RECORD.getCode());
purchasereturnRecordMainDO.setNumber(number);
purchasereturnRecordMainDO.setJobNumber(purchasereturnJobMainDO.getNumber());
purchasereturnRecordMainDO.setId(null);
purchasereturnRecordMainMapper.insert(purchasereturnRecordMainDO);
List<PurchasereturnJobDetailUpdateReqVO> purchasereturnJobDetailUpdateReqVOList = purchasereturnJobMainUpdateReqVO.getSubList();
//退货记录子
List<PurchasereturnRecordDetailDO> purchasereturnRecordDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(PurchasereturnJobDetailDO purchasereturnJobDetailDO : subList) {
PurchasereturnRecordDetailDO purchasereturnRecordDetailDO = new PurchasereturnRecordDetailDO();
BeanUtils.copyProperties(purchasereturnJobDetailDO, purchasereturnRecordDetailDO);
purchasereturnRecordDetailDO.setMasterId(purchasereturnRecordMainDO.getId());
purchasereturnRecordDetailDO.setNumber(number);
purchasereturnRecordDetailDO.setJobDetailId(String.valueOf(purchasereturnJobDetailDO.getId()));
purchasereturnRecordDetailDO.setFromBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setToBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setFromPackingNumber(purchasereturnJobDetailDO.getPackingNumber());
purchasereturnRecordDetailDO.setToPackingNumber(purchasereturnJobDetailDO.getPackingNumber());
purchasereturnRecordDetailDO.setId(null);
purchasereturnRecordDetailDOList.add(purchasereturnRecordDetailDO);
//更新采购订单明细的退货数量
purchaseMainService.updateOrderPurchaseReturnQty(purchasereturnRecordDetailDO.getPoNumber(), purchasereturnRecordDetailDO.getPoLine(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getQty());
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVO);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReurnJob");
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(purchasereturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(purchasereturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
purchasereturnRecordDetailMapper.insertBatch(purchasereturnRecordDetailDOList);
List<String> typeList = new ArrayList<>();
typeList.add(JobStatusEnum.PENDING.getCode());
typeList.add(JobStatusEnum.PROCESSING.getCode());
Long count = purchasereturnJobMainMapper.selectListCount(typeList, purchasereturnJobMainDO.getRequestNumber());
PurchasereturnRequestMainDO purchasereturnRequestMainDO = purchasereturnRequestMainMapper.selectByNumber(purchasereturnJobMainDO.getRequestNumber());
//申请单下所有任务全部完成
if(count == 0) {
purchasereturnRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
purchasereturnRequestMainMapper.updateById(purchasereturnRequestMainDO);
} else if(purchasereturnRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成
purchasereturnRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode());
purchasereturnRequestMainMapper.updateById(purchasereturnRequestMainDO);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
//移除预计出
expectoutService.deleteExpectoutByJobNumber(purchasereturnJobMainDO.getNumber());
//变更记录
trendsApi.createTrends(purchasereturnJobMainDO.getId(), "purchasereturnJob", "执行了采购退货任务", TrendsTypeEnum.UPDATE);
return result;
}
private PurchasereturnJobMainDO validatePurchasereturnJobMainExists(Long id) {
PurchasereturnJobMainDO purchasereturnJobMainDO = purchasereturnJobMainMapper.selectById(id);
if (purchasereturnJobMainDO == null) {
throw exception(PURCHASERETURN_JOB_MAIN_NOT_EXISTS);
}
return purchasereturnJobMainDO;
}
}

66
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java

@ -1,15 +1,11 @@
package com.win.module.wms.service.purchasereturnRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/**
* 采购退货记录子 Service 接口
@ -19,27 +15,12 @@ import com.win.framework.common.pojo.PageResult;
public interface PurchasereturnRecordDetailService {
/**
* 创建采购退货记录子
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createPurchasereturnRecordDetail(@Valid PurchasereturnRecordDetailCreateReqVO createReqVO);
/**
* 更新采购退货记录子
*
* @param updateReqVO 更新信息
*/
void updatePurchasereturnRecordDetail(@Valid PurchasereturnRecordDetailUpdateReqVO updateReqVO);
/**
* 删除采购退货记录子
* 获得采购退货记录子分页
*
* @param id 编号
* @param pageReqVO 分页查询
* @return 采购退货记录子分页
*/
void deletePurchasereturnRecordDetail(Long id);
PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO);
/**
* 获得用高级搜索采购退货记录子分页列表
@ -50,35 +31,10 @@ public interface PurchasereturnRecordDetailService {
PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailSenior(CustomConditions conditions);
/**
* 获得采购退货记录子
*
* @param id 编号
* @return 采购退货记录子
*/
PurchasereturnRecordDetailDO getPurchasereturnRecordDetail(Long id);
/**
* 获得采购退货记录子列表
*
* @param ids 编号
* @return 采购退货记录子列表
*/
List<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailList(Collection<Long> ids);
/**
* 获得采购退货记录子分页
*
* @param pageReqVO 分页查询
* @return 采购退货记录子分页
*/
PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO);
/**
* 获得采购退货记录子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 采购退货记录子列表
* 根据主表id查询
* @param masterId
* @return
*/
List<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailList(PurchasereturnRecordDetailExportReqVO exportReqVO);
List<PurchasereturnRecordDetailDO> selectList(Long masterId);
}

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java

@ -1,24 +1,15 @@
package com.win.module.wms.service.purchasereturnRecord;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailUpdateReqVO;
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.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 采购退货记录子 Service 实现类
@ -32,59 +23,19 @@ public class PurchasereturnRecordDetailServiceImpl implements PurchasereturnReco
@Resource
private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper;
@Override
public Long createPurchasereturnRecordDetail(PurchasereturnRecordDetailCreateReqVO createReqVO) {
// 插入
PurchasereturnRecordDetailDO purchasereturnRecordDetail = PurchasereturnRecordDetailConvert.INSTANCE.convert(createReqVO);
purchasereturnRecordDetailMapper.insert(purchasereturnRecordDetail);
// 返回
return purchasereturnRecordDetail.getId();
}
@Override
public void updatePurchasereturnRecordDetail(PurchasereturnRecordDetailUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereturnRecordDetailExists(updateReqVO.getId());
// 更新
PurchasereturnRecordDetailDO updateObj = PurchasereturnRecordDetailConvert.INSTANCE.convert(updateReqVO);
purchasereturnRecordDetailMapper.updateById(updateObj);
}
@Override
public void deletePurchasereturnRecordDetail(Long id) {
// 校验存在
validatePurchasereturnRecordDetailExists(id);
// 删除
purchasereturnRecordDetailMapper.deleteById(id);
}
private void validatePurchasereturnRecordDetailExists(Long id) {
if (purchasereturnRecordDetailMapper.selectById(id) == null) {
throw exception(PURCHASERETURN_RECORD_DETAIL_NOT_EXISTS);
}
}
@Override
public PurchasereturnRecordDetailDO getPurchasereturnRecordDetail(Long id) {
return purchasereturnRecordDetailMapper.selectById(id);
}
@Override
public List<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailList(Collection<Long> ids) {
return purchasereturnRecordDetailMapper.selectBatchIds(ids);
}
@Override
public PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailSenior(CustomConditions conditions) {
return purchasereturnRecordDetailMapper.selectSenior(conditions);
}
@Override
public PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO) {
return purchasereturnRecordDetailMapper.selectPage(pageReqVO);
}
@Override
public List<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailList(PurchasereturnRecordDetailExportReqVO exportReqVO) {
return purchasereturnRecordDetailMapper.selectList(exportReqVO);
public List<PurchasereturnRecordDetailDO> selectList(Long masterId) {
return purchasereturnRecordDetailMapper.selectList(masterId);
}
}

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java

@ -1,15 +1,12 @@
package com.win.module.wms.service.purchasereturnRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/**
* 采购退货记录主 Service 接口
@ -19,12 +16,12 @@ import com.win.framework.common.pojo.PageResult;
public interface PurchasereturnRecordMainService {
/**
* 创建采购退货记录主
* 获得采购退货记录主分页
*
* @param createReqVO 创建信息
* @return 编号
* @param pageReqVO 分页查询
* @return 采购退货记录主分页
*/
Long createPurchasereturnRecordMain(@Valid PurchasereturnRecordMainCreateReqVO createReqVO);
PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO);
/**
* 获得用高级搜索采购退货记录主分页列表
@ -35,49 +32,19 @@ public interface PurchasereturnRecordMainService {
PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainSenior(CustomConditions conditions);
/**
* 更新采购退货记录主
*
* @param updateReqVO 更新信息
*/
void updatePurchasereturnRecordMain(@Valid PurchasereturnRecordMainUpdateReqVO updateReqVO);
/**
* 删除采购退货记录主
*
* @param id 编号
*/
void deletePurchasereturnRecordMain(Long id);
/**
* 获得采购退货记录主
*
* @param id 编号
* @return 采购退货记录主
*/
PurchasereturnRecordMainDO getPurchasereturnRecordMain(Long id);
/**
* 获得采购退货记录主列表
* 获得采购退货记录主列表, 用于 Excel 导出
*
* @param ids 编号
* @param exportReqVO 查询条件
* @return 采购退货记录主列表
*/
List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(Collection<Long> ids);
/**
* 获得采购退货记录主分页
*
* @param pageReqVO 分页查询
* @return 采购退货记录主分页
*/
PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO);
List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO);
/**
* 获得采购退货记录主列表, 用于 Excel 导出
* 获得采购收货记录主列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 采购退货记录主列表
* @param conditions 查询条件
* @return 采购收货申请主列表
*/
List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO);
List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(CustomConditions conditions);
}

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java

@ -1,24 +1,16 @@
package com.win.module.wms.service.purchasereturnRecord;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO;
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.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 采购退货记录主 Service 实现类
@ -33,58 +25,23 @@ public class PurchasereturnRecordMainServiceImpl implements PurchasereturnRecord
private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper;
@Override
public Long createPurchasereturnRecordMain(PurchasereturnRecordMainCreateReqVO createReqVO) {
// 插入
PurchasereturnRecordMainDO purchasereturnRecordMain = PurchasereturnRecordMainConvert.INSTANCE.convert(createReqVO);
purchasereturnRecordMainMapper.insert(purchasereturnRecordMain);
// 返回
return purchasereturnRecordMain.getId();
public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO) {
return purchasereturnRecordMainMapper.selectPage(pageReqVO);
}
@Override
public void updatePurchasereturnRecordMain(PurchasereturnRecordMainUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereturnRecordMainExists(updateReqVO.getId());
// 更新
PurchasereturnRecordMainDO updateObj = PurchasereturnRecordMainConvert.INSTANCE.convert(updateReqVO);
purchasereturnRecordMainMapper.updateById(updateObj);
}
@Override
public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainSenior(CustomConditions conditions) {
return purchasereturnRecordMainMapper.selectSenior(conditions);
}
@Override
public void deletePurchasereturnRecordMain(Long id) {
// 校验存在
validatePurchasereturnRecordMainExists(id);
// 删除
purchasereturnRecordMainMapper.deleteById(id);
}
private void validatePurchasereturnRecordMainExists(Long id) {
if (purchasereturnRecordMainMapper.selectById(id) == null) {
throw exception(PURCHASERETURN_RECORD_MAIN_NOT_EXISTS);
}
}
@Override
public PurchasereturnRecordMainDO getPurchasereturnRecordMain(Long id) {
return purchasereturnRecordMainMapper.selectById(id);
}
@Override
public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(Collection<Long> ids) {
return purchasereturnRecordMainMapper.selectBatchIds(ids);
}
@Override
public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO) {
return purchasereturnRecordMainMapper.selectPage(pageReqVO);
public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO) {
return purchasereturnRecordMainMapper.selectList(exportReqVO);
}
@Override
public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO) {
return purchasereturnRecordMainMapper.selectList(exportReqVO);
public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(CustomConditions conditions) {
return purchasereturnRecordMainMapper.selectSeniorList(conditions);
}
}

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java

@ -1,15 +1,14 @@
package com.win.module.wms.service.purchasereturnRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.List;
/**
* 采购退货申请子 Service 接口
@ -25,6 +24,7 @@ public interface PurchasereturnRequestDetailService {
* @return 编号
*/
Long createPurchasereturnRequestDetail(@Valid PurchasereturnRequestDetailCreateReqVO createReqVO);
/**
* 获得用高级搜索采购退货申请子分页列表
*
@ -55,14 +55,6 @@ public interface PurchasereturnRequestDetailService {
*/
PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id);
/**
* 获得采购退货申请子列表
*
* @param ids 编号
* @return 采购退货申请子列表
*/
List<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailList(Collection<Long> ids);
/**
* 获得采购退货申请子分页
*
@ -72,11 +64,11 @@ public interface PurchasereturnRequestDetailService {
PageResult<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailPage(PurchasereturnRequestDetailPageReqVO pageReqVO);
/**
* 获得采购退货申请子列表, 用于 Excel 导出
* 根据主表id查询
*
* @param exportReqVO 查询条件
* @return 采购退货申请子列表
* @param masterId 主表id
* @return
*/
List<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailList(PurchasereturnRequestDetailExportReqVO exportReqVO);
List<PurchasereturnRequestDetailDO> selectList(Long masterId);
}

87
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java

@ -1,24 +1,29 @@
package com.win.module.wms.service.purchasereturnRequest;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.util.JobUtils;
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.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper;
import javax.annotation.Resource;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.ITEMBASIC_UOM_EXCEPTION;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERETURN_REQUEST_DETAIL_NOT_EXISTS;
/**
* 采购退货申请子 Service 实现类
@ -31,14 +36,24 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq
@Resource
private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Resource
private ItembasicService itembasicService;
@Resource
private ItempackagingService itempackagingService;
@Override
public Long createPurchasereturnRequestDetail(PurchasereturnRequestDetailCreateReqVO createReqVO) {
// 插入
PurchasereturnRequestDetailDO purchasereturnRequestDetail = PurchasereturnRequestDetailConvert.INSTANCE.convert(createReqVO);
purchasereturnRequestDetailMapper.insert(purchasereturnRequestDetail);
PurchasereturnRequestDetailDO purchasereturnRequestDetailDO = PurchasereturnRequestDetailConvert.INSTANCE.convert(createReqVO);
validatePurchasereturnRequestDetailCreate(purchasereturnRequestDetailDO);
purchasereturnRequestDetailMapper.insert(purchasereturnRequestDetailDO);
trendsApi.createTrends(purchasereturnRequestDetailDO.getId(), "purchasereturnRequestDetail", "增加了采购退货子表", TrendsTypeEnum.CREATE);
// 返回
return purchasereturnRequestDetail.getId();
return purchasereturnRequestDetailDO.getId();
}
@Override
@ -69,14 +84,22 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq
}
}
@Override
public PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id) {
return purchasereturnRequestDetailMapper.selectById(id);
/**
* 校验创建并赋值一些参数
* @param detailDo
* @return
*/
private void validatePurchasereturnRequestDetailCreate(PurchasereturnRequestDetailDO detailDo) {
ItembasicDO itembasicDO = this.validateItem(detailDo);
if(!itembasicDO.getUom().equals(detailDo.getUom())) {
throw exception(ITEMBASIC_UOM_EXCEPTION, itembasicDO.getUom(), itembasicDO.getUom());
}
this.validateBusinesstype(itembasicDO.getType());
}
@Override
public List<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailList(Collection<Long> ids) {
return purchasereturnRequestDetailMapper.selectBatchIds(ids);
public PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id) {
return purchasereturnRequestDetailMapper.selectById(id);
}
@Override
@ -85,8 +108,32 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq
}
@Override
public List<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailList(PurchasereturnRequestDetailExportReqVO exportReqVO) {
return purchasereturnRequestDetailMapper.selectList(exportReqVO);
public List<PurchasereturnRequestDetailDO> selectList(Long masterId) {
return purchasereturnRequestDetailMapper.selectList(masterId);
}
/**
* 校验物品信息并赋值
* @param detailDO
* @return
*/
private ItembasicDO validateItem(PurchasereturnRequestDetailDO detailDO) {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemName(itembasicDO.getName());
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setProjectCode(itembasicDO.getProject());
return itembasicDO;
}
/**
* 校验业务类型
* @param itemType
* @return
*/
private void validateBusinesstype(String itemType) {
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRequest");
jobUtils.ifInType(itemType, businesstypeDO);
}
}

69
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java

@ -1,12 +1,12 @@
package com.win.module.wms.service.purchasereturnRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.List;
/**
* 采购退货申请主 Service 接口
@ -22,6 +22,7 @@ public interface PurchasereturnRequestMainService {
* @return 编号
*/
Long createPurchasereturnRequestMain(@Valid PurchasereturnRequestMainCreateReqVO createReqVO);
/**
* 获得用高级搜索采购退货申请主分页列表
*
@ -29,6 +30,7 @@ public interface PurchasereturnRequestMainService {
* @return 分页列表
*/
PageResult<PurchasereturnRequestMainDO> getPurchasereturnRequestMainSenior(CustomConditions conditions);
/**
* 更新采购退货申请主
*
@ -36,13 +38,6 @@ public interface PurchasereturnRequestMainService {
*/
void updatePurchasereturnRequestMain(@Valid PurchasereturnRequestMainUpdateReqVO updateReqVO);
/**
* 删除采购退货申请主
*
* @param id 编号
*/
void deletePurchasereturnRequestMain(Long id);
/**
* 获得采购退货申请主
*
@ -54,10 +49,10 @@ public interface PurchasereturnRequestMainService {
/**
* 获得采购退货申请主列表
*
* @param ids 编号
* @param conditions 条件
* @return 采购退货申请主列表
*/
List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(Collection<Long> ids);
List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(CustomConditions conditions);
/**
* 获得采购退货申请主分页
@ -82,6 +77,52 @@ public interface PurchasereturnRequestMainService {
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<PurchasereturnRequestImportErrorVO> importPurchasereturnRequestList(List<PurchasereturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<PurchasereturnRequestImportErrorVO> importPurchasereturnRequestList(List<PurchasereturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭退货申请主
*
* @param id 退货申请主ID
* @return 更新数量
*/
Integer closePurchasereturnRequestMain(Long id);
/**
* 重新添加退货申请主
*
* @param id 退货申请主ID
* @return 更新数量
*/
Integer reAddPurchasereturnRequestMain(Long id);
/**
* 提交退货申请主
*
* @param id 退货申请主ID
* @return 更新数量
*/
Integer submitPurchasereturnRequestMain(Long id);
/**
* 审批通过退货申请主
*
* @param id 退货申请主ID
* @return 更新数量
*/
Integer agreePurchasereturnRequestMain(Long id);
/**
* 处理退货申请主
* @param id
* @return
*/
Integer handlePurchasereturnRequestMain(Long id);
/**
* 审批拒绝退货申请主
*
* @param id 退货申请主ID
* @return 更新数量
*/
Integer refusedPurchasereturnRequestMain(Long id);
}

313
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java

@ -1,8 +1,9 @@
package com.win.module.wms.service.purchasereturnRequest;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
@ -10,39 +11,51 @@ import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobDetailMapper;
import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.purchasereceiptRecord.PurchasereceiptRecordMainService;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper;
import java.util.ArrayList;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
@ -58,81 +71,69 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
@Resource
private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper;
@Resource
private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper;
@Resource
private PurchasereturnJobMainMapper purchasereturnJobMainMapper;
@Resource
private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper;
@Resource
private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
@Resource
private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper;
@Resource
private Validator validator;
@Resource
private ItembasicService itembasicService;
@Resource
private DictDataApi dictDataApi;
@Resource
private JobUtils jobUtils;
@Resource
private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
private PurchasereturnRecordMainService purchasereturnRecordMainService;
@Resource
private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper;
private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper;
@Resource
private ExpectoutService expectoutService;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private RequestsettingService requestsettingService;
@Resource
private LocationService locationService;
@Resource
private TrendsApi trendsApi;
@Override
public Long createPurchasereturnRequestMain(PurchasereturnRequestMainCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest");
// 插入
PurchasereturnRequestMainDO purchasereturnRequestMain = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO);
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToCreate(createReqVO,requestsettingDO);
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToCreate(createReqVO);
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) {
if (RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) {
}
trendsApi.createTrends(requestsettingDO.getId(), "PurchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE);
trendsApi.createTrends(purchasereturnRequestMain.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE);
// 返回
return purchasereturnRequestMain.getId();
}
@Override
public void updatePurchasereturnRequestMain(PurchasereturnRequestMainUpdateReqVO updateReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest");
// 校验存在
validatePurchasereturnRequestMainExists(updateReqVO.getId());
// 更新主表
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO);
if(RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) {
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO);
if (RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) {
}
trendsApi.createTrends(requestsettingDO.getId(), "PurchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE);
trendsApi.createTrends(purchasereturnRequestMainDO.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE);
}
@Override
public PageResult<PurchasereturnRequestMainDO> getPurchasereturnRequestMainSenior(CustomConditions conditions) {
return purchasereturnRequestMainMapper.selectSenior(conditions);
}
@Override
public void deletePurchasereturnRequestMain(Long id) {
// 校验存在
validatePurchasereturnRequestMainExists(id);
// 删除
purchasereturnRequestMainMapper.deleteById(id);
}
private void validatePurchasereturnRequestMainExists(Long id) {
if (purchasereturnRequestMainMapper.selectById(id) == null) {
throw exception(PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS);
}
}
@Override
public PurchasereturnRequestMainDO getPurchasereturnRequestMain(Long id) {
@ -140,8 +141,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
}
@Override
public List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(Collection<Long> ids) {
return purchasereturnRequestMainMapper.selectBatchIds(ids);
public List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(CustomConditions conditions) {
return purchasereturnRequestMainMapper.selectSeniorList(conditions);
}
@Override
@ -154,8 +155,6 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
return purchasereturnRequestMainMapper.selectList(exportReqVO);
}
@Override
public List<PurchasereturnRequestImportErrorVO> importPurchasereturnRequestList(List<PurchasereturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
@ -164,7 +163,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
List<PurchasereturnRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
BusinesstypeDO businesstypeDO = new BusinesstypeDO();
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO();
PurchasereturnRecordMainDO purchasereturnRecordMainDO = new PurchasereturnRecordMainDO();
PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validatorPurchasereturnRequestMainImport(mainDo);
List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList();
@ -172,7 +171,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
// 是否有错误数据
boolean flag = true;
for (PurchasereturnRequestDetailDO detailDO : subDOList) {
String messageDetail = validatorPurchasereturnRequestDetailImport(detailDO, mainDo,businesstypeDO);
String messageDetail = validatorPurchasereturnRequestDetailImport(detailDO, mainDo, businesstypeDO);
if (!messageMain.isEmpty() || messageDetail.isEmpty()) {
PurchasereturnRequestImportErrorVO importErrorVO = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败");
@ -187,8 +186,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDo.setNumber(number);
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber());
mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber());
mainDo.setPpNumber(purchasereturnRecordMainDO.getPpNumber());
mainDo.setAsnNumber(purchasereturnRecordMainDO.getAsnNumber());
mainDo.setRequestTime(LocalDateTime.now());
purchasereturnRequestMainMapper.insert(mainDo);
for (PurchasereturnRequestDetailDO detailDO : subDOList) {
@ -202,29 +201,175 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
return errorList;
}
private void ifUomSuccess(String itemUom,String uom) {
if(!itemUom.equals(uom)){
throw exception(UOM_EXCEPTION,"提示单位"+ uom + "错误,应该是" + itemUom);
private void ifUomSuccess(String itemUom, String uom) {
if (!itemUom.equals(uom)) {
throw exception(UOM_EXCEPTION, "提示单位" + uom + "错误,应该是" + itemUom);
}
}
private void ifdetailQtyBigThanQty(BigDecimal detailQty, BigDecimal qty) {
if(detailQty.compareTo(qty) > 0){
throw exception(QTY_EXCEPTION,"退货数量"+ qty + "不能大于于收货数量" + detailQty);
if (detailQty.compareTo(qty) > 0) {
throw exception(QTY_EXCEPTION, "退货数量" + qty + "不能大于于收货数量" + detailQty);
}
}
private ItembasicDO validatorItembasic(String itemCode){
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode);
}
private void validatorIfInType(String itemType,BusinesstypeDO businesstypeDO){
private void validatorIfInType(String itemType, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(itemType, businesstypeDO);
}
private void validatorIfInToLocationType(String fromLocationCode,BusinesstypeDO businesstypeDO){
private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) {
jobUtils.ifInToLocationType(fromLocationCode, businesstypeDO);
}
private void validatorLocation(String fromLocationCode){
@Override
@Transactional
public Integer closePurchasereturnRequestMain(Long id) {
// 校验存在存在下级单据
PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id);
Long count = purchasereturnJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "purchasereturnRequest", "关闭了采购收货申请", TrendsTypeEnum.UPDATE);
return purchasereturnRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer reAddPurchasereturnRequestMain(Long id) {
// 校验存在存在下级单据
PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id);
Long count = purchasereturnJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reAdd();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_RE_ADD);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "purchasereturnRequest", "打开了采购收货申请", TrendsTypeEnum.UPDATE);
return purchasereturnRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer submitPurchasereturnRequestMain(Long id) {
PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, purchasereturnRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "purchasereturnRequest", "提交了采购收货申请", TrendsTypeEnum.UPDATE);
return purchasereturnRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer agreePurchasereturnRequestMain(Long id) {
// 校验存在
PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, purchasereturnRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "purchasereturnRequest", "审批同意了采购收货申请", TrendsTypeEnum.UPDATE);
return purchasereturnRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer handlePurchasereturnRequestMain(Long id) {
// 校验存在
PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateJob(mainDO, purchasereturnRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "purchasereturnRequest", "执行了采购收货申请", TrendsTypeEnum.UPDATE);
return purchasereturnRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer refusedPurchasereturnRequestMain(Long id) {
// 校验存在
PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.refused();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "purchasereturnRequest", "审批拒绝了采购收货申请", TrendsTypeEnum.UPDATE);
return purchasereturnRequestMainMapper.updateById(mainDO);
}
/**
* 生成采购收货任务不要改动事务传播方式否则会有事务问题
* @param mainDO 采购收货主
* @param detailDOList 采购收货子
*/
private void generateJob(PurchasereturnRequestMainDO mainDO, List<PurchasereturnRequestDetailDO> detailDOList) {
PurchasereturnJobMainDO purchasereturnJobMainDO = PurchasereturnJobMainConvert.INSTANCE.convert(mainDO);
purchasereturnJobMainDO.setRequestNumber(mainDO.getNumber());
purchasereturnJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_JOB.getCode());
purchasereturnJobMainDO.setNumber(number);
purchasereturnJobMainDO.setId(null);
purchasereturnJobMainMapper.insert(purchasereturnJobMainDO);
List<ExpectoutCreateReqVO> expectoutCreateReqVOList = new ArrayList<>();
List<PurchasereturnJobDetailDO> purchasereturnJobDetailDOList = new ArrayList<>();
for(PurchasereturnRequestDetailDO purchasereturnRequestDetailDO : detailDOList) {
PurchasereturnJobDetailDO purchasereturnJobDetailDO = PurchasereturnJobDetailConvert.INSTANCE.convert(purchasereturnRequestDetailDO);
purchasereturnJobDetailDO.setToLocationCode(purchasereturnRequestDetailDO.getToLocationCode());
purchasereturnJobDetailDO.setNumber(number);
purchasereturnJobDetailDO.setId(null);
purchasereturnJobDetailDO.setMasterId(purchasereturnJobMainDO.getId());
purchasereturnJobDetailDOList.add(purchasereturnJobDetailDO);
//预计出
ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO();
BeanUtils.copyProperties(purchasereturnJobDetailDO, expectoutCreateReqVO);
expectoutCreateReqVO.setJobNumber(number);
expectoutCreateReqVO.setBusinessType(purchasereturnJobMainDO.getBusinessType());
expectoutCreateReqVO.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode());
expectoutCreateReqVO.setOwnerCode(purchasereturnJobDetailDO.getFromOwnerCode());
expectoutCreateReqVOList.add(expectoutCreateReqVO);
}
purchasereturnJobDetailMapper.insertBatch(purchasereturnJobDetailDOList);
//增加预计出
expectoutService.createExpectout(expectoutCreateReqVOList);
trendsApi.createTrends(purchasereturnJobMainDO.getId(), "purchasereturnJob", "采购退货申请生成采购退货任务", TrendsTypeEnum.CREATE);
}
private void validatorLocation(String fromLocationCode) {
locationService.selectLocation(fromLocationCode);
}
@ -241,23 +386,25 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes());
}
private BigDecimal validatorBalance(PurchasereturnRequestDetailDO detailDo,PurchasereturnRequestMainDO mainDO){
ArrayList inventoryStatus = new ArrayList();
private BigDecimal validatorBalance(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDO) {
ArrayList<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add(detailDo.getInventoryStatus());
BigDecimal bigDecimal = new BigDecimal(0);
List<BalanceDO> banlance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
if(banlance != null) {
for (BalanceDO balanceDO : banlance) {
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
if (balance != null) {
for (BalanceDO balanceDO : balance) {
bigDecimal = bigDecimal.add(balanceDO.getQty());
mainDO.setFromWarehouseCode(balanceDO.getWarehouseCode());
}
}
return bigDecimal;
}
// 新增校验
private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) {
private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO) {
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO();
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO,purchasereceiptRecordMainDO);
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO);
//子表校验
List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(subList);
@ -275,9 +422,9 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
}
//修改校验
private PurchasereturnRequestMainDO validatorToUpdate(PurchasereturnRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) {
private PurchasereturnRequestMainDO validatorToUpdate(PurchasereturnRequestMainUpdateReqVO updateReqVO) {
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO();
PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO,purchasereceiptRecordMainDO);
PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO);
//子表校验
List<PurchasereturnRequestDetailUpdateReqVO> subList = updateReqVO.getSubList();
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList05(subList);
@ -288,14 +435,24 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
purchasereturnRequestDetailMapper.updateBatch(subDOList);
return purchaseclaimRequestMainDO;
}
private PurchasereturnRequestMainDO validatePurchasereturnRequestMainExists(Long id) {
PurchasereturnRequestMainDO purchasereturnRequestMainDO = purchasereturnRequestMainMapper.selectById(id);
if (purchasereturnRequestMainDO == null) {
throw exception(PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS);
}
return purchasereturnRequestMainDO;
}
//校验主表公共方法(适用于新增/修改)
private PurchasereturnRequestMainDO validatorMainMethod(PurchasereturnRequestMainBaseVO baseVO,PurchasereceiptRecordMainDO purchasereceiptRecordMainDO){
private PurchasereturnRequestMainDO validatorMainMethod(PurchasereturnRequestMainBaseVO baseVO){
PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(baseVO);
requestsettingAndBusinesstypeSet(mainDo);
return mainDo;
}
//校验子表公共方法(适用于新增/修改)
private void validatorDetailMethod(PurchasereturnRequestDetailDO detailDo,PurchasereturnRequestMainDO mainDo,PurchasereceiptRecordMainDO purchasereceiptRecordMainDO) {
private void validatorDetailMethod(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDo, PurchasereceiptRecordMainDO purchasereceiptRecordMainDO) {
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2());
@ -304,9 +461,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
validatorLocation(detailDo.getFromLocationCode());
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode());
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("id", purchasereceiptRecordDetailDO.getMasterId());
purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapper);
purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId());
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty());
BigDecimal bigDecimal = validatorBalance(detailDo,mainDo);
ifdetailQtyBigThanQty(detailDo.getQty(),bigDecimal);
@ -323,8 +478,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest");
if (requestsettingDO == null) {
message.append("未查找到采购退货申请的相关申请设置");
}
else {
} else {
mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
@ -333,8 +487,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest");
if (businesstypeDO == null) {
message.append("根据单据设置未查找到采购退货申请的相关业务类型");
}
else {
} else {
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
@ -388,9 +541,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
}
try {
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode());
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("id", purchasereceiptRecordDetailDO.getMasterId());
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapper);
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId());
try {
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty());
} catch (Exception ex) {

Loading…
Cancel
Save