Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
0bd27eabdc
  1. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java
  2. 56
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.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/packageMassage/PackageMapper.java
  25. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java
  26. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java
  27. 35
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java
  28. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java
  29. 46
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java
  30. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java
  31. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java
  32. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java
  33. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java
  34. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  35. 49
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java
  36. 147
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java
  37. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java
  38. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java
  39. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java
  40. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  41. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java
  42. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java
  43. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java
  44. 57
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java
  45. 67
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java
  46. 98
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java
  47. 281
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java
  48. 66
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java
  49. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java
  50. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java
  51. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java
  52. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java
  53. 87
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java
  54. 69
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java
  55. 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); ExcelUtils.write(response, "预计出库存.xls", "数据", ExpectoutExcelVO.class, datas);
} }
@GetMapping("/export-excel-senior") @PostMapping("/export-excel-senior")
@Operation(summary = "导出预计出库存 Excel") @Operation(summary = "导出预计出库存 Excel")
@PreAuthorize("@ss.hasPermission('wms:expectout:export')") @PreAuthorize("@ss.hasPermission('wms:expectout:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)

56
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java

@ -162,4 +162,60 @@ public class PurchasePlanMainController {
return success(returnMap); return success(returnMap);
} }
@PostMapping("/close")
@Operation(summary = "关闭要货计划主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:close')")
public CommonResult<Boolean> closePurchasePlanMain(@RequestParam("id") Long id) {
Integer count = purchasePlanMainService.closePurchasePlanMain(id);
return success(count > 0);
}
@PostMapping("/open")
@Operation(summary = "打开要货计划主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:open')")
public CommonResult<Boolean> openPurchasePlanMain(@RequestParam("id") Long id) {
Integer count = purchasePlanMainService.openPurchasePlanMain(id);
return success(count > 0);
}
@PostMapping("/publish")
@Operation(summary = "发布要货计划主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:publish')")
public CommonResult<Boolean> publishPurchasePlanMain(@RequestParam("id") Long id) {
Integer count = purchasePlanMainService.publishPurchasePlanMain(id);
return success(count > 0);
}
@PostMapping("/wit")
@Operation(summary = "下架要货计划主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:wit')")
public CommonResult<Boolean> witPurchasePlanMain(@RequestParam("id") Long id) {
Integer count = purchasePlanMainService.witPurchasePlanMain(id);
return success(count > 0);
}
@PostMapping("/acc")
@Operation(summary = "接受要货计划主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:wit')")
public CommonResult<Boolean> accPurchasePlanMain(@RequestParam("id") Long id) {
Integer count = purchasePlanMainService.accPurchasePlanMain(id);
return success(count > 0);
}
@PostMapping("/rej")
@Operation(summary = "驳回要货计划主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:rej')")
public CommonResult<Boolean> rejPurchasePlanMain(@RequestParam("id") Long id) {
Integer count = purchasePlanMainService.rejPurchasePlanMain(id);
return success(count > 0);
}
} }

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)); 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") @PutMapping("/update")
@Operation(summary = "更新采购收货申请子") @Operation(summary = "更新采购收货申请子")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')")
@ -91,4 +77,18 @@ public class PurchasereceiptRequestDetailController {
return success(PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult)); 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnJob.vo.*; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO;
import javax.annotation.Resource; import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.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 = "管理后台 - 采购退货任务子") @Tag(name = "管理后台 - 采购退货任务子")
@RestController @RestController
@RequestMapping("/wms/purchasereturn-job-detail") @RequestMapping("/wms/purchasereturn-job-detail")
@ -43,48 +33,6 @@ public class PurchasereturnJobDetailController {
@Resource @Resource
private AdminUserApi userApi; 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") @GetMapping("/page")
@Operation(summary = "获得采购退货任务子分页") @Operation(summary = "获得采购退货任务子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')")
@ -92,6 +40,7 @@ public class PurchasereturnJobDetailController {
PageResult<PurchasereturnJobDetailDO> pageResult = purchasereturnJobDetailService.getPurchasereturnJobDetailPage(pageVO); PageResult<PurchasereturnJobDetailDO> pageResult = purchasereturnJobDetailService.getPurchasereturnJobDetailPage(pageVO);
return success(PurchasereturnJobDetailConvert.INSTANCE.convertPage(pageResult)); return success(PurchasereturnJobDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobDetail:query')") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobDetail:query')")
@ -106,21 +55,4 @@ public class PurchasereturnJobDetailController {
return success(result); 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnJob.vo.*; import com.win.module.wms.controller.purchasereturnJob.vo.*;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; 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.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.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 jodd.util.StringUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated;
import io.swagger.v3.oas.annotations.Parameter; import org.springframework.web.bind.annotation.*;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert;
import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobMainService;
@Tag(name = "管理后台 - 采购退货任务主") @Tag(name = "管理后台 - 采购退货任务主")
@RestController @RestController
@ -47,47 +50,14 @@ public class PurchasereturnJobMainController {
@Resource @Resource
private PurchasereturnJobDetailService purchasereturnJobDetailService; private PurchasereturnJobDetailService purchasereturnJobDetailService;
@PostMapping("/create") @GetMapping("/page")
@Operation(summary = "创建采购退货任务主") @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")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')")
public CommonResult<PurchasereturnJobMainRespVO> getPurchasereturnJobMain(@RequestParam("id") String id) { public CommonResult<PageResult<PurchasereturnJobMainRespVO>> getPurchasereturnJobMainPage(@Valid PurchasereturnJobMainPageReqVO pageVO) {
PurchasereturnJobMainDO purchasereturnJobMain = purchasereturnJobMainService.getPurchasereturnJobMain(id); PageResult<PurchasereturnJobMainDO> pageResult = purchasereturnJobMainService.getPurchasereturnJobMainPage(pageVO);
return success(PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain)); 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") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobMain:query')") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobMain:query')")
@ -101,13 +71,6 @@ public class PurchasereturnJobMainController {
} }
return success(result); 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") @GetMapping("/export-excel")
@Operation(summary = "导出采购退货任务主 Excel") @Operation(summary = "导出采购退货任务主 Excel")
@ -116,9 +79,57 @@ public class PurchasereturnJobMainController {
public void exportPurchasereturnJobMainExcel(@Valid PurchasereturnJobMainExportReqVO exportReqVO, public void exportPurchasereturnJobMainExcel(@Valid PurchasereturnJobMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<PurchasereturnJobMainDO> list = purchasereturnJobMainService.getPurchasereturnJobMainList(exportReqVO); List<PurchasereturnJobMainDO> list = purchasereturnJobMainService.getPurchasereturnJobMainList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnJobMainExcelVO> datas = PurchasereturnJobMainConvert.INSTANCE.convertList02(list); List<PurchasereturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, datas); 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") @GetMapping("/getReturnJobById")
@ -130,10 +141,8 @@ public class PurchasereturnJobMainController {
PurchasereturnJobMainRespVO result = PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain); PurchasereturnJobMainRespVO result = PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain);
if(result==null) { if(result==null) {
return success(result); return success(result);
}; }
PurchasereturnJobDetailExportReqVO purchasereturnJobDetailExportReqVO = new PurchasereturnJobDetailExportReqVO(); List<PurchasereturnJobDetailDO> purchasereturnJobDetailList = purchasereturnJobDetailService.selectList(result.getId());
purchasereturnJobDetailExportReqVO.setMasterId(result.getId());
List<PurchasereturnJobDetailDO> purchasereturnJobDetailList = purchasereturnJobDetailService.getPurchasereturnJobDetailList(purchasereturnJobDetailExportReqVO);
List<PurchasereturnJobDetailExcelVO> purchasereturnJobDetailExcelVOS = PurchasereturnJobDetailConvert.INSTANCE.convertList02(purchasereturnJobDetailList); List<PurchasereturnJobDetailExcelVO> purchasereturnJobDetailExcelVOS = PurchasereturnJobDetailConvert.INSTANCE.convertList02(purchasereturnJobDetailList);
result.setSubList(purchasereturnJobDetailExcelVOS); result.setSubList(purchasereturnJobDetailExcelVOS);
return success(result); 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; 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 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") @Schema(description = "管理后台 - 采购退货任务主创建 Request VO")
@Data @Data
@ -9,4 +15,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true) @ToString(callSuper = true)
public class PurchasereturnJobMainCreateReqVO extends PurchasereturnJobMainBaseVO { 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; 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.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusConverter;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -46,11 +41,10 @@ public class PurchasereturnJobMainExcelVO {
private String carrierCode; private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class) @ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode; private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class) @ExcelProperty(value = "车牌号")
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String vehiclePlateNumber; private String vehiclePlateNumber;
@ExcelProperty("从仓库代码") @ExcelProperty("从仓库代码")
@ -65,23 +59,12 @@ public class PurchasereturnJobMainExcelVO {
@ExcelProperty("要求截止时间") @ExcelProperty("要求截止时间")
private LocalDateTime requestDueTime; private LocalDateTime requestDueTime;
@ExcelProperty(value = "状态", converter = DictConvert.class) @ExcelProperty(value = "状态", converter = JobStatusConverter.class)
@DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status; private String status;
@ExcelProperty("过期时间") @ExcelProperty("过期时间")
private LocalDateTime expiredTime; private LocalDateTime expiredTime;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
private String updater;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("job_stage_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String jobStageStatus;
@ExcelProperty("优先级") @ExcelProperty("优先级")
private Integer priority; private Integer priority;
@ -104,11 +87,11 @@ public class PurchasereturnJobMainExcelVO {
private LocalDateTime completeTime; private LocalDateTime completeTime;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes; private String fromLocationTypes;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes; private String toLocationTypes;
@ExcelProperty("单据号") @ExcelProperty("单据号")
@ -120,12 +103,6 @@ public class PurchasereturnJobMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者id")
private String creator;
@ExcelProperty("从库区代码范围") @ExcelProperty("从库区代码范围")
private String fromAreaCodes; private String fromAreaCodes;
@ -136,43 +113,118 @@ public class PurchasereturnJobMainExcelVO {
private String fromDockCode; private String fromDockCode;
@ExcelProperty(value = "自动完成", converter = DictConvert.class) @ExcelProperty(value = "自动完成", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String autoComplete; private String autoComplete;
@ExcelProperty(value = "允许修改库位", converter = DictConvert.class) @ExcelProperty(value = "允许修改库位", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyLocation; private String allowModifyLocation;
@ExcelProperty(value = "允许修改数量", converter = DictConvert.class) @ExcelProperty(value = "允许修改数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyQty; private String allowModifyQty;
@ExcelProperty(value = "允许大于推荐数量", converter = DictConvert.class) @ExcelProperty(value = "允许大于推荐数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowBiggerQty; private String allowBiggerQty;
@ExcelProperty(value = "允许小于推荐数量", converter = DictConvert.class) @ExcelProperty(value = "允许小于推荐数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowSmallerQty; private String allowSmallerQty;
@ExcelProperty(value = "允许修改库存状态", converter = DictConvert.class) @ExcelProperty(value = "允许修改库存状态", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyInventoryStatus; private String allowModifyInventoryStatus;
@ExcelProperty(value = "允许连续扫描", converter = DictConvert.class) @ExcelProperty(value = "允许连续扫描", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowContinuousScanning; private String allowContinuousScanning;
@ExcelProperty(value = "允许部分完成", converter = DictConvert.class) @ExcelProperty(value = "允许部分完成", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowPartialComplete; private String allowPartialComplete;
@ExcelProperty(value = "允许修改批次", converter = DictConvert.class) @ExcelProperty(value = "允许修改批次", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyBatch; private String allowModifyBatch;
@ExcelProperty(value = "允许修改箱码", converter = DictConvert.class) @ExcelProperty(value = "允许修改箱码", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyPackingNumber; 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; package com.win.module.wms.controller.purchasereturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema; 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") @Schema(description = "管理后台 - 采购退货任务主更新 Request VO")
@Data @Data
@ -9,4 +14,6 @@ import lombok.*;
@ToString(callSuper = true) @ToString(callSuper = true)
public class PurchasereturnJobMainUpdateReqVO extends PurchasereturnJobMainBaseVO { 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRecord.vo.*; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailRespVO;
import javax.annotation.Resource; import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.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 = "管理后台 - 采购退货记录子") @Tag(name = "管理后台 - 采购退货记录子")
@RestController @RestController
@RequestMapping("/wms/purchasereturn-record-detail") @RequestMapping("/wms/purchasereturn-record-detail")
@ -43,12 +33,14 @@ public class PurchasereturnRecordDetailController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create") @GetMapping("/page")
@Operation(summary = "创建采购退货记录子") @Operation(summary = "获得采购退货记录子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:create')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')")
public CommonResult<Long> createPurchasereturnRecordDetail(@Valid @RequestBody PurchasereturnRecordDetailCreateReqVO createReqVO) { public CommonResult<PageResult<PurchasereturnRecordDetailRespVO>> getPurchasereturnRecordDetailPage(@Valid PurchasereturnRecordDetailPageReqVO pageVO) {
return success(purchasereturnRecordDetailService.createPurchasereturnRecordDetail(createReqVO)); PageResult<PurchasereturnRecordDetailDO> pageResult = purchasereturnRecordDetailService.getPurchasereturnRecordDetailPage(pageVO);
return success(PurchasereturnRecordDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得采购退货记录子信息分页") @Operation(summary = "高级搜索获得采购退货记录子信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordDetail:query')") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordDetail:query')")
@ -62,64 +54,5 @@ public class PurchasereturnRecordDetailController {
} }
return success(result); 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRecord.vo.*; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExcelVO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO;
import javax.annotation.Resource; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import io.swagger.v3.oas.annotations.Parameter; 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.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert;
import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService;
@Tag(name = "管理后台 - 采购退货记录主") @Tag(name = "管理后台 - 采购退货记录主")
@RestController @RestController
@ -38,16 +44,20 @@ public class PurchasereturnRecordMainController {
@Resource @Resource
private PurchasereturnRecordMainService purchasereturnRecordMainService; private PurchasereturnRecordMainService purchasereturnRecordMainService;
@Resource
private PurchasereturnRecordDetailService purchasereturnRecordDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create") @GetMapping("/page")
@Operation(summary = "创建采购退货记录主") @Operation(summary = "获得采购退货记录主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')")
public CommonResult<Long> createPurchasereturnRecordMain(@Valid @RequestBody PurchasereturnRecordMainCreateReqVO createReqVO) { public CommonResult<PageResult<PurchasereturnRecordMainRespVO>> getPurchasereturnRecordMainPage(@Valid PurchasereturnRecordMainPageReqVO pageVO) {
return success(purchasereturnRecordMainService.createPurchasereturnRecordMain(createReqVO)); PageResult<PurchasereturnRecordMainDO> pageResult = purchasereturnRecordMainService.getPurchasereturnRecordMainPage(pageVO);
return success(PurchasereturnRecordMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordMain:query')") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordMain:query')")
@ -61,48 +71,6 @@ public class PurchasereturnRecordMainController {
} }
return success(result); 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") @GetMapping("/export-excel")
@Operation(summary = "导出采购退货记录主 Excel") @Operation(summary = "导出采购退货记录主 Excel")
@ -111,14 +79,36 @@ public class PurchasereturnRecordMainController {
public void exportPurchasereturnRecordMainExcel(@Valid PurchasereturnRecordMainExportReqVO exportReqVO, public void exportPurchasereturnRecordMainExcel(@Valid PurchasereturnRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<PurchasereturnRecordMainDO> list = purchasereturnRecordMainService.getPurchasereturnRecordMainList(exportReqVO); List<PurchasereturnRecordMainDO> list = purchasereturnRecordMainService.getPurchasereturnRecordMainList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnRecordMainExcelVO> datas = PurchasereturnRecordMainConvert.INSTANCE.convertList02(list); List<PurchasereturnRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(PurchasereturnRecordMainExcelVO vo : datas) { ExcelUtils.write(response, "采购退货记录主.xls", "数据", PurchasereturnRecordMainExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); 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; 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.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -47,11 +43,10 @@ public class PurchasereturnRecordMainExcelVO {
private String carrierCode; private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class) @ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode; private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class) @ExcelProperty(value = "车牌号")
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String vehiclePlateNumber; private String vehiclePlateNumber;
@ExcelProperty("从仓库代码") @ExcelProperty("从仓库代码")
@ -82,7 +77,7 @@ public class PurchasereturnRecordMainExcelVO {
private String departmentCode; private String departmentCode;
@ExcelProperty(value = "接口类型", converter = DictConvert.class) @ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.INTERFACE_TYPE)
private String interfaceType; private String interfaceType;
@ExcelProperty("单据号") @ExcelProperty("单据号")
@ -94,21 +89,15 @@ public class PurchasereturnRecordMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
@ExcelProperty("代码") @ExcelProperty("代码")
private String code; private String code;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes; private String fromLocationTypes;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes; private String toLocationTypes;
@ExcelProperty("从库区代码范围") @ExcelProperty("从库区代码范围")
@ -120,4 +109,103 @@ public class PurchasereturnRecordMainExcelVO {
@ExcelProperty("是否可用") @ExcelProperty("是否可用")
private String available; 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO;
import javax.annotation.Resource; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailRespVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import io.swagger.v3.oas.annotations.Parameter; 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.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.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 = "管理后台 - 采购退货申请子") @Tag(name = "管理后台 - 采购退货申请子")
@RestController @RestController
@RequestMapping("/wms/purchasereturn-request-detail") @RequestMapping("/wms/purchasereturn-request-detail")
@ -48,19 +42,7 @@ public class PurchasereturnRequestDetailController {
public CommonResult<Long> createPurchasereturnRequestDetail(@Valid @RequestBody PurchasereturnRequestDetailCreateReqVO createReqVO) { public CommonResult<Long> createPurchasereturnRequestDetail(@Valid @RequestBody PurchasereturnRequestDetailCreateReqVO createReqVO) {
return success(purchasereturnRequestDetailService.createPurchasereturnRequestDetail(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") @PutMapping("/update")
@Operation(summary = "更新采购退货申请子") @Operation(summary = "更新采购退货申请子")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:update')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:update')")
@ -87,15 +69,6 @@ public class PurchasereturnRequestDetailController {
return success(PurchasereturnRequestDetailConvert.INSTANCE.convert(purchasereturnRequestDetail)); 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") @GetMapping("/page")
@Operation(summary = "获得采购退货申请子分页") @Operation(summary = "获得采购退货申请子分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:query')")
@ -104,21 +77,18 @@ public class PurchasereturnRequestDetailController {
return success(PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult)); return success(PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult));
} }
@GetMapping("/export-excel") @PostMapping("/senior")
@Operation(summary = "导出采购退货申请子 Excel") @Operation(summary = "高级搜索获得采购退货申请子信息分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:export')") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestDetail:query')")
@OperateLog(type = EXPORT) public CommonResult<PageResult<PurchasereturnRequestDetailRespVO>> getPurchasereturnRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) {
public void exportPurchasereturnRequestDetailExcel(@Valid PurchasereturnRequestDetailExportReqVO exportReqVO, PageResult<PurchasereturnRequestDetailDO> pageResult = purchasereturnRequestDetailService.getPurchasereturnRequestDetailSenior(conditions);
HttpServletResponse response) throws IOException { PageResult<PurchasereturnRequestDetailRespVO> result = PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult);
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(exportReqVO); for (PurchasereturnRequestDetailRespVO vo : result.getList()) {
// 导出 Excel
List<PurchasereturnRequestDetailExcelVO> datas = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list);
for(PurchasereturnRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil; import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereturnRequest.vo.*; 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.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.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 com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService;
import org.springframework.web.bind.annotation.*; import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService;
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 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.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.*; import java.util.ArrayList;
import java.io.IOException; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 采购退货申请主") @Tag(name = "管理后台 - 采购退货申请主")
@RestController @RestController
@ -70,33 +70,6 @@ public class PurchasereturnRequestMainController {
return success(true); 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") @GetMapping("/page")
@Operation(summary = "获得采购退货申请主分页") @Operation(summary = "获得采购退货申请主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')")
@ -104,13 +77,14 @@ public class PurchasereturnRequestMainController {
PageResult<PurchasereturnRequestMainDO> pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainPage(pageVO); PageResult<PurchasereturnRequestMainDO> pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainPage(pageVO);
return success(PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult)); return success(PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestMain:query')") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestMain:query')")
public CommonResult<PageResult<PurchasereturnRequestMainRespVO>> getPurchasereturnRequestMainSenior(@Valid @RequestBody CustomConditions conditions) { public CommonResult<PageResult<PurchasereturnRequestMainRespVO>> getPurchasereturnRequestMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereturnRequestMainDO> pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainSenior(conditions); PageResult<PurchasereturnRequestMainDO> pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainSenior(conditions);
PageResult<PurchasereturnRequestMainRespVO> result = PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult); 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())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
@ -123,16 +97,51 @@ public class PurchasereturnRequestMainController {
@PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportPurchasereturnRequestMainExcel(@Valid PurchasereturnRequestMainExportReqVO exportReqVO, public void exportPurchasereturnRequestMainExcel(@Valid PurchasereturnRequestMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<PurchasereturnRequestMainDO> list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(exportReqVO); List<PurchasereturnRequestMainDO> list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasereturnRequestMainExcelVO> datas = PurchasereturnRequestMainConvert.INSTANCE.convertList02(list); List<PurchasereturnRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(PurchasereturnRequestMainExcelVO vo : datas) { ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); @PostMapping("/export-excel-senior")
@Operation(summary = "导出采购退货申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms: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") @GetMapping("/get-import-template")
@ -141,19 +150,23 @@ public class PurchasereturnRequestMainController {
// 手动创建导出 demo // 手动创建导出 demo
List<PurchasereturnRequestImportVO> list = new ArrayList<>(); List<PurchasereturnRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(10, uom); 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); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(11, inventoryStatus); mapDropDown.put(31, inventoryStatus);
String[] reason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); String[] packUnit = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PACK_UNIT);
mapDropDown.put(13, reason); mapDropDown.put(36, packUnit);
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(15, transferMode); mapDropDown.put(38, uom);
// 输出 mapDropDown.put(47, uom);
ExcelUtils.write(response, "采购退货信息导入模板.xlsx", "采购退货信息列表", PurchasereturnRequestImportVO.class, list, mapDropDown); ExcelUtils.write(response, "采购退货信息导入模板.xlsx", "采购退货信息列表", PurchasereturnRequestImportVO.class, list, mapDropDown);
} }
@PostMapping("/import") @PostMapping("/import")
@Operation(summary = "导入采购退货基本信息") @Operation(summary = "导入采购退货基本信息")
@Parameters({ @Parameters({
@ -172,12 +185,13 @@ public class PurchasereturnRequestMainController {
List<PurchasereturnRequestImportErrorVO> errorList = purchasereturnRequestMainService.importPurchasereturnRequestList(createReqVOList, mode, updatePart); List<PurchasereturnRequestImportErrorVO> errorList = purchasereturnRequestMainService.importPurchasereturnRequestList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { if (!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("采购退货基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList); String url = ExcelUtils.writeLocalFile("采购退货基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url); returnMap.put("errorFile", url);
} }
return success(returnMap); return success(returnMap);
} }
@GetMapping("/getPurchasereturnRequestById") @GetMapping("/getPurchasereturnRequestById")
@Operation(summary = "APP获得采购退货申请主子表明细列表") @Operation(summary = "APP获得采购退货申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -185,12 +199,10 @@ public class PurchasereturnRequestMainController {
public CommonResult<PurchasereturnRequestMainRespVO> getPurchasereturnRequestById(@RequestParam("id") Long id) { public CommonResult<PurchasereturnRequestMainRespVO> getPurchasereturnRequestById(@RequestParam("id") Long id) {
PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id); PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id);
PurchasereturnRequestMainRespVO result = PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain); PurchasereturnRequestMainRespVO result = PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain);
if(result==null) { if (result == null) {
return success(result); return success(result);
}; }
PurchasereturnRequestDetailExportReqVO reqVO = new PurchasereturnRequestDetailExportReqVO(); List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.selectList(result.getId());
reqVO.setMasterId(result.getId());
List<PurchasereturnRequestDetailDO> list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(reqVO);
List<PurchasereturnRequestDetailExcelVO> vos = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list); List<PurchasereturnRequestDetailExcelVO> vos = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list);
result.setSubList(vos); result.setSubList(vos);
return success(result); 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; 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.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -37,11 +34,10 @@ public class PurchasereturnRequestMainExcelVO {
private String carrierCode; private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class) @ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode; private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class) @ExcelProperty(value = "车牌号")
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String vehiclePlateNumber; private String vehiclePlateNumber;
@ExcelProperty("从仓库代码") @ExcelProperty("从仓库代码")
@ -59,12 +55,6 @@ public class PurchasereturnRequestMainExcelVO {
@ExcelProperty("备注") @ExcelProperty("备注")
private String remark; private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间") @ExcelProperty("申请时间")
private LocalDateTime requestTime; private LocalDateTime requestTime;
@ -75,17 +65,11 @@ public class PurchasereturnRequestMainExcelVO {
private String departmentCode; private String departmentCode;
@ExcelProperty(value = "状态", converter = DictConvert.class) @ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.REQUEST_STATUS)
private String status; private String status;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes; private String fromLocationTypes;
@ExcelProperty("从库区代码范围") @ExcelProperty("从库区代码范围")
@ -95,7 +79,7 @@ public class PurchasereturnRequestMainExcelVO {
private String fromDockCode; private String fromDockCode;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes; private String toLocationTypes;
@ExcelProperty("到库区代码范围") @ExcelProperty("到库区代码范围")
@ -113,4 +97,79 @@ public class PurchasereturnRequestMainExcelVO {
@ExcelProperty("直接生成记录") @ExcelProperty("直接生成记录")
private String directCreateRecord; 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); List<PutawayRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "上架申请主.xls", "上架申请数据", PutawayRequestMainExcelVO.class, resultList, mapDropDown); ExcelUtils.write(response, "上架申请主.xls", "上架申请数据", PutawayRequestMainExcelVO.class, resultList, mapDropDown);
} }
@PostMapping("/export-excel-senior")
@GetMapping("/export-excel-senior")
@Operation(summary = "导出上架申请主 Excel") @Operation(summary = "导出上架申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:putaway-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:putaway-request-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
@ -167,11 +166,20 @@ public class PutawayRequestMainController {
// 手动创建导出 demo // 手动创建导出 demo
List<PutawayRequestImportVO> list = new ArrayList<>(); List<PutawayRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(8, inventoryStatus); mapDropDown.put(6, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(11, requestStatus);
String[] inspectType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INSPECT_TYPE);
mapDropDown.put(15, inspectType);
String[] nextAction = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.NEXT_ACTION);
mapDropDown.put(16, nextAction);
String[] sampleMethod = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SAMPLE_METHOD);
mapDropDown.put(17, sampleMethod);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom); mapDropDown.put(18, uom);
// 输出 String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(28, inventoryStatus);
ExcelUtils.write(response, "上架申请信息导入模板.xlsx", "上架申请信息列表", PutawayRequestImportVO.class, list, mapDropDown); 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); ExcelUtils.write(response, "生产订单.xls", "数据", WorkMainExcelVO.class, resultList, mapDropDown);
} }
@GetMapping("/export-excel-senior") @PostMapping("/export-excel-senior")
@Operation(summary = "导出生产订单 Excel") @Operation(summary = "导出生产订单 Excel")
@PreAuthorize("@ss.hasPermission('wms:work-main:export')") @PreAuthorize("@ss.hasPermission('wms:work-main:export')")
@OperateLog(type = 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; package com.win.module.wms.convert.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO; 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.PurchasereturnJobDetailExcelVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO; 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.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import java.util.List;
/** /**
* 采购退货任务子 Convert * 采购退货任务子 Convert
@ -34,4 +34,6 @@ public interface PurchasereturnJobDetailConvert {
List<PurchasereturnJobDetailExcelVO> convertList02(List<PurchasereturnJobDetailDO> list); 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; package com.win.module.wms.convert.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainCreateReqVO; 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.PurchasereturnJobMainExcelVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainRespVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainRespVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO; 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.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import java.util.List;
/** /**
* 采购退货任务主 Convert * 采购退货任务主 Convert
@ -34,4 +37,17 @@ public interface PurchasereturnJobMainConvert {
List<PurchasereturnJobMainExcelVO> convertList02(List<PurchasereturnJobMainDO> list); 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; package com.win.module.wms.convert.purchasereturnRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO; 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.PurchasereturnRecordMainExcelVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO; 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.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import java.util.List;
/** /**
* 采购退货记录主 Convert * 采购退货记录主 Convert
@ -34,4 +36,15 @@ public interface PurchasereturnRecordMainConvert {
List<PurchasereturnRecordMainExcelVO> convertList02(List<PurchasereturnRecordMainDO> list); 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; package com.win.module.wms.convert.purchasereturnRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult; 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.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.PurchasereturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.Mappings; import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import java.util.List;
/** /**
* 采购退货申请主 Convert * 采购退货申请主 Convert
@ -36,10 +32,22 @@ public interface PurchasereturnRequestMainConvert {
PageResult<PurchasereturnRequestMainRespVO> convertPage(PageResult<PurchasereturnRequestMainDO> page); PageResult<PurchasereturnRequestMainRespVO> convertPage(PageResult<PurchasereturnRequestMainDO> page);
List<PurchasereturnRequestMainExcelVO> convertList02(List<PurchasereturnRequestMainDO> list); List<PurchasereturnRequestMainExcelVO> convertList02(List<PurchasereturnRequestMainDO> list);
@Mappings({ @Mappings({
@Mapping(source = "mainVo.number", target = "number"), @Mapping(source = "mainVo.number", target = "number"),
}) })
PurchasereturnRequestImportErrorVO convert(PurchasereturnRequestMainCreateReqVO mainVo, PurchasereturnRequestDetailDO detailDo); 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); 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; 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 lombok.*;
import java.util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/** /**
* 采购退货任务子 DO * 采购退货任务子 DO
@ -24,8 +26,8 @@ public class PurchasereturnJobDetailDO extends BaseDO {
/** /**
* id * id
*/ */
@TableId(type = IdType.INPUT) @TableId(type = IdType.AUTO)
private String id; 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; 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 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 java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/** /**
* 采购退货任务主 DO * 采购退货任务主 DO
@ -29,8 +26,8 @@ public class PurchasereturnJobMainDO extends BaseDO {
/** /**
* id * id
*/ */
@TableId(type = IdType.INPUT) @TableId(type = IdType.AUTO)
private String id; 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; 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 lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/** /**
* 采购退货记录子 DO * 采购退货记录子 DO
@ -103,7 +102,7 @@ public class PurchasereturnRecordDetailDO extends BaseDO {
/** /**
* 主表ID * 主表ID
*/ */
private String masterId; private Long masterId;
/** /**
* 单据号 * 单据号
*/ */

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/packageMassage/PackageMapper.java

@ -25,12 +25,12 @@ public interface PackageMapper extends BaseMapperX<PackageDO> {
lambdaQueryWrapperX.eqIfPresent(PackageDO::getNumber, reqVO.getNumber()); lambdaQueryWrapperX.eqIfPresent(PackageDO::getNumber, reqVO.getNumber());
lambdaQueryWrapperX.eqIfPresent(PackageDO::getItemCode, reqVO.getItemCode()); lambdaQueryWrapperX.eqIfPresent(PackageDO::getItemCode, reqVO.getItemCode());
lambdaQueryWrapperX.eqIfPresent(PackageDO::getBatch, reqVO.getBatch()); lambdaQueryWrapperX.eqIfPresent(PackageDO::getBatch, reqVO.getBatch());
if(reqVO.getRegularParams().equals("procure")) { if("procure".equals(reqVO.getRegularParams())) {
lambdaQueryWrapperX.isNotNull(PackageDO::getToWarehouseCode); lambdaQueryWrapperX.isNotNull(PackageDO::getToWarehouseCode);
} else if(reqVO.getRegularParams().equals("manufacture")) { } else if("manufacture".equals(reqVO.getRegularParams())) {
lambdaQueryWrapperX.isNotNull(PackageDO::getWoNumber); lambdaQueryWrapperX.isNotNull(PackageDO::getWoNumber);
lambdaQueryWrapperX.ne(PackageDO::getWoNumber,""); lambdaQueryWrapperX.ne(PackageDO::getWoNumber,"");
} else if(reqVO.getRegularParams().equals("utensil")) { } else if("utensil".equals(reqVO.getRegularParams())) {
lambdaQueryWrapperX.isNotNull(PackageDO::getCustomerCode); lambdaQueryWrapperX.isNotNull(PackageDO::getCustomerCode);
} }
return selectPage(reqVO, lambdaQueryWrapperX); return selectPage(reqVO, lambdaQueryWrapperX);

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::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereceiptRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes()) .eqIfPresent(PurchasereceiptRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes()) .eqIfPresent(PurchasereceiptRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable()) .eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable()));
.orderByDesc(PurchasereceiptRecordMainDO::getId));
} }
default PageResult<PurchasereceiptRecordMainDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasereceiptRecordMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
@ -88,8 +87,7 @@ public interface PurchasereceiptRecordMainMapper extends BaseMapperX<Purchaserec
.eqIfPresent(PurchasereceiptRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes()) .eqIfPresent(PurchasereceiptRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereceiptRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes()) .eqIfPresent(PurchasereceiptRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes()) .eqIfPresent(PurchasereceiptRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable()) .eqIfPresent(PurchasereceiptRecordMainDO::getAvailable, reqVO.getAvailable()));
.orderByDesc(PurchasereceiptRecordMainDO::getId));
} }
default List<PurchasereceiptRecordMainDO> selectSeniorList(CustomConditions conditions) { 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::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(PurchasereceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute()) .eqIfPresent(PurchasereceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(PurchasereceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord()) .eqIfPresent(PurchasereceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(PurchasereceiptRequestMainDO::getVehiclePlateNumber, reqVO.getVehiclePlateNumber()) .eqIfPresent(PurchasereceiptRequestMainDO::getVehiclePlateNumber, reqVO.getVehiclePlateNumber()));
.orderByDesc(PurchasereceiptRequestMainDO::getId));
} }
default PageResult<PurchasereceiptRequestMainDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasereceiptRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default PurchasereceiptRequestMainDO selectBySupplierCode(String supplierCode) {
return selectOne(PurchasereceiptRequestMainDO::getSupplierCode,supplierCode);
}
default PurchasereceiptRequestMainDO selectByNumber(String number) { default PurchasereceiptRequestMainDO selectByNumber(String number) {
return selectOne(PurchasereceiptRequestMainDO::getNumber, 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; package com.win.module.wms.dal.mysql.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 采购退货任务子 Mapper * 采购退货任务子 Mapper
* *
@ -52,33 +51,9 @@ public interface PurchasereturnJobDetailMapper extends BaseMapperX<Purchaseretur
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default List<PurchasereturnJobDetailDO> selectList(PurchasereturnJobDetailExportReqVO reqVO) { default List<PurchasereturnJobDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PurchasereturnJobDetailDO>() return selectList(new LambdaQueryWrapperX<PurchasereturnJobDetailDO>()
.eqIfPresent(PurchasereturnJobDetailDO::getMasterId, reqVO.getMasterId()) .eq(PurchasereturnJobDetailDO::getMasterId, masterId));
.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));
} }
} }

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; package com.win.module.wms.dal.mysql.purchasereturnJob;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO; 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.PurchasereturnJobMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List;
/** /**
* 采购退货任务主 Mapper * 采购退货任务主 Mapper
* *
@ -67,12 +69,19 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX<PurchasereturnJ
.eqIfPresent(PurchasereturnJobMainDO::getAllowContinuousScanning, reqVO.getAllowContinuousScanning()) .eqIfPresent(PurchasereturnJobMainDO::getAllowContinuousScanning, reqVO.getAllowContinuousScanning())
.eqIfPresent(PurchasereturnJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete()) .eqIfPresent(PurchasereturnJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch()) .eqIfPresent(PurchasereturnJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber()) .eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber()));
.orderByDesc(PurchasereturnJobMainDO::getId));
} }
default PageResult<PurchasereturnJobMainDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasereturnJobMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(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) { default List<PurchasereturnJobMainDO> selectList(PurchasereturnJobMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PurchasereturnJobMainDO>() return selectList(new LambdaQueryWrapperX<PurchasereturnJobMainDO>()
.eqIfPresent(PurchasereturnJobMainDO::getRequestNumber, reqVO.getRequestNumber()) .eqIfPresent(PurchasereturnJobMainDO::getRequestNumber, reqVO.getRequestNumber())
@ -122,6 +131,7 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX<PurchasereturnJ
.eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber()) .eqIfPresent(PurchasereturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.orderByDesc(PurchasereturnJobMainDO::getId)); .orderByDesc(PurchasereturnJobMainDO::getId));
} }
/** /**
*根据类型数组查询任务数量 *根据类型数组查询任务数量
* @param types * @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; package com.win.module.wms.dal.mysql.purchasereturnRecord;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 采购退货记录子 Mapper * 采购退货记录子 Mapper
* *
@ -62,44 +61,9 @@ public interface PurchasereturnRecordDetailMapper extends BaseMapperX<Purchasere
default PageResult<PurchasereturnRecordDetailDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasereturnRecordDetailDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default List<PurchasereturnRecordDetailDO> selectList(PurchasereturnRecordDetailExportReqVO reqVO) { default List<PurchasereturnRecordDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PurchasereturnRecordDetailDO>() return selectList(new LambdaQueryWrapperX<PurchasereturnRecordDetailDO>()
.eqIfPresent(PurchasereturnRecordDetailDO::getFromPackingNumber, reqVO.getFromPackingNumber()) .eq(PurchasereturnRecordDetailDO::getMasterId, masterId));
.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));
} }
} }

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; package com.win.module.wms.dal.mysql.purchasereturnRecord;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO; 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.PurchasereturnRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 采购退货记录主 Mapper * 采购退货记录主 Mapper
* *
@ -52,8 +52,7 @@ public interface PurchasereturnRecordMainMapper extends BaseMapperX<Purchaseretu
.eqIfPresent(PurchasereturnRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes()) .eqIfPresent(PurchasereturnRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereturnRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes()) .eqIfPresent(PurchasereturnRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes()) .eqIfPresent(PurchasereturnRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable()) .eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable()));
.orderByDesc(PurchasereturnRecordMainDO::getId));
} }
default PageResult<PurchasereturnRecordMainDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasereturnRecordMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
@ -90,8 +89,11 @@ public interface PurchasereturnRecordMainMapper extends BaseMapperX<Purchaseretu
.eqIfPresent(PurchasereturnRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes()) .eqIfPresent(PurchasereturnRecordMainDO::getToLocationTypes, reqVO.getToLocationTypes())
.eqIfPresent(PurchasereturnRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes()) .eqIfPresent(PurchasereturnRecordMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes()) .eqIfPresent(PurchasereturnRecordMainDO::getToAreaCodes, reqVO.getToAreaCodes())
.eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable()) .eqIfPresent(PurchasereturnRecordMainDO::getAvailable, reqVO.getAvailable()));
.orderByDesc(PurchasereturnRecordMainDO::getId)); }
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; package com.win.module.wms.dal.mysql.purchasereturnRequest;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 采购退货申请子 Mapper * 采购退货申请子 Mapper
* *
@ -46,41 +45,14 @@ public interface PurchasereturnRequestDetailMapper extends BaseMapperX<Purchaser
.betweenIfPresent(PurchasereturnRequestDetailDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(PurchasereturnRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(PurchasereturnRequestDetailDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(PurchasereturnRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(PurchasereturnRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode()) .eqIfPresent(PurchasereturnRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
.eqIfPresent(PurchasereturnRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode()) .eqIfPresent(PurchasereturnRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode()));
.orderByDesc(PurchasereturnRequestDetailDO::getId));
} }
default PageResult<PurchasereturnRequestDetailDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasereturnRequestDetailDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default List<PurchasereturnRequestDetailDO> selectList(PurchasereturnRequestDetailExportReqVO reqVO) { default List<PurchasereturnRequestDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<PurchasereturnRequestDetailDO>() return selectList(new LambdaQueryWrapperX<PurchasereturnRequestDetailDO>()
.eqIfPresent(PurchasereturnRequestDetailDO::getMasterId, reqVO.getMasterId()) .eq(PurchasereturnRequestDetailDO::getMasterId, masterId));
.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));
} }
} }

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

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java

@ -49,7 +49,7 @@ public class ItempackagingServiceImpl implements ItempackagingService {
@Override @Override
public void updateItempackaging(ItempackagingUpdateReqVO updateReqVO) { public void updateItempackaging(ItempackagingUpdateReqVO updateReqVO) {
validateItempackagingForCreateOrUpdate(null,updateReqVO.getItemCode(),updateReqVO.getUom(),updateReqVO.getStdPackUnit(),updateReqVO.getStdPackQty(),updateReqVO.getAvailable()); validateItempackagingForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getItemCode(),updateReqVO.getUom(),updateReqVO.getStdPackUnit(),updateReqVO.getStdPackQty(),updateReqVO.getAvailable());
// 校验存在 // 校验存在
validateItempackagingExists(updateReqVO.getId()); validateItempackagingExists(updateReqVO.getId());
// 更新 // 更新

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -341,7 +341,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE); throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE);
} }
mainDO.setStatus(OrderStatusEnum.CLOSED.getCode());//增加操作记录 mainDO.setStatus(OrderStatusEnum.CLOSED.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "关闭了采购订单申请", TrendsTypeEnum.UPDATE); trendsApi.createTrends(id, "order_purchase_main", "关闭了采购订单申请", TrendsTypeEnum.UPDATE);
return purchaseMainMapper.updateById(mainDO); return purchaseMainMapper.updateById(mainDO);
} }
@ -360,7 +360,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
// throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE); // throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE);
// } // }
mainDO.setStatus(OrderStatusEnum.READY.getCode());//增加操作记录 mainDO.setStatus(OrderStatusEnum.READY.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "打开了采购订单申请", TrendsTypeEnum.UPDATE); trendsApi.createTrends(id, "order_purchase_main", "打开了采购订单申请", TrendsTypeEnum.UPDATE);
return purchaseMainMapper.updateById(mainDO); return purchaseMainMapper.updateById(mainDO);
} }
@ -420,7 +420,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
} }
} }
mainDO.setStatus(OrderStatusEnum.PUBLISHED.getCode());//增加操作记录 mainDO.setStatus(OrderStatusEnum.PUBLISHED.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "发布了采购订单申请", TrendsTypeEnum.UPDATE); trendsApi.createTrends(id, "order_purchase_main", "发布了采购订单申请", TrendsTypeEnum.UPDATE);
res = purchaseMainMapper.updateById(mainDO); res = purchaseMainMapper.updateById(mainDO);
return res; return res;
} }
@ -451,7 +451,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
} }
} }
mainDO.setStatus(OrderStatusEnum.READY.getCode());//增加操作记录 mainDO.setStatus(OrderStatusEnum.READY.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "下架了采购订单申请", TrendsTypeEnum.UPDATE); trendsApi.createTrends(id, "order_purchase_main", "下架了采购订单申请", TrendsTypeEnum.UPDATE);
return purchaseMainMapper.updateById(mainDO); return purchaseMainMapper.updateById(mainDO);
} }
@ -486,7 +486,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
throw new ServiceException(PURCHASE_MAIN_NUMBERNO); throw new ServiceException(PURCHASE_MAIN_NUMBERNO);
} }
} }
//更新采购订单表的已收货数量 //更新采购订单表的已收货数量
@Override @Override
@Transactional @Transactional
@ -535,8 +534,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
throw new ServiceException(PURCHASE_MAIN_NUMBERNO); throw new ServiceException(PURCHASE_MAIN_NUMBERNO);
} }
} }
//更新采购订单表的已发货数量 //更新采购订单表的已发货数量
@Override @Override
@Transactional @Transactional

49
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java

@ -96,4 +96,53 @@ public interface PurchasePlanMainService {
* @return 导入结果 * @return 导入结果
*/ */
public List<PurchasePlanMainImportErrorVO> importPurchasePlanMainList(List<PurchasePlanMainCreateReqVO> datas, Integer mode, boolean updatePart); public List<PurchasePlanMainImportErrorVO> importPurchasePlanMainList(List<PurchasePlanMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭要货计划主
*
* @param id 采购订单申请主ID
* @return 更新数量
*/
Integer closePurchasePlanMain(Long id);
/**
* 打开要货计划主
*
* @param id 采购订单申请主ID
* @return 更新数量
*/
Integer openPurchasePlanMain(Long id);
/**
* 发布要货计划主
*
* @param id 采购订单申请主ID
* @return 更新数量
*/
Integer publishPurchasePlanMain(Long id);
/**
* 接受要货计划主
*
* @param id 采采购订单申请主ID
* @return 更新数量
*/
Integer witPurchasePlanMain(Long id);
/**
* 接受要货计划主
*
* @param id 采采购订单申请主ID
* @return 更新数量
*/
Integer accPurchasePlanMain(Long id);
/**
* 驳回要货计划主
*
* @param id 采采购订单申请主ID
* @return 更新数量
*/
Integer rejPurchasePlanMain(Long id);
} }

147
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java

@ -7,6 +7,8 @@ import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.purchasePlan.vo.*; import com.win.module.wms.controller.purchasePlan.vo.*;
import com.win.module.wms.convert.purchasePlan.PurchasePlanDetailConvert; import com.win.module.wms.convert.purchasePlan.PurchasePlanDetailConvert;
import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert; import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert;
@ -19,12 +21,14 @@ import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanDetailMapper; import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanDetailMapper;
import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanMainMapper; import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanMainMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.plan.PlanStatusEnum;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.shift.ShiftService; import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -35,7 +39,7 @@ import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASE_PLAN_MAIN_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS;
/** /**
* 要货计划主 Service 实现类 * 要货计划主 Service 实现类
@ -58,6 +62,9 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
private SupplieritemService supplieritemService; private SupplieritemService supplieritemService;
@Resource @Resource
private JobUtils jobUtils; private JobUtils jobUtils;
@Resource
private TrendsApi trendsApi;
@Override @Override
public Long createPurchasePlanMain(PurchasePlanMainCreateReqVO createReqVO) { public Long createPurchasePlanMain(PurchasePlanMainCreateReqVO createReqVO) {
@ -76,6 +83,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
PurchasePlanMainDO updateObj = PurchasePlanMainConvert.INSTANCE.convert(updateReqVO); PurchasePlanMainDO updateObj = PurchasePlanMainConvert.INSTANCE.convert(updateReqVO);
purchasePlanMainMapper.updateById(updateObj); purchasePlanMainMapper.updateById(updateObj);
} }
@Override @Override
public PageResult<PurchasePlanMainDO> getPurchasePlanMainSenior(CustomConditions conditions) { public PageResult<PurchasePlanMainDO> getPurchasePlanMainSenior(CustomConditions conditions) {
return purchasePlanMainMapper.selectSenior(conditions); return purchasePlanMainMapper.selectSenior(conditions);
@ -89,12 +97,16 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
purchasePlanMainMapper.deleteById(id); purchasePlanMainMapper.deleteById(id);
} }
private void validatePurchasePlanMainExists(Long id) { private PurchasePlanMainDO validatePurchasePlanMainExists(Long id) {
if (purchasePlanMainMapper.selectById(id) == null) { PurchasePlanMainDO purchasePlanMainDO = purchasePlanMainMapper.selectById(id);
throw exception(PURCHASE_PLAN_MAIN_NOT_EXISTS); if (purchasePlanMainDO == null) {
throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS);
} }
return purchasePlanMainDO;
} }
@Override @Override
public PurchasePlanMainDO getPurchasePlanMain(Long id) { public PurchasePlanMainDO getPurchasePlanMain(Long id) {
return purchasePlanMainMapper.selectById(id); return purchasePlanMainMapper.selectById(id);
@ -114,34 +126,35 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
public List<PurchasePlanMainDO> getPurchasePlanMainList(PurchasePlanMainExportReqVO exportReqVO) { public List<PurchasePlanMainDO> getPurchasePlanMainList(PurchasePlanMainExportReqVO exportReqVO) {
return purchasePlanMainMapper.selectList(exportReqVO); return purchasePlanMainMapper.selectList(exportReqVO);
} }
@Override @Override
public PurchasePlanDetailDO selectPurchasePlan(String pnubmer,String psupplierCode,String ppoNumber,String ppoLine,String pitemCode){ public PurchasePlanDetailDO selectPurchasePlan(String pnubmer, String psupplierCode, String ppoNumber, String ppoLine, String pitemCode) {
QueryWrapper queryWrapperMain = new QueryWrapper(); QueryWrapper queryWrapperMain = new QueryWrapper();
queryWrapperMain.eq("number",pnubmer); queryWrapperMain.eq("number", pnubmer);
queryWrapperMain.eq("supplier_code",psupplierCode); queryWrapperMain.eq("supplier_code", psupplierCode);
PurchasePlanMainDO purchasePlanMainDO = purchasePlanMainMapper.selectOne(queryWrapperMain); PurchasePlanMainDO purchasePlanMainDO = purchasePlanMainMapper.selectOne(queryWrapperMain);
if(purchasePlanMainDO != null && "TRUE".equals(purchasePlanMainDO.getAvailable())){ if (purchasePlanMainDO != null && "TRUE".equals(purchasePlanMainDO.getAvailable())) {
if(!"CLOSED".equals(purchasePlanMainDO.getStatus())){ if (!"CLOSED".equals(purchasePlanMainDO.getStatus())) {
QueryWrapper queryWrapperDetail = new QueryWrapper(); QueryWrapper queryWrapperDetail = new QueryWrapper();
queryWrapperDetail.eq("master_id",purchasePlanMainDO.getId()); queryWrapperDetail.eq("master_id", purchasePlanMainDO.getId());
queryWrapperDetail.eq("number",ppoNumber); queryWrapperDetail.eq("number", ppoNumber);
queryWrapperDetail.eq("po_line",ppoLine); queryWrapperDetail.eq("po_line", ppoLine);
queryWrapperDetail.eq("item_code",pitemCode); queryWrapperDetail.eq("item_code", pitemCode);
PurchasePlanDetailDO purchasePlanDetailDO = purchasePlanDetailMapper.selectOne(queryWrapperDetail); PurchasePlanDetailDO purchasePlanDetailDO = purchasePlanDetailMapper.selectOne(queryWrapperDetail);
if(purchasePlanDetailDO != null && "TRUE".equals(purchasePlanDetailDO.getAvailable())){ if (purchasePlanDetailDO != null && "TRUE".equals(purchasePlanDetailDO.getAvailable())) {
return purchasePlanDetailDO; return purchasePlanDetailDO;
}else { } else {
throw new UtilException( "要货计划明细:订单号" + ppoNumber + "、订单行" + ppoLine + "、零件号" + pitemCode + "、无效"); throw new UtilException("要货计划明细:订单号" + ppoNumber + "、订单行" + ppoLine + "、零件号" + pitemCode + "、无效");
} }
}else { } else {
throw new UtilException( "要货计划" + pnubmer + "已经关闭"); throw new UtilException("要货计划" + pnubmer + "已经关闭");
} }
}else { } else {
throw new UtilException( "根据计划单号" + pnubmer + ",供应商代码" + psupplierCode + "未查找到要货计划"); throw new UtilException("根据计划单号" + pnubmer + ",供应商代码" + psupplierCode + "未查找到要货计划");
} }
} }
public List<PurchasePlanMainImportErrorVO> importPurchasePlanMainList(List<PurchasePlanMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<PurchasePlanMainImportErrorVO> importPurchasePlanMainList(List<PurchasePlanMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
} }
@ -180,7 +193,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
} }
PurchasePlanDetailCreateReqVO purchasePlanDetailCreateReqVO = PurchasePlanDetailConvert.INSTANCE.convert1(purchasePlanDetailDO); PurchasePlanDetailCreateReqVO purchasePlanDetailCreateReqVO = PurchasePlanDetailConvert.INSTANCE.convert1(purchasePlanDetailDO);
PurchasePlanMainImportErrorVO importVO = PurchasePlanDetailConvert.INSTANCE.convert(createReqVO, purchasePlanDetailCreateReqVO); PurchasePlanMainImportErrorVO importVO = PurchasePlanDetailConvert.INSTANCE.convert(createReqVO, purchasePlanDetailCreateReqVO);
//进行子表的错误统计 //进行子表的错误统计
//主表没有错误 写入库里 //主表没有错误 写入库里
if (!messageMain.equals("") || !messageDetail.equals("")) { if (!messageMain.equals("") || !messageDetail.equals("")) {
@ -195,7 +208,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
if (errorList.isEmpty()) { if (errorList.isEmpty()) {
// 判断如果不存在,在进行插入 // 判断如果不存在,在进行插入
PurchasePlanMainDO existPurchaseclaimRequestMainDO = purchasePlanMainMapper.selectByNumber(createReqVO.getNumber()); PurchasePlanMainDO existPurchaseclaimRequestMainDO = purchasePlanMainMapper.selectByNumber(createReqVO.getNumber());
if (existPurchaseclaimRequestMainDO == null && mode != 3) { if (existPurchaseclaimRequestMainDO == null && mode != 3) {
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePlan"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePlan");
@ -218,10 +231,96 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
} }
}); });
//错误不为空并非部分更新,手工回滚 //错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) { if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} }
return errorList; return errorList;
} }
@Override
@Transactional
public Integer closePurchasePlanMain(Long id) {
PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id);
mainDO.setStatus(PlanStatusEnum.CLOSED.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "关闭了要货计划申请", TrendsTypeEnum.UPDATE);
return purchasePlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer openPurchasePlanMain(Long id) {
PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id);
mainDO.setStatus(PlanStatusEnum.NEW.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "打开了要货计划申请", TrendsTypeEnum.UPDATE);
return purchasePlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer publishPurchasePlanMain(Long id) {
PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id);
mainDO.setStatus(PlanStatusEnum.PUBLISHED.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "发布了要货计划申请", TrendsTypeEnum.UPDATE);
return purchasePlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer witPurchasePlanMain(Long id) {
PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id);
mainDO.setStatus(PlanStatusEnum.NEW.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "下架了要货计划申请", TrendsTypeEnum.UPDATE);
return purchasePlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer accPurchasePlanMain(Long id) {
PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id);
mainDO.setStatus(PlanStatusEnum.AGREED.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "接受了要货计划申请", TrendsTypeEnum.UPDATE);
return purchasePlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer rejPurchasePlanMain(Long id) {
PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id);
mainDO.setStatus(PlanStatusEnum.REFUSED.getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "驳回了要货计划申请", TrendsTypeEnum.UPDATE);
return purchasePlanMainMapper.updateById(mainDO);
}
//更新要货计划的已发货数量
// @Override
// @Transactional
// public void updatePlanPurchaseShippedQty(String number, String poNumber,String poLine, String itemCode, BigDecimal shippedQty) {
// QueryWrapper<PurchasePlanMainDO> purchaseMainDOQueryWrapper = new QueryWrapper();
// purchaseMainDOQueryWrapper.eq("number", poNumber);
// purchaseMainDOQueryWrapper.eq("status", OrderStatusEnum.PUBLISHED.getCode());
// List<PurchaseMainDO> purchaseMainDOList = purchaseMainMapper.selectList(purchaseMainDOQueryWrapper);
// if (purchaseMainDOList != null && purchaseMainDOList.size() > 0) {
// for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) {
// QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper();
// purchaseDetailDOQueryWrapper.eq("number", poNumber);
// purchaseDetailDOQueryWrapper.eq("line_number", poNumber);
// purchaseDetailDOQueryWrapper.eq("item_code", poNumber);
// purchaseDetailDOQueryWrapper.eq("available", "TRUE");
// List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper);
// for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) {
// //如果是离散单
// if ("DISCRETE".equals(purchaseMainDO.getType())) {
// purchaseDetailDO.setPlannedQty(purchaseDetailDO.getPlannedQty().add(planQty));
// } else {
// purchaseDetailDO.setPlannedQty(planQty);
// }
// trendsApi.createTrends(purchaseDetailDO.getId(), "plan_purchase_detail", "修改了采购订单申请子", TrendsTypeEnum.UPDATE);
// purchaseDetailMapper.updateById(purchaseDetailDO);
// }
// }
// } else {
// throw new ServiceException(PURCHASE_MAIN_NUMBERNO);
// }
// }
} }

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 { public interface PurchasereceiptJobDetailService {
/**
* 获得用高级搜索采购收货任务子分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions);
/** /**
* 获得采购收货任务子分页 * 获得采购收货任务子分页
* *
@ -30,6 +22,14 @@ public interface PurchasereceiptJobDetailService {
*/ */
PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO); PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO);
/**
* 获得用高级搜索采购收货任务子分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions);
/** /**
* 根据主表id查询 * 根据主表id查询
* @param masterId * @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 @Resource
private PurchasereceiptJobDetailMapper purchasereceiptJobDetailMapper; private PurchasereceiptJobDetailMapper purchasereceiptJobDetailMapper;
@Override
public PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO) {
return purchasereceiptJobDetailMapper.selectPage(pageReqVO);
}
@Override @Override
public PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions) { public PageResult<PurchasereceiptJobDetailDO> getPurchasereceiptJobDetailSenior(CustomConditions conditions) {
return purchasereceiptJobDetailMapper.selectSenior(conditions); return purchasereceiptJobDetailMapper.selectSenior(conditions);
@ -33,9 +38,4 @@ public class PurchasereceiptJobDetailServiceImpl implements PurchasereceiptJobDe
return purchasereceiptJobDetailMapper.selectList(masterId); 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 { public interface PurchasereceiptJobMainService {
/**
* 获得用高级搜索户分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions);
/** /**
* 获得采购收货任务主 * 获得采购收货任务主
* *
@ -44,6 +36,14 @@ public interface PurchasereceiptJobMainService {
*/ */
PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainPage(PurchasereceiptJobMainPageReqVO pageReqVO); PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainPage(PurchasereceiptJobMainPageReqVO pageReqVO);
/**
* 获得用高级搜索户分页列表
*
* @param conditions 分页排序和自定义条件
* @return 分页列表
*/
PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions);
/** /**
* 获得采购收货任务主列表, 用于 Excel 导出 * 获得采购收货任务主列表, 用于 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); 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 @Override
public PurchasereceiptJobMainDO getPurchasereceiptJobMain(Long id) { public PurchasereceiptJobMainDO getPurchasereceiptJobMain(Long id) {
return purchasereceiptJobMainMapper.selectById(id); return purchasereceiptJobMainMapper.selectById(id);
@ -399,4 +391,13 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE); trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE);
return result; 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) { private void validatePurchasereceiptRequestDetailCreate(PurchasereceiptRequestDetailDO detailDo) {
ItembasicDO itembasicDO = this.validateItem(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()); throw exception(ITEMBASIC_UOM_EXCEPTION, itembasicDO.getUom(), itembasicDO.getUom());
} }
this.validateItemPacking(detailDo); 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); 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); 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) { private PurchasereceiptRequestMainDO validatePurchasereceiptRequestMainExists(Long id) {
PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectById(id); PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectById(id);
if (existPurchasereceiptRequestMainDO == null) { 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; package com.win.module.wms.service.purchasereturnJob;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; 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.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/** /**
* 采购退货任务子 Service 接口 * 采购退货任务子 Service 接口
@ -18,14 +14,6 @@ import com.win.framework.common.pojo.PageResult;
*/ */
public interface PurchasereturnJobDetailService { public interface PurchasereturnJobDetailService {
/**
* 创建采购退货任务子
*
* @param createReqVO 创建信息
* @return 编号
*/
String createPurchasereturnJobDetail(@Valid PurchasereturnJobDetailCreateReqVO createReqVO);
/** /**
* 获得用高级搜索采购退货任务子分页列表 * 获得用高级搜索采购退货任务子分页列表
* *
@ -34,36 +22,6 @@ public interface PurchasereturnJobDetailService {
*/ */
PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailSenior(CustomConditions conditions); 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); PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO);
/** /**
* 获得采购退货任务子列表, 用于 Excel 导出 * 获得采购退货任务子列表,
* * @param masterId
* @param exportReqVO 查询条件 * @return
* @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; package com.win.module.wms.service.purchasereturnJob;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; 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.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 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 javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 采购退货任务子 Service 实现类 * 采购退货任务子 Service 实现类
@ -33,58 +24,18 @@ public class PurchasereturnJobDetailServiceImpl implements PurchasereturnJobDeta
private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper; private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper;
@Override @Override
public String createPurchasereturnJobDetail(PurchasereturnJobDetailCreateReqVO createReqVO) { public PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO) {
// 插入 return purchasereturnJobDetailMapper.selectPage(pageReqVO);
PurchasereturnJobDetailDO purchasereturnJobDetail = PurchasereturnJobDetailConvert.INSTANCE.convert(createReqVO);
purchasereturnJobDetailMapper.insert(purchasereturnJobDetail);
// 返回
return purchasereturnJobDetail.getId();
} }
@Override
public void updatePurchasereturnJobDetail(PurchasereturnJobDetailUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereturnJobDetailExists(updateReqVO.getId().toString());
// 更新
PurchasereturnJobDetailDO updateObj = PurchasereturnJobDetailConvert.INSTANCE.convert(updateReqVO);
purchasereturnJobDetailMapper.updateById(updateObj);
}
@Override @Override
public PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailSenior(CustomConditions conditions) { public PageResult<PurchasereturnJobDetailDO> getPurchasereturnJobDetailSenior(CustomConditions conditions) {
return purchasereturnJobDetailMapper.selectSenior(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 @Override
public List<PurchasereturnJobDetailDO> getPurchasereturnJobDetailList(PurchasereturnJobDetailExportReqVO exportReqVO) { public List<PurchasereturnJobDetailDO> selectList(Long masterId) {
return purchasereturnJobDetailMapper.selectList(exportReqVO); 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; package com.win.module.wms.service.purchasereturnJob;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnJob.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
import com.win.framework.common.pojo.PageResult; 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 org.springframework.lang.Nullable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/** /**
* 采购退货任务主 Service 接口 * 采购退货任务主 Service 接口
* *
@ -17,19 +20,13 @@ import org.springframework.lang.Nullable;
public interface PurchasereturnJobMainService { public interface PurchasereturnJobMainService {
/** /**
* 创建采购退货任务主 * 获得采购退货任务主分页
* *
* @param createReqVO 创建信息 * @param pageReqVO 分页查询
* @return 编号 * @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); 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 导出 * 获得采购退货任务主列表, 用于 Excel 导出
* *
@ -76,6 +42,7 @@ public interface PurchasereturnJobMainService {
* @return 采购退货任务主列表 * @return 采购退货任务主列表
*/ */
List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO); List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO);
/** /**
* 校验任务状态正确 * 校验任务状态正确
*@author chenfang *@author chenfang
@ -85,6 +52,14 @@ public interface PurchasereturnJobMainService {
*/ */
public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus); 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); PurchasereturnJobMainDO getPurchasereturnJobMain(Long id);
/** /**
*根据任务状态获取任务数量 * 根据任务状态获取任务数量
* @param types 任务状态数组 * @param types 任务状态数组
* @return * @return
*/ */
Map<String,Integer> getCountByStatus(@Nullable Collection<String> types); 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; package com.win.module.wms.service.purchasereturnJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.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.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.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 org.springframework.stereotype.Service;
import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*; 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.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
@ -32,51 +61,36 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
@Resource @Resource
private PurchasereturnJobMainMapper purchasereturnJobMainMapper; private PurchasereturnJobMainMapper purchasereturnJobMainMapper;
@Resource @Resource
private PurchasereturnJobDetailService purchasereturnJobDetailService;
@Resource
private SupplierdeliverRecordMainService supplierdeliverRecordMainService; private SupplierdeliverRecordMainService supplierdeliverRecordMainService;
@Override @Resource
public String createPurchasereturnJobMain(PurchasereturnJobMainCreateReqVO createReqVO) { private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper;
// 插入 @Resource
PurchasereturnJobMainDO purchasereturnJobMain = PurchasereturnJobMainConvert.INSTANCE.convert(createReqVO); private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper;
purchasereturnJobMainMapper.insert(purchasereturnJobMain); @Resource
// 返回 private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper;
return purchasereturnJobMain.getId(); @Resource
} private TransactionService transactionService;
@Resource
@Override private PurchaseMainService purchaseMainService;
public void updatePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO updateReqVO) { @Resource
// 校验存在 private SwitchService switchService;
validatePurchasereturnJobMainExists(updateReqVO.getId().toString()); @Resource
// 更新 private ExpectoutService expectoutService;
PurchasereturnJobMainDO updateObj = PurchasereturnJobMainConvert.INSTANCE.convert(updateReqVO); @Resource
purchasereturnJobMainMapper.updateById(updateObj); 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 @Override
public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions) { public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions) {
return purchasereturnJobMainMapper.selectSenior(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 @Override
public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO) { public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO) {
@ -87,36 +101,43 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
public List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO) { public List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO) {
return purchasereturnJobMainMapper.selectList(exportReqVO); return purchasereturnJobMainMapper.selectList(exportReqVO);
} }
/** /**
* 调用校验供应商发货记录方法 * 调用校验供应商发货记录方法
* *
* @param pasnNumber 发货单号 * @param psupplierCode 发货单号
* @param pitemCode 物品代码 * @param pitemCode 物品代码
* @param ppoNumber 订单号 * @param ppoNumber 订单号
* @param ppoLine 订单行 * @param ppoLine 订单行
* @return 供应商发货记录子 * @return 供应商发货记录子
*/ */
public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordDetailDoExist(String psupplierCode,String pnumber, String pitemCode, String ppoNumber, String ppoLine) { public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordDetailDoExist(String psupplierCode, String pnumber, String pitemCode, String ppoNumber, String ppoLine) {
SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordMainService.selectSupplierdeliverRecordMainDO(psupplierCode,pnumber, pitemCode, ppoNumber, ppoLine); SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordMainService.selectSupplierdeliverRecordMainDO(psupplierCode, pnumber, pitemCode, ppoNumber, ppoLine);
if(supplierdeliverRecordDetailDO != null){ if (supplierdeliverRecordDetailDO != null) {
return supplierdeliverRecordDetailDO; return supplierdeliverRecordDetailDO;
}else { } else {
throw exception(SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS); throw exception(SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS);
} }
} }
@Override @Override
public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus) { public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper<PurchasereturnJobMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number",pnumber); queryWrapper.eq("number", pnumber);
queryWrapper.eq("status",pstatus); queryWrapper.eq("status", pstatus);
PurchasereturnJobMainDO purchasereturnJobMainDO = purchasereturnJobMainMapper.selectOne(queryWrapper); PurchasereturnJobMainDO purchasereturnJobMainDO = purchasereturnJobMainMapper.selectOne(queryWrapper);
if(purchasereturnJobMainDO != null){ if (purchasereturnJobMainDO != null) {
return purchasereturnJobMainDO; return purchasereturnJobMainDO;
}else { } else {
throw exception(PURCHASERETURN_JOB_MAIN_STATUS_ERROR); throw exception(PURCHASERETURN_JOB_MAIN_STATUS_ERROR);
} }
} }
@Override
public List<PurchasereturnJobMainDO> getPurchasereturnJobMainList(CustomConditions conditions) {
return purchasereturnJobMainMapper.selectSeniorList(conditions);
}
@Override @Override
public PurchasereturnJobMainDO getPurchasereturnJobMain(Long id) { public PurchasereturnJobMainDO getPurchasereturnJobMain(Long id) {
return purchasereturnJobMainMapper.selectById(id); return purchasereturnJobMainMapper.selectById(id);
@ -131,4 +152,144 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
return map; 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; package com.win.module.wms.service.purchasereturnRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; 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.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/** /**
* 采购退货记录子 Service 接口 * 采购退货记录子 Service 接口
@ -19,27 +15,12 @@ import com.win.framework.common.pojo.PageResult;
public interface PurchasereturnRecordDetailService { 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); PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailSenior(CustomConditions conditions);
/** /**
* 获得采购退货记录子 * 根据主表id查询
* * @param masterId
* @param id 编号 * @return
* @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 采购退货记录子列表
*/ */
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; package com.win.module.wms.service.purchasereturnRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; 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.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 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 javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 采购退货记录子 Service 实现类 * 采购退货记录子 Service 实现类
@ -32,59 +23,19 @@ public class PurchasereturnRecordDetailServiceImpl implements PurchasereturnReco
@Resource @Resource
private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper; 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 @Override
public PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailSenior(CustomConditions conditions) { public PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailSenior(CustomConditions conditions) {
return purchasereturnRecordDetailMapper.selectSenior(conditions); return purchasereturnRecordDetailMapper.selectSenior(conditions);
} }
@Override @Override
public PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO) { public PageResult<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO) {
return purchasereturnRecordDetailMapper.selectPage(pageReqVO); return purchasereturnRecordDetailMapper.selectPage(pageReqVO);
} }
@Override @Override
public List<PurchasereturnRecordDetailDO> getPurchasereturnRecordDetailList(PurchasereturnRecordDetailExportReqVO exportReqVO) { public List<PurchasereturnRecordDetailDO> selectList(Long masterId) {
return purchasereturnRecordDetailMapper.selectList(exportReqVO); 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; package com.win.module.wms.service.purchasereturnRecord;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.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.PurchasereturnRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; 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.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import java.util.List;
/** /**
* 采购退货记录主 Service 接口 * 采购退货记录主 Service 接口
@ -19,12 +16,12 @@ import com.win.framework.common.pojo.PageResult;
public interface PurchasereturnRecordMainService { public interface PurchasereturnRecordMainService {
/** /**
* 创建采购退货记录主 * 获得采购退货记录主分页
* *
* @param createReqVO 创建信息 * @param pageReqVO 分页查询
* @return 编号 * @return 采购退货记录主分页
*/ */
Long createPurchasereturnRecordMain(@Valid PurchasereturnRecordMainCreateReqVO createReqVO); PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO);
/** /**
* 获得用高级搜索采购退货记录主分页列表 * 获得用高级搜索采购退货记录主分页列表
@ -35,49 +32,19 @@ public interface PurchasereturnRecordMainService {
PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainSenior(CustomConditions conditions); PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainSenior(CustomConditions conditions);
/** /**
* 更新采购退货记录主 * 获得采购退货记录主列表, 用于 Excel 导出
*
* @param updateReqVO 更新信息
*/
void updatePurchasereturnRecordMain(@Valid PurchasereturnRecordMainUpdateReqVO updateReqVO);
/**
* 删除采购退货记录主
*
* @param id 编号
*/
void deletePurchasereturnRecordMain(Long id);
/**
* 获得采购退货记录主
*
* @param id 编号
* @return 采购退货记录主
*/
PurchasereturnRecordMainDO getPurchasereturnRecordMain(Long id);
/**
* 获得采购退货记录主列表
* *
* @param ids 编号 * @param exportReqVO 查询条件
* @return 采购退货记录主列表 * @return 采购退货记录主列表
*/ */
List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(Collection<Long> ids); List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO);
/**
* 获得采购退货记录主分页
*
* @param pageReqVO 分页查询
* @return 采购退货记录主分页
*/
PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO);
/** /**
* 获得采购退货记录主列表, 用于 Excel 导出 * 获得采购收货记录主列表, 用于 Excel 导出
* *
* @param exportReqVO 查询条件 * @param conditions 查询条件
* @return 采购退货记录主列表 * @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; package com.win.module.wms.service.purchasereturnRecord;
import com.win.framework.common.pojo.CustomConditions; 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.PurchasereturnRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; 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.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 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 javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 采购退货记录主 Service 实现类 * 采购退货记录主 Service 实现类
@ -33,58 +25,23 @@ public class PurchasereturnRecordMainServiceImpl implements PurchasereturnRecord
private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper; private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper;
@Override @Override
public Long createPurchasereturnRecordMain(PurchasereturnRecordMainCreateReqVO createReqVO) { public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO) {
// 插入 return purchasereturnRecordMainMapper.selectPage(pageReqVO);
PurchasereturnRecordMainDO purchasereturnRecordMain = PurchasereturnRecordMainConvert.INSTANCE.convert(createReqVO);
purchasereturnRecordMainMapper.insert(purchasereturnRecordMain);
// 返回
return purchasereturnRecordMain.getId();
} }
@Override
public void updatePurchasereturnRecordMain(PurchasereturnRecordMainUpdateReqVO updateReqVO) {
// 校验存在
validatePurchasereturnRecordMainExists(updateReqVO.getId());
// 更新
PurchasereturnRecordMainDO updateObj = PurchasereturnRecordMainConvert.INSTANCE.convert(updateReqVO);
purchasereturnRecordMainMapper.updateById(updateObj);
}
@Override @Override
public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainSenior(CustomConditions conditions) { public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainSenior(CustomConditions conditions) {
return purchasereturnRecordMainMapper.selectSenior(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 @Override
public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(Collection<Long> ids) { public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO) {
return purchasereturnRecordMainMapper.selectBatchIds(ids); return purchasereturnRecordMainMapper.selectList(exportReqVO);
}
@Override
public PageResult<PurchasereturnRecordMainDO> getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO) {
return purchasereturnRecordMainMapper.selectPage(pageReqVO);
} }
@Override @Override
public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO) { public List<PurchasereturnRecordMainDO> getPurchasereturnRecordMainList(CustomConditions conditions) {
return purchasereturnRecordMainMapper.selectList(exportReqVO); 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; 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.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.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.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; 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 接口 * 采购退货申请子 Service 接口
@ -25,6 +24,7 @@ public interface PurchasereturnRequestDetailService {
* @return 编号 * @return 编号
*/ */
Long createPurchasereturnRequestDetail(@Valid PurchasereturnRequestDetailCreateReqVO createReqVO); Long createPurchasereturnRequestDetail(@Valid PurchasereturnRequestDetailCreateReqVO createReqVO);
/** /**
* 获得用高级搜索采购退货申请子分页列表 * 获得用高级搜索采购退货申请子分页列表
* *
@ -55,14 +55,6 @@ public interface PurchasereturnRequestDetailService {
*/ */
PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id); 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); PageResult<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailPage(PurchasereturnRequestDetailPageReqVO pageReqVO);
/** /**
* 获得采购退货申请子列表, 用于 Excel 导出 * 根据主表id查询
* *
* @param exportReqVO 查询条件 * @param masterId 主表id
* @return 采购退货申请子列表 * @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; package com.win.module.wms.service.purchasereturnRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO; 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.PurchasereturnRequestDetailPageReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO; 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 org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.util.*; import javax.annotation.Resource;
import java.util.List;
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 static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.ITEMBASIC_UOM_EXCEPTION;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERETURN_REQUEST_DETAIL_NOT_EXISTS;
/** /**
* 采购退货申请子 Service 实现类 * 采购退货申请子 Service 实现类
@ -31,14 +36,24 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq
@Resource @Resource
private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper; private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Resource
private ItembasicService itembasicService;
@Resource
private ItempackagingService itempackagingService;
@Override @Override
public Long createPurchasereturnRequestDetail(PurchasereturnRequestDetailCreateReqVO createReqVO) { public Long createPurchasereturnRequestDetail(PurchasereturnRequestDetailCreateReqVO createReqVO) {
// 插入 // 插入
PurchasereturnRequestDetailDO purchasereturnRequestDetail = PurchasereturnRequestDetailConvert.INSTANCE.convert(createReqVO); PurchasereturnRequestDetailDO purchasereturnRequestDetailDO = PurchasereturnRequestDetailConvert.INSTANCE.convert(createReqVO);
purchasereturnRequestDetailMapper.insert(purchasereturnRequestDetail); validatePurchasereturnRequestDetailCreate(purchasereturnRequestDetailDO);
purchasereturnRequestDetailMapper.insert(purchasereturnRequestDetailDO);
trendsApi.createTrends(purchasereturnRequestDetailDO.getId(), "purchasereturnRequestDetail", "增加了采购退货子表", TrendsTypeEnum.CREATE);
// 返回 // 返回
return purchasereturnRequestDetail.getId(); return purchasereturnRequestDetailDO.getId();
} }
@Override @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 @Override
public List<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailList(Collection<Long> ids) { public PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id) {
return purchasereturnRequestDetailMapper.selectBatchIds(ids); return purchasereturnRequestDetailMapper.selectById(id);
} }
@Override @Override
@ -85,8 +108,32 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq
} }
@Override @Override
public List<PurchasereturnRequestDetailDO> getPurchasereturnRequestDetailList(PurchasereturnRequestDetailExportReqVO exportReqVO) { public List<PurchasereturnRequestDetailDO> selectList(Long masterId) {
return purchasereturnRequestDetailMapper.selectList(exportReqVO); 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; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereturnRequest.vo.*; import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; 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 接口 * 采购退货申请主 Service 接口
@ -22,6 +22,7 @@ public interface PurchasereturnRequestMainService {
* @return 编号 * @return 编号
*/ */
Long createPurchasereturnRequestMain(@Valid PurchasereturnRequestMainCreateReqVO createReqVO); Long createPurchasereturnRequestMain(@Valid PurchasereturnRequestMainCreateReqVO createReqVO);
/** /**
* 获得用高级搜索采购退货申请主分页列表 * 获得用高级搜索采购退货申请主分页列表
* *
@ -29,6 +30,7 @@ public interface PurchasereturnRequestMainService {
* @return 分页列表 * @return 分页列表
*/ */
PageResult<PurchasereturnRequestMainDO> getPurchasereturnRequestMainSenior(CustomConditions conditions); PageResult<PurchasereturnRequestMainDO> getPurchasereturnRequestMainSenior(CustomConditions conditions);
/** /**
* 更新采购退货申请主 * 更新采购退货申请主
* *
@ -36,13 +38,6 @@ public interface PurchasereturnRequestMainService {
*/ */
void updatePurchasereturnRequestMain(@Valid PurchasereturnRequestMainUpdateReqVO updateReqVO); void updatePurchasereturnRequestMain(@Valid PurchasereturnRequestMainUpdateReqVO updateReqVO);
/**
* 删除采购退货申请主
*
* @param id 编号
*/
void deletePurchasereturnRequestMain(Long id);
/** /**
* 获得采购退货申请主 * 获得采购退货申请主
* *
@ -54,10 +49,10 @@ public interface PurchasereturnRequestMainService {
/** /**
* 获得采购退货申请主列表 * 获得采购退货申请主列表
* *
* @param ids 编号 * @param conditions 条件
* @return 采购退货申请主列表 * @return 采购退货申请主列表
*/ */
List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(Collection<Long> ids); List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(CustomConditions conditions);
/** /**
* 获得采购退货申请主分页 * 获得采购退货申请主分页
@ -82,6 +77,52 @@ public interface PurchasereturnRequestMainService {
* @param updatePart 是否支持更新 * @param updatePart 是否支持更新
* @return 导入结果 * @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; package com.win.module.wms.service.purchasereturnRequest;
import cn.hutool.core.collection.CollUtil; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils; import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.api.trends.TrendsApi;
@ -10,39 +11,51 @@ import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.dict.DictDataApi; import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.*; 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.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.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; 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.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.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.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper; 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.PurchasereturnRequestDetailMapper;
import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants; 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.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.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.purchasereceiptRecord.PurchasereceiptRecordMainService; 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.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional;
import javax.validation.Validator;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import com.win.module.wms.dal.dataobject.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 static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
@ -58,81 +71,69 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
@Resource @Resource
private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper; private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper;
@Resource @Resource
private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper; private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper;
@Resource
private PurchasereturnJobMainMapper purchasereturnJobMainMapper;
@Resource
private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper;
@Resource
private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
@Resource
private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper;
@Resource @Resource
private Validator validator; private Validator validator;
@Resource @Resource
private ItembasicService itembasicService; private ItembasicService itembasicService;
@Resource @Resource
private DictDataApi dictDataApi; private DictDataApi dictDataApi;
@Resource @Resource
private JobUtils jobUtils; private JobUtils jobUtils;
@Resource @Resource
private PurchasereceiptRecordMainService purchasereceiptRecordMainService; private PurchasereturnRecordMainService purchasereturnRecordMainService;
@Resource @Resource
private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper; private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper;
@Resource
private ExpectoutService expectoutService;
@Resource @Resource
private SerialNumberApi serialNumberApi; private SerialNumberApi serialNumberApi;
@Resource @Resource
private RequestsettingService requestsettingService; private RequestsettingService requestsettingService;
@Resource @Resource
private LocationService locationService; private LocationService locationService;
@Resource @Resource
private TrendsApi trendsApi; private TrendsApi trendsApi;
@Override @Override
public Long createPurchasereturnRequestMain(PurchasereturnRequestMainCreateReqVO createReqVO) { public Long createPurchasereturnRequestMain(PurchasereturnRequestMainCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest");
// 插入 // 插入
PurchasereturnRequestMainDO purchasereturnRequestMain = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO); 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(); return purchasereturnRequestMain.getId();
} }
@Override @Override
public void updatePurchasereturnRequestMain(PurchasereturnRequestMainUpdateReqVO updateReqVO) { public void updatePurchasereturnRequestMain(PurchasereturnRequestMainUpdateReqVO updateReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest");
// 校验存在 // 校验存在
validatePurchasereturnRequestMainExists(updateReqVO.getId()); validatePurchasereturnRequestMainExists(updateReqVO.getId());
// 更新主表 // 更新主表
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO);
if(RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) { if (RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) {
} }
trendsApi.createTrends(requestsettingDO.getId(), "PurchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(purchasereturnRequestMainDO.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE);
} }
@Override @Override
public PageResult<PurchasereturnRequestMainDO> getPurchasereturnRequestMainSenior(CustomConditions conditions) { public PageResult<PurchasereturnRequestMainDO> getPurchasereturnRequestMainSenior(CustomConditions conditions) {
return purchasereturnRequestMainMapper.selectSenior(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 @Override
public PurchasereturnRequestMainDO getPurchasereturnRequestMain(Long id) { public PurchasereturnRequestMainDO getPurchasereturnRequestMain(Long id) {
@ -140,8 +141,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
} }
@Override @Override
public List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(Collection<Long> ids) { public List<PurchasereturnRequestMainDO> getPurchasereturnRequestMainList(CustomConditions conditions) {
return purchasereturnRequestMainMapper.selectBatchIds(ids); return purchasereturnRequestMainMapper.selectSeniorList(conditions);
} }
@Override @Override
@ -154,8 +155,6 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
return purchasereturnRequestMainMapper.selectList(exportReqVO); return purchasereturnRequestMainMapper.selectList(exportReqVO);
} }
@Override @Override
public List<PurchasereturnRequestImportErrorVO> importPurchasereturnRequestList(List<PurchasereturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<PurchasereturnRequestImportErrorVO> importPurchasereturnRequestList(List<PurchasereturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
@ -164,7 +163,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
List<PurchasereturnRequestImportErrorVO> errorList = new ArrayList<>(); List<PurchasereturnRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> { datas.forEach(createReqVO -> {
BusinesstypeDO businesstypeDO = new BusinesstypeDO(); BusinesstypeDO businesstypeDO = new BusinesstypeDO();
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); PurchasereturnRecordMainDO purchasereturnRecordMainDO = new PurchasereturnRecordMainDO();
PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO); PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validatorPurchasereturnRequestMainImport(mainDo); String messageMain = validatorPurchasereturnRequestMainImport(mainDo);
List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList();
@ -172,7 +171,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
// 是否有错误数据 // 是否有错误数据
boolean flag = true; boolean flag = true;
for (PurchasereturnRequestDetailDO detailDO : subDOList) { for (PurchasereturnRequestDetailDO detailDO : subDOList) {
String messageDetail = validatorPurchasereturnRequestDetailImport(detailDO, mainDo,businesstypeDO); String messageDetail = validatorPurchasereturnRequestDetailImport(detailDO, mainDo, businesstypeDO);
if (!messageMain.isEmpty() || messageDetail.isEmpty()) { if (!messageMain.isEmpty() || messageDetail.isEmpty()) {
PurchasereturnRequestImportErrorVO importErrorVO = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); PurchasereturnRequestImportErrorVO importErrorVO = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败"); importErrorVO.setImportStatus("失败");
@ -187,8 +186,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDo.setNumber(number); mainDo.setNumber(number);
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber()); mainDo.setPpNumber(purchasereturnRecordMainDO.getPpNumber());
mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber()); mainDo.setAsnNumber(purchasereturnRecordMainDO.getAsnNumber());
mainDo.setRequestTime(LocalDateTime.now()); mainDo.setRequestTime(LocalDateTime.now());
purchasereturnRequestMainMapper.insert(mainDo); purchasereturnRequestMainMapper.insert(mainDo);
for (PurchasereturnRequestDetailDO detailDO : subDOList) { for (PurchasereturnRequestDetailDO detailDO : subDOList) {
@ -202,29 +201,175 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
return errorList; return errorList;
} }
private void ifUomSuccess(String itemUom,String uom) { private void ifUomSuccess(String itemUom, String uom) {
if(!itemUom.equals(uom)){ if (!itemUom.equals(uom)) {
throw exception(UOM_EXCEPTION,"提示单位"+ uom + "错误,应该是" + itemUom); throw exception(UOM_EXCEPTION, "提示单位" + uom + "错误,应该是" + itemUom);
} }
} }
private void ifdetailQtyBigThanQty(BigDecimal detailQty, BigDecimal qty) { private void ifdetailQtyBigThanQty(BigDecimal detailQty, BigDecimal qty) {
if(detailQty.compareTo(qty) > 0){ if (detailQty.compareTo(qty) > 0) {
throw exception(QTY_EXCEPTION,"退货数量"+ qty + "不能大于于收货数量" + detailQty); throw exception(QTY_EXCEPTION, "退货数量" + qty + "不能大于于收货数量" + detailQty);
} }
} }
private ItembasicDO validatorItembasic(String itemCode){
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode); return itembasicService.selectItembasic(itemCode);
} }
private void validatorIfInType(String itemType,BusinesstypeDO businesstypeDO){ private void validatorIfInType(String itemType, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(itemType, businesstypeDO); jobUtils.ifInType(itemType, businesstypeDO);
} }
private void validatorIfInToLocationType(String fromLocationCode,BusinesstypeDO businesstypeDO){
private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) {
jobUtils.ifInToLocationType(fromLocationCode, 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); locationService.selectLocation(fromLocationCode);
} }
@ -241,23 +386,25 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes()); 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()); inventoryStatus.add(detailDo.getInventoryStatus());
BigDecimal bigDecimal = new BigDecimal(0); BigDecimal bigDecimal = new BigDecimal(0);
List<BalanceDO> banlance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
if(banlance != null) { if (balance != null) {
for (BalanceDO balanceDO : banlance) { for (BalanceDO balanceDO : balance) {
bigDecimal = bigDecimal.add(balanceDO.getQty()); bigDecimal = bigDecimal.add(balanceDO.getQty());
mainDO.setFromWarehouseCode(balanceDO.getWarehouseCode()); mainDO.setFromWarehouseCode(balanceDO.getWarehouseCode());
} }
} }
return bigDecimal; return bigDecimal;
} }
// 新增校验 // 新增校验
private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO) {
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO();
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO,purchasereceiptRecordMainDO); PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO);
//子表校验 //子表校验
List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(subList); 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(); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO();
PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO,purchasereceiptRecordMainDO); PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO);
//子表校验 //子表校验
List<PurchasereturnRequestDetailUpdateReqVO> subList = updateReqVO.getSubList(); List<PurchasereturnRequestDetailUpdateReqVO> subList = updateReqVO.getSubList();
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList05(subList); List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList05(subList);
@ -288,14 +435,24 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
purchasereturnRequestDetailMapper.updateBatch(subDOList); purchasereturnRequestDetailMapper.updateBatch(subDOList);
return purchaseclaimRequestMainDO; 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); PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(baseVO);
requestsettingAndBusinesstypeSet(mainDo); requestsettingAndBusinesstypeSet(mainDo);
return 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()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2()); detailDo.setItemDesc2(itembasicDO.getDesc2());
@ -304,9 +461,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom()); this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
validatorLocation(detailDo.getFromLocationCode()); validatorLocation(detailDo.getFromLocationCode());
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode());
QueryWrapper queryWrapper = new QueryWrapper(); purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId());
queryWrapper.eq("id", purchasereceiptRecordDetailDO.getMasterId());
purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapper);
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty());
BigDecimal bigDecimal = validatorBalance(detailDo,mainDo); BigDecimal bigDecimal = validatorBalance(detailDo,mainDo);
ifdetailQtyBigThanQty(detailDo.getQty(),bigDecimal); ifdetailQtyBigThanQty(detailDo.getQty(),bigDecimal);
@ -323,8 +478,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest"); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest");
if (requestsettingDO == null) { if (requestsettingDO == null) {
message.append("未查找到采购退货申请的相关申请设置"); message.append("未查找到采购退货申请的相关申请设置");
} } else {
else {
mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
@ -333,8 +487,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest");
if (businesstypeDO == null) { if (businesstypeDO == null) {
message.append("根据单据设置未查找到采购退货申请的相关业务类型"); message.append("根据单据设置未查找到采购退货申请的相关业务类型");
} } else {
else {
mainDo.setBusinessType(businesstypeDO.getCode()); mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes()); mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
@ -388,9 +541,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
} }
try { try {
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode());
QueryWrapper queryWrapper = new QueryWrapper(); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId());
queryWrapper.eq("id", purchasereceiptRecordDetailDO.getMasterId());
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapper);
try { try {
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty());
} catch (Exception ex) { } catch (Exception ex) {

Loading…
Cancel
Save