From a8d2f753dbbcc558379b99607d2c09d5c4403059 Mon Sep 17 00:00:00 2001 From: yejiaxing <591141169@qq.com> Date: Wed, 27 Dec 2023 11:07:48 +0800 Subject: [PATCH] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SupplierinvoiceRecordDeatilPageReqVO.java | 3 + ...upplierinvoiceRequestDetailController.java | 10 +- .../SupplierinvoiceRequestMainController.java | 53 ++++ ...SupplierinvoiceRequestDetailPageReqVO.java | 5 + ...SupplierinvoiceRequestMainCreateReqVO.java | 7 + .../SupplierinvoiceRequestDetailConvert.java | 4 + .../SupplierinvoiceRequestMainConvert.java | 9 +- .../SupplierinvoiceRecordDeatilDO.java | 2 +- .../SupplierinvoiceRequestDetailDO.java | 2 +- .../SupplierinvoiceRequestMainDO.java | 8 +- .../PurchaseclaimRecordDetailMapper.java | 8 + .../PurchasereceiptRecordDetailMapper.java | 8 + .../PurchasereturnRecordDetailMapper.java | 7 + .../SupplierinvoiceRecordDeatilMapper.java | 2 + .../SupplierinvoiceRequestDetailMapper.java | 2 + .../SupplierinvoiceRequestMainMapper.java | 5 +- ...SupplierdeliverRequestMainServiceImpl.java | 4 +- .../SupplierinvoiceRequestDetailService.java | 14 +- ...pplierinvoiceRequestDetailServiceImpl.java | 34 ++- .../SupplierinvoiceRequestMainService.java | 49 ++++ ...SupplierinvoiceRequestMainServiceImpl.java | 273 ++++++++++++++++-- 21 files changed, 454 insertions(+), 55 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRecord/vo/SupplierinvoiceRecordDeatilPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRecord/vo/SupplierinvoiceRecordDeatilPageReqVO.java index a4652caa..b979e9d7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRecord/vo/SupplierinvoiceRecordDeatilPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRecord/vo/SupplierinvoiceRecordDeatilPageReqVO.java @@ -102,4 +102,7 @@ public class SupplierinvoiceRecordDeatilPageReqVO extends PageParam { @Schema(description = "任务明细ID") private String jobDetailId; + @Schema(description = "主表ID") + private Long masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestDetailController.java index f0c2bb1e..7f52df56 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestDetailController.java @@ -89,6 +89,7 @@ public class SupplierinvoiceRequestDetailController { } return success(result); } + @GetMapping("/list") @Operation(summary = "获得供应商发票申请子列表") @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") @@ -123,6 +124,11 @@ public class SupplierinvoiceRequestDetailController { ExcelUtils.write(response, "供应商发票申请子.xls", "数据", SupplierinvoiceRequestDetailExcelVO.class, datas); } - - + @GetMapping("/getPoNumber") + @Operation(summary = "获得供应商发票子订单号号分页") + @PreAuthorize("@ss.hasPermission('wms:supplierinvoice-request-detail:getPoNumber')") + public CommonResult getPoNumber(@Valid SupplierinvoiceRequestDetailPageReqVO pageVO) { + Object object = supplierinvoiceRequestDetailService.getPoNumber(pageVO); + return success(object) ; + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestMainController.java index 805ecc9f..da7e7a19 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestMainController.java @@ -131,4 +131,57 @@ public class SupplierinvoiceRequestMainController { return success(object) ; } + @PostMapping("/close") + @Operation(summary = "关闭供应商发票") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplierinvoice-request-main:close')") + public CommonResult closeSupplierinvoiceRequestMain(@RequestParam("id") Long id) { + Integer count = supplierinvoiceRequestMainService.closeSupplierinvoiceRequestMain(id); + return success(count > 0); + } + + @PostMapping("/open") + @Operation(summary = "打开供应商发票") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplierinvoice-request-main:open')") + public CommonResult openSupplierinvoiceRequestMain(@RequestParam("id") Long id) { + Integer count = supplierinvoiceRequestMainService.openSupplierinvoiceRequestMain(id); + return success(count > 0); + } + + @PostMapping("/sub") + @Operation(summary = "提交供应商发票") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplierinvoice-request-main:sub')") + public CommonResult subSupplierinvoiceRequestMain(@RequestParam("id") Long id) { + Integer count = supplierinvoiceRequestMainService.subSupplierinvoiceRequestMain(id); + return success(count > 0); + } + + @PostMapping("/app") + @Operation(summary = "审批通过供应商发票") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplierinvoice-request-main:app')") + public CommonResult witSupplierinvoiceRequestMain(@RequestParam("id") Long id) { + Integer count = supplierinvoiceRequestMainService.witSupplierinvoiceRequestMain(id); + return success(count > 0); + } + + @PostMapping("/rej") + @Operation(summary = "驳回供应商发票") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplierinvoice-request-main:rej')") + public CommonResult rejSupplierinvoiceRequestMain(@RequestParam("id") Long id) { + Integer count = supplierinvoiceRequestMainService.rejSupplierinvoiceRequestMain(id); + return success(count > 0); + } + + @PostMapping("/genRecords") + @Operation(summary = "生成供应商发票记录") + @Parameter(name = "id", description = "编号", required = true) + public CommonResult genRecords(@RequestParam("id") String id) { + Integer count = supplierinvoiceRequestMainService.genRecords(id); + return success(count > 0); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestDetailPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestDetailPageReqVO.java index e47d64f8..539eb74d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestDetailPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestDetailPageReqVO.java @@ -66,4 +66,9 @@ public class SupplierinvoiceRequestDetailPageReqVO extends PageParam { @Schema(description = "创建者用户名") private String creator; + private String recordType; + + @Schema(description = "主表ID") + private Long masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestMainCreateReqVO.java index fcb5691b..c3b8e7ce 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/vo/SupplierinvoiceRequestMainCreateReqVO.java @@ -1,12 +1,19 @@ package com.win.module.wms.controller.supplierinvoiceRequest.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailCreateReqVO; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + @Schema(description = "管理后台 - 供应商发票申请主创建 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class SupplierinvoiceRequestMainCreateReqVO extends SupplierinvoiceRequestMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestDetailConvert.java index 0db93ca6..aac78c85 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestDetailConvert.java @@ -4,10 +4,12 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailCreateReqVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailCreateReqVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailExcelVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailRespVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestDetailDO; @@ -34,4 +36,6 @@ public interface SupplierinvoiceRequestDetailConvert { List convertList02(List list); + List convertList03(List list); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestMainConvert.java index 3adb1051..960a7213 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierinvoiceRequest/SupplierinvoiceRequestMainConvert.java @@ -4,10 +4,9 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainCreateReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainExcelVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainRespVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainUpdateReqVO; +import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestMainBaseVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.*; +import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestMainDO; @@ -26,6 +25,8 @@ public interface SupplierinvoiceRequestMainConvert { SupplierinvoiceRequestMainDO convert(SupplierinvoiceRequestMainUpdateReqVO bean); + SupplierinvoiceRequestMainDO convert(SupplierinvoiceRequestMainBaseVO baseVO); + SupplierinvoiceRequestMainRespVO convert(SupplierinvoiceRequestMainDO bean); List convertList(List list); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRecord/SupplierinvoiceRecordDeatilDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRecord/SupplierinvoiceRecordDeatilDO.java index 9b1f50d6..363ccc55 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRecord/SupplierinvoiceRecordDeatilDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRecord/SupplierinvoiceRecordDeatilDO.java @@ -94,7 +94,7 @@ public class SupplierinvoiceRecordDeatilDO extends BaseDO { /** * 主表ID */ - private String masterId; + private Long masterId; /** * 单据号 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestDetailDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestDetailDO.java index e293f140..89a1a4a8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestDetailDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestDetailDO.java @@ -82,7 +82,7 @@ public class SupplierinvoiceRequestDetailDO extends BaseDO { /** * 主表ID */ - private String masterId; + private Long masterId; /** * 单据号 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestMainDO.java index 44556811..62c72109 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierinvoiceRequest/SupplierinvoiceRequestMainDO.java @@ -96,10 +96,10 @@ public class SupplierinvoiceRequestMainDO extends BaseDO { * 自动通过 */ private String autoAgree; - /** - * 自动执行 - */ - private String autoExecute; +// /** +// * 自动执行 +// */ +// private String autoExecute; /** * 直接生成记录 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseclaimRecord/PurchaseclaimRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseclaimRecord/PurchaseclaimRecordDetailMapper.java index bc898698..e768bcd0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseclaimRecord/PurchaseclaimRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseclaimRecord/PurchaseclaimRecordDetailMapper.java @@ -9,7 +9,10 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailExportReqVO; import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailPageReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailPageReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainPageReqVO; import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import org.apache.ibatis.annotations.Mapper; /** @@ -74,4 +77,9 @@ public interface PurchaseclaimRecordDetailMapper extends BaseMapperX selectNumber(SupplierinvoiceRequestDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(PurchaseclaimRecordDetailDO::getNumber, reqVO.getNumber())); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordDetailMapper.java index 16b38c02..d7d678aa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordDetailMapper.java @@ -6,7 +6,10 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailPageReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailPageReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainPageReqVO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -78,4 +81,9 @@ public interface PurchasereceiptRecordDetailMapper extends BaseMapperX selectNumber(SupplierinvoiceRequestDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(PurchasereceiptRecordDetailDO::getNumber, reqVO.getNumber())); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java index a07d4a84..62cf1ab7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java @@ -6,6 +6,9 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailPageReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainPageReqVO; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import org.apache.ibatis.annotations.Mapper; @@ -66,5 +69,9 @@ public interface PurchasereturnRecordDetailMapper extends BaseMapperX() .eq(PurchasereturnRecordDetailDO::getMasterId, masterId)); } + default PageResult selectNumber(SupplierinvoiceRequestDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(PurchasereturnRecordDetailDO::getNumber, reqVO.getNumber())); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRecord/SupplierinvoiceRecordDeatilMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRecord/SupplierinvoiceRecordDeatilMapper.java index 930cc27a..d6396efa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRecord/SupplierinvoiceRecordDeatilMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRecord/SupplierinvoiceRecordDeatilMapper.java @@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.supplierinvoiceRecord.vo.SupplierinvoiceRecordDeatilExportReqVO; import com.win.module.wms.controller.supplierinvoiceRecord.vo.SupplierinvoiceRecordDeatilPageReqVO; import com.win.module.wms.dal.dataobject.supplierinvoiceRecord.SupplierinvoiceRecordDeatilDO; +import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestDetailDO; import org.apache.ibatis.annotations.Mapper; /** @@ -22,6 +23,7 @@ public interface SupplierinvoiceRecordDeatilMapper extends BaseMapperX selectPage(SupplierinvoiceRecordDeatilPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(SupplierinvoiceRecordDeatilDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(SupplierinvoiceRecordDeatilDO::getRecordNumber, reqVO.getRecordNumber()) .eqIfPresent(SupplierinvoiceRecordDeatilDO::getPackingNumber, reqVO.getPackingNumber()) .eqIfPresent(SupplierinvoiceRecordDeatilDO::getContainerNumber, reqVO.getContainerNumber()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestDetailMapper.java index 83279f2a..39803723 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestDetailMapper.java @@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailExportReqVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailPageReqVO; import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestDetailDO; +import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestMainDO; import org.apache.ibatis.annotations.Mapper; /** @@ -22,6 +23,7 @@ public interface SupplierinvoiceRequestDetailMapper extends BaseMapperX selectPage(SupplierinvoiceRequestDetailPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(SupplierinvoiceRequestDetailDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(SupplierinvoiceRequestDetailDO::getRecordNumber, reqVO.getRecordNumber()) .eqIfPresent(SupplierinvoiceRequestDetailDO::getOwnerCode, reqVO.getOwnerCode()) .eqIfPresent(SupplierinvoiceRequestDetailDO::getPoNumber, reqVO.getPoNumber()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestMainMapper.java index ff686946..5bc478c1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierinvoiceRequest/SupplierinvoiceRequestMainMapper.java @@ -9,6 +9,7 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainExportReqVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainPageReqVO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestMainDO; import org.apache.ibatis.annotations.Mapper; @@ -37,7 +38,7 @@ public interface SupplierinvoiceRequestMainMapper extends BaseMapperX getSupplierinvoiceRequestDetailList(SupplierinvoiceRequestDetailExportReqVO exportReqVO); + /** + * 获得供应商发票申请主分页 + * + * @param pageReqVO 分页查询 + * @return 供应商发票申请主分页 + */ + Object getPoNumber(SupplierinvoiceRequestDetailPageReqVO pageReqVO); + + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestDetailServiceImpl.java index d785aa48..2594aea0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestDetailServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.supplierinvoiceRequest; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailCreateReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailExportReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailPageReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestDetailUpdateReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.*; +import com.win.module.wms.dal.mysql.purchaseclaimRecord.PurchaseclaimRecordDetailMapper; +import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper; +import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -31,6 +31,13 @@ public class SupplierinvoiceRequestDetailServiceImpl implements SupplierinvoiceR @Resource private SupplierinvoiceRequestDetailMapper supplierinvoiceRequestDetailMapper; + @Resource + private PurchasereceiptRecordDetailMapper purchasereceiptRecordDetailMapper; + @Resource + private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper; + @Resource + private PurchaseclaimRecordDetailMapper purchaseclaimRecordDetailMapper; + @Override public Long createSupplierinvoiceRequestDetail(SupplierinvoiceRequestDetailCreateReqVO createReqVO) { @@ -88,4 +95,23 @@ public class SupplierinvoiceRequestDetailServiceImpl implements SupplierinvoiceR return supplierinvoiceRequestDetailMapper.selectList(exportReqVO); } + @Override + public Object getPoNumber(SupplierinvoiceRequestDetailPageReqVO pageReqVO) { + Object object=new ArrayList<>(); + // 收货单号 purchasereceiptRecordMainMapper + if ("1".equals(pageReqVO.getRecordType())) { + object = purchasereceiptRecordDetailMapper.selectNumber(pageReqVO); + } + // 退货单号 purchasereturnRecordMainMapper + else if ("2".equals(pageReqVO.getRecordType())) { + object = purchasereturnRecordDetailMapper.selectNumber(pageReqVO); + } + // 索赔单号 purchaseclaimRecordMainMapper + else if ("3".equals(pageReqVO.getRecordType())) { + object = purchaseclaimRecordDetailMapper.selectNumber(pageReqVO); + } + + return object; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainService.java index d0c8cab5..0d004c9d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainService.java @@ -87,4 +87,53 @@ public interface SupplierinvoiceRequestMainService { */ Object getNumber(SupplierinvoiceRequestMainPageReqVO pageReqVO); + + /** + * 关闭供应商发票申请 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + Integer closeSupplierinvoiceRequestMain(Long id); + + /** + * 打开供应商发票申请主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + Integer openSupplierinvoiceRequestMain(Long id); + + /** + * 提交供应商发票申请主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + Integer subSupplierinvoiceRequestMain(Long id); + + /** + * 审批通过供应商发票申请主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + Integer witSupplierinvoiceRequestMain(Long id); + + /** + * 驳回供应商发票申请主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + Integer rejSupplierinvoiceRequestMain(Long id); + + /** + * 生成供应商发票记录 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + Integer genRecords(String id); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainServiceImpl.java index c8ade03d..ceaf02c4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainServiceImpl.java @@ -2,44 +2,54 @@ package com.win.module.wms.service.supplierinvoiceRequest; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordMainPageReqVO; -import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainCreateReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainExportReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainPageReqVO; -import com.win.module.wms.controller.supplierinvoiceRequest.vo.SupplierinvoiceRequestMainUpdateReqVO; -import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; -import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordMainDO; -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.purchasereturnRecord.PurchasereturnRecordMainDO; +import com.win.framework.common.pojo.PageResult; +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.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.supplierinvoiceRecord.vo.SupplierinvoiceRecordMainCreateReqVO; +import com.win.module.wms.controller.supplierinvoiceRequest.vo.*; +import com.win.module.wms.convert.supplierinvoiceRecord.SupplierinvoiceRecordMainConvert; +import com.win.module.wms.convert.supplierinvoiceRequest.SupplierinvoiceRequestDetailConvert; +import com.win.module.wms.convert.supplierinvoiceRequest.SupplierinvoiceRequestMainConvert; +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.location.LocationDO; import com.win.module.wms.dal.dataobject.supplier.SupplierDO; +import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO; +import com.win.module.wms.dal.dataobject.supplierinvoiceRecord.SupplierinvoiceRecordDeatilDO; +import com.win.module.wms.dal.dataobject.supplierinvoiceRecord.SupplierinvoiceRecordMainDO; import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestDetailDO; +import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestMainDO; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.module.wms.dal.mysql.purchaseclaimRecord.PurchaseclaimRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper; +import com.win.module.wms.dal.mysql.supplierinvoiceRecord.SupplierinvoiceRecordDeatilMapper; +import com.win.module.wms.dal.mysql.supplierinvoiceRecord.SupplierinvoiceRecordMainMapper; +import com.win.module.wms.dal.mysql.supplierinvoiceRequest.SupplierinvoiceRequestDetailMapper; +import com.win.module.wms.dal.mysql.supplierinvoiceRequest.SupplierinvoiceRequestMainMapper; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.purchasereceiptRecord.PurchasereceiptRecordMainService; import com.win.module.wms.service.supplier.SupplierService; -import com.win.module.wms.service.supplieritem.SupplieritemService; +import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import java.util.*; - -import com.win.module.wms.dal.dataobject.supplierinvoiceRequest.SupplierinvoiceRequestMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.supplierinvoiceRequest.SupplierinvoiceRequestMainConvert; -import com.win.module.wms.dal.mysql.supplierinvoiceRequest.SupplierinvoiceRequestMainMapper; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SUPPLIERINVOICE_REQUEST_MAIN_NOT_EXISTS; /** * 供应商发票申请主 Service 实现类 @@ -53,6 +63,10 @@ public class SupplierinvoiceRequestMainServiceImpl implements SupplierinvoiceReq @Resource private SupplierinvoiceRequestMainMapper supplierinvoiceRequestMainMapper; @Resource + private SupplierinvoiceRecordMainMapper supplierinvoiceRecordMainMapper; + @Resource + private SupplierinvoiceRecordDeatilMapper supplierinvoiceRecordDeatilMapper; + @Resource private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper; @Resource private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper; @@ -62,15 +76,33 @@ public class SupplierinvoiceRequestMainServiceImpl implements SupplierinvoiceReq private SupplierService supplierService; @Resource private PurchasereceiptRecordMainService purchasereceiptRecordMainService; + @Resource + private JobUtils jobUtils; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private TrendsApi trendsApi; + @Resource + private SupplierinvoiceRequestDetailMapper supplierinvoiceRequestDetailMapper; + @Resource + private ItembasicService itembasicService; @Override + @Transactional public Long createSupplierinvoiceRequestMain(SupplierinvoiceRequestMainCreateReqVO createReqVO) { - // 插入 - SupplierinvoiceRequestMainDO supplierinvoiceRequestMain = SupplierinvoiceRequestMainConvert.INSTANCE.convert(createReqVO); - supplierinvoiceRequestMainMapper.insert(supplierinvoiceRequestMain); - // 返回 - return supplierinvoiceRequestMain.getId(); + // 插入主表 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("SupplierInvoiceRequest"); + createReqVO.setBusinessType(businesstypeDO.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.SUPPLIER_DELIVER_REQUEST.getCode()); + createReqVO.setNumber(number); + createReqVO.setCreateTime(LocalDateTime.now()); + SupplierinvoiceRequestMainDO supplierinvoiceRequestMainDO = validatorToCreate(createReqVO); + //调用自动执行方法 + if (RequestStatusEnum.HANDLING.getCode().equals(supplierinvoiceRequestMainDO.getStatus())) { + } + trendsApi.createTrends(supplierinvoiceRequestMainDO.getId(), "PurchaseOrder", "增加了供应商发票", TrendsTypeEnum.CREATE); + return supplierinvoiceRequestMainDO.getId(); } @Override @@ -95,12 +127,16 @@ public class SupplierinvoiceRequestMainServiceImpl implements SupplierinvoiceReq supplierinvoiceRequestMainMapper.deleteById(id); } - private void validateSupplierinvoiceRequestMainExists(Long id) { - if (supplierinvoiceRequestMainMapper.selectById(id) == null) { + private SupplierinvoiceRequestMainDO validateSupplierinvoiceRequestMainExists(Long id) { + + SupplierinvoiceRequestMainDO supplierinvoiceRequestMainDO = supplierinvoiceRequestMainMapper.selectById(id); + if (supplierinvoiceRequestMainDO == null) { throw exception(SUPPLIERINVOICE_REQUEST_MAIN_NOT_EXISTS); } + return supplierinvoiceRequestMainDO; } + @Override public SupplierinvoiceRequestMainDO getSupplierinvoiceRequestMain(Long id) { return supplierinvoiceRequestMainMapper.selectById(id); @@ -126,6 +162,48 @@ public class SupplierinvoiceRequestMainServiceImpl implements SupplierinvoiceReq return supplierService.selectSupplier(supplierCode); } + @Transactional + private SupplierinvoiceRequestMainDO validatorToCreate( SupplierinvoiceRequestMainCreateReqVO createReqVO) { + SupplierinvoiceRequestMainDO supplierdeliverRequestMainDO = validatorMainMethod(createReqVO); + //子表校验 + List subList = createReqVO.getSubList(); + List subDOList = SupplierinvoiceRequestDetailConvert.INSTANCE.convertList03(subList); + supplierdeliverRequestMainDO.setId(null); + supplierdeliverRequestMainDO.setCreator(null); + supplierdeliverRequestMainDO.setCreateTime(null); + supplierdeliverRequestMainDO.setUpdater(null); + supplierdeliverRequestMainDO.setUpdateTime(null); + supplierinvoiceRequestMainMapper.insert(supplierdeliverRequestMainDO); + for ( SupplierinvoiceRequestDetailDO supplierinvoiceRequestDetailDO : subDOList) { + validatorDetailMethod(supplierinvoiceRequestDetailDO, supplierdeliverRequestMainDO); + supplierinvoiceRequestDetailDO.setMasterId(supplierdeliverRequestMainDO.getId()); + supplierinvoiceRequestDetailDO.setNumber(supplierdeliverRequestMainDO.getNumber()); + supplierinvoiceRequestDetailDO.setConvertRate(new BigDecimal(0)); + supplierinvoiceRequestDetailDO.setId(null); + supplierinvoiceRequestDetailDO.setCreator(null); + supplierinvoiceRequestDetailDO.setCreateTime(null); +// supplierinvoiceRequestDetailDO.setUpdater(null); +// supplierinvoiceRequestDetailDO.setUpdateTime(null); + } + supplierinvoiceRequestDetailMapper.insertBatch(subDOList); + return supplierdeliverRequestMainDO; + } + + //校验主表公共方法(适用于新增/修改) + + @Transactional + private SupplierinvoiceRequestMainDO validatorMainMethod(SupplierinvoiceRequestMainBaseVO baseVO) { + SupplierinvoiceRequestMainDO mainDo = SupplierinvoiceRequestMainConvert.INSTANCE.convert(baseVO); + mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); + return mainDo; + } + + //校验子表公共方法(适用于新增/修改) + + @Transactional + private void validatorDetailMethod(SupplierinvoiceRequestDetailDO detailDo, SupplierinvoiceRequestMainDO mainDo) { + } + @Override public Object getNumber(SupplierinvoiceRequestMainPageReqVO pageReqVO) { @@ -146,5 +224,138 @@ public class SupplierinvoiceRequestMainServiceImpl implements SupplierinvoiceReq return object; } + /** + * 关闭供应商发货申请主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer closeSupplierinvoiceRequestMain(Long id) { + SupplierinvoiceRequestMainDO mainDO = validateSupplierinvoiceRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.CLOSED.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_supplierdeliver_main", "关闭了供应商发货申请", TrendsTypeEnum.UPDATE); + return supplierinvoiceRequestMainMapper.updateById(mainDO); + } + + /** + * 打开供应商发货申请主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer openSupplierinvoiceRequestMain(Long id) { + SupplierinvoiceRequestMainDO mainDO = validateSupplierinvoiceRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.NEW.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_supplierdeliver_main", "打开了供应商发货申请", TrendsTypeEnum.UPDATE); + return supplierinvoiceRequestMainMapper.updateById(mainDO); + } + + /** + * 提交供应商发货申请主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer subSupplierinvoiceRequestMain(Long id) { + SupplierinvoiceRequestMainDO mainDO = validateSupplierinvoiceRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.REVIEWING.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_supplierdeliver_main", "提交审批了供应商发货申请", TrendsTypeEnum.UPDATE); + return supplierinvoiceRequestMainMapper.updateById(mainDO); + } + + /** + * 审批通过供应商发货申请主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer witSupplierinvoiceRequestMain(Long id) { + SupplierinvoiceRequestMainDO mainDO = validateSupplierinvoiceRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.AGREED.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_supplierdeliver_main", "审批通过了供应商发货申请", TrendsTypeEnum.UPDATE); + return supplierinvoiceRequestMainMapper.updateById(mainDO); + } + + /** + * 驳回供应商发货申请主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer rejSupplierinvoiceRequestMain(Long id) { + SupplierinvoiceRequestMainDO mainDO = validateSupplierinvoiceRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.REFUSED.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_supplierdeliver_main", "驳回了供应商发货申请", TrendsTypeEnum.UPDATE); + return supplierinvoiceRequestMainMapper.updateById(mainDO); + } + + + /** + * 处理操作(生成记录,生成采购收货申请) + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer genRecords(String id) { + Integer result = 0; + //主表 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("id", id); + SupplierinvoiceRequestMainDO mainDO = supplierinvoiceRequestMainMapper.selectOne(queryWrapper); + //子表 + QueryWrapper< SupplierinvoiceRequestDetailDO> supplierinvoiceRequestDetailDOQueryWrapper = new QueryWrapper(); + supplierinvoiceRequestDetailDOQueryWrapper.eq("master_id", id); + List< SupplierinvoiceRequestDetailDO> detailDOList = supplierinvoiceRequestDetailMapper.selectList(supplierinvoiceRequestDetailDOQueryWrapper); + //跳过任务直接生成记录 + SupplierinvoiceRecordMainCreateReqVO SupplierinvoiceRecordMainCreateReqVO = new SupplierinvoiceRecordMainCreateReqVO(); + BeanUtils.copyProperties(mainDO, SupplierinvoiceRecordMainCreateReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.SUPPLIER_DELIVER_RECORD.getCode()); + SupplierinvoiceRecordMainCreateReqVO.setNumber(number); + SupplierinvoiceRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber()); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("SupplierinvoiceRecord"); + SupplierinvoiceRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + SupplierinvoiceRecordMainCreateReqVO.setAvailable("TRUE"); + SupplierinvoiceRecordMainCreateReqVO.setExecuteTime(LocalDateTime.now()); + SupplierinvoiceRecordMainCreateReqVO.setActiveDate(LocalDateTime.now()); + SupplierinvoiceRecordMainCreateReqVO.setDepartmentCode(mainDO.getDepartmentCode()); + SupplierinvoiceRecordMainDO supplierinvoiceRecordMainDO = SupplierinvoiceRecordMainConvert.INSTANCE.convert(SupplierinvoiceRecordMainCreateReqVO); + supplierinvoiceRecordMainDO.setId(null); + supplierinvoiceRecordMainDO.setCreator(null); + supplierinvoiceRecordMainDO.setCreateTime(null); + supplierinvoiceRecordMainDO.setUpdater(null); + supplierinvoiceRecordMainDO.setUpdateTime(null); + supplierinvoiceRecordMainMapper.insert(supplierinvoiceRecordMainDO); + for (SupplierinvoiceRequestDetailDO supplierinvoiceRequestDetailDO : detailDOList) { + SupplierinvoiceRecordDeatilDO supplierinvoiceRecordDetailDO = new SupplierinvoiceRecordDeatilDO(); + BeanUtils.copyProperties(supplierinvoiceRequestDetailDO, supplierinvoiceRecordDetailDO); + supplierinvoiceRecordDetailDO.setNumber(number); + ItembasicDO itembasicDO = itembasicService.selectItembasic(supplierinvoiceRecordDetailDO.getItemCode()); + supplierinvoiceRecordDetailDO.setItemName(itembasicDO.getName()); + supplierinvoiceRecordDetailDO.setMasterId(supplierinvoiceRecordMainDO.getId()); + supplierinvoiceRecordDetailDO.setAltBatch(""); + supplierinvoiceRecordDetailDO.setId(null); + supplierinvoiceRecordDetailDO.setCreator(null); + supplierinvoiceRecordDetailDO.setCreateTime(null); + supplierinvoiceRecordDetailDO.setUpdater(null); + supplierinvoiceRecordDetailDO.setUpdateTime(null); + supplierinvoiceRecordDeatilMapper.insert(supplierinvoiceRecordDetailDO); + } + trendsApi.createTrends(supplierinvoiceRecordMainDO.getId(), "SupplierdeliverRequest", "处理了供应商发货申请", TrendsTypeEnum.CREATE); + return result; + } + }