diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java index 2a9fd6ec..e5b7451f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java @@ -174,4 +174,57 @@ public class PurchaseclaimRequestMainController { return success(returnMap); } + @PostMapping("/close") + @Operation(summary = "关闭采购索赔申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:close')") + public CommonResult closePurchaseclaimRequestMain(@RequestParam("id") Long id) { + Integer count = purchaseclaimRequestMainService.closePurchaseclaimRequestMain(id); + return success(count > 0); + } + + @PostMapping("/open") + @Operation(summary = "打开采购索赔申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:open')") + public CommonResult openPurchaseclaimRequestMain(@RequestParam("id") Long id) { + Integer count = purchaseclaimRequestMainService.openPurchaseclaimRequestMain(id); + return success(count > 0); + } + + @PostMapping("/sub") + @Operation(summary = "提交采购索赔申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:sub')") + public CommonResult subPurchaseclaimRequestMain(@RequestParam("id") Long id) { + Integer count = purchaseclaimRequestMainService.subPurchaseclaimRequestMain(id); + return success(count > 0); + } + + @PostMapping("/app") + @Operation(summary = "审批通过采购索赔申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:app')") + public CommonResult witPurchaseclaimRequestMain(@RequestParam("id") Long id) { + Integer count = purchaseclaimRequestMainService.witPurchaseclaimRequestMain(id); + return success(count > 0); + } + + @PostMapping("/rej") + @Operation(summary = "驳回采购索赔申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:rej')") + public CommonResult rejPurchaseclaimRequestMain(@RequestParam("id") Long id) { + Integer count = purchaseclaimRequestMainService.rejPurchaseclaimRequestMain(id); + return success(count > 0); + } + + @PostMapping("/genRecords") + @Operation(summary = "处理操作") + @Parameter(name = "id", description = "编号", required = true) + public CommonResult genRecords(@RequestParam("id") String id) { + Integer count = purchaseclaimRequestMainService.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/SupplierinvoiceRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierinvoiceRequest/SupplierinvoiceRequestMainController.java index 671da1e6..a3e49726 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 @@ -3,6 +3,7 @@ package com.win.module.wms.controller.supplierinvoiceRequest; import com.win.framework.common.pojo.CustomConditions; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; +import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestMainImportVO; import com.win.module.wms.controller.supplierinvoiceRequest.vo.*; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainService.java index 0654bc1e..5a23052b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainService.java @@ -87,4 +87,50 @@ public interface PurchaseclaimRequestMainService { * @return 导入结果 */ public List importPurchaseclaimRequestList(List datas, Integer mode, boolean updatePart); + + /** + * 关闭采购索赔申请 + * + * @param id 采购索赔申请ID + * @return 更新数量 + */ + Integer closePurchaseclaimRequestMain(Long id); + + /** + * 打开采购索赔申请 + * + * @param id 采购索赔申请ID + * @return 更新数量 + */ + Integer openPurchaseclaimRequestMain(Long id); + + /** + * 提交采购索赔申请 + * + * @param id 采购索赔申请ID + * @return 更新数量 + */ + Integer subPurchaseclaimRequestMain(Long id); + + /** + * 审批通过采购索赔申请 + * + * @param id 采购索赔申请ID + * @return 更新数量 + */ + Integer witPurchaseclaimRequestMain(Long id); + + /** + * 驳回采购索赔申请 + * @param id 采购索赔申请ID + * @return 更新数量 + */ + Integer rejPurchaseclaimRequestMain(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/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java index 1cd43410..eb1a3a69 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java @@ -1,6 +1,7 @@ package com.win.module.wms.service.purchaseclaimRequest; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.validation.ValidationUtils; @@ -11,15 +12,29 @@ import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.purchaseclaimRequest.vo.*; +import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO; +import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainCreateReqVO; +import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordMainCreateReqVO; import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert; import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert; +import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordMainConvert; 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.packageMassage.PackageDO; import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; +import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordDetailDO; +import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordMainDO; import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO; import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; +import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordMainDO; +import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO; +import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO; +import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; +import com.win.module.wms.dal.mysql.purchaseclaimRecord.PurchaseclaimRecordDetailMapper; +import com.win.module.wms.dal.mysql.purchaseclaimRecord.PurchaseclaimRecordMainMapper; import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestDetailMapper; import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestMainMapper; import com.win.module.wms.enums.DictTypeConstants; @@ -30,6 +45,7 @@ import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.supplier.SupplierService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; import com.win.module.wms.util.JobUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -37,6 +53,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Validator; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -54,7 +71,8 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest @Resource private PurchaseclaimRequestMainMapper purchaseclaimRequestMainMapper; - + @Resource + private PurchaseclaimRecordDetailMapper purchaseclaimRecordDetailMapper; @Resource private PurchaseclaimRequestDetailMapper purchaseclaimRequestDetailMapper; @@ -74,40 +92,39 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest @Resource private Validator validator; - @Resource private JobUtils jobUtils; @Resource private RequestsettingService requestsettingService; @Resource private TrendsApi trendsApi; + @Resource + private PurchaseclaimRecordMainMapper purchaseclaimRecordMainMapper; + @Override @Transactional public Long createPurchaseclaimRequestMain(PurchaseclaimRequestMainCreateReqVO createReqVO) { // 插入主表 - RequestsettingDO requestsettingDO = requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); - PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToCreate(createReqVO, requestsettingDO); - //调用自动执行方法 - if (RequestStatusEnum.HANDLING.getCode().equals(purchaseclaimRequestMainDO.getStatus())) { - - } - trendsApi.createTrends(requestsettingDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("SupplierDeliverRequest"); + businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); + createReqVO.setBusinessType(businesstypeDO.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + createReqVO.setNumber(number); + createReqVO.setCreateTime(LocalDateTime.now()); + PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToCreate(createReqVO); + trendsApi.createTrends(purchaseclaimRequestMainDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE); return purchaseclaimRequestMainDO.getId(); } @Override @Transactional public Long updatePurchaseclaimRequestMain(PurchaseclaimRequestMainUpdateReqVO updateReqVO) { - RequestsettingDO requestsettingDO = requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); // 校验存在,如子表需要也再此校验 validatorPurchaseclaimRequestMainExists(updateReqVO.getId()); // 更新主表 - PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); - if (RequestStatusEnum.HANDLING.getCode().equals(purchaseclaimRequestMainDO.getStatus())) { - - } - trendsApi.createTrends(requestsettingDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE); + PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToUpdate(updateReqVO); + trendsApi.createTrends(purchaseclaimRequestMainDO.getId(), "PurchaseclaimRequest", "修改了采购索赔申请", TrendsTypeEnum.UPDATE); return purchaseclaimRequestMainDO.getId(); } @@ -124,11 +141,12 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest return purchaseclaimRequestMainMapper.deleteById(id); } - private void validatorPurchaseclaimRequestMainExists(Long id) { + private PurchaseclaimRequestMainDO validatorPurchaseclaimRequestMainExists(Long id) { PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = purchaseclaimRequestMainMapper.selectById(id); if (purchaseclaimRequestMainDO == null) { throw exception(PURCHASECLAIM_REQUEST_MAIN_EXISTS); } + return purchaseclaimRequestMainDO; } @Override @@ -183,6 +201,8 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest } //写入数据 if (flag) { + businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); + mainDo.setBusinessType(businesstypeDO.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); mainDo.setNumber(number); mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); @@ -202,10 +222,6 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest supplierService.selectSupplier(SupplierCode); } - private PurchaseDetailDO validatorPurchaseDetailDo(String pnumber, String psupplierCode, String pitemCode, String poLine) { - return purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode, poLine); - } - private ItembasicDO validatorItembasic(String itemCode) { return itembasicService.selectItembasic(itemCode); } @@ -228,9 +244,9 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest } //新增校验 - private PurchaseclaimRequestMainDO validatorToCreate(PurchaseclaimRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + private PurchaseclaimRequestMainDO validatorToCreate(PurchaseclaimRequestMainCreateReqVO createReqVO) { BusinesstypeDO businesstypeDO = new BusinesstypeDO(); - PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(createReqVO, businesstypeDO, requestsettingDO); + PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(createReqVO, businesstypeDO); //子表校验 List subList = createReqVO.getSubList(); List subDOList = PurchaseclaimRequestDetailConvert.INSTANCE.convertList03(subList); @@ -240,14 +256,24 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); purchaseclaimRequestMainDO.setNumber(number); purchaseclaimRequestMainMapper.insert(purchaseclaimRequestMainDO); + for ( PurchaseclaimRequestDetailDO purchaseclaimRequestDetailDO : subDOList) { + validatorDetailMethod(purchaseclaimRequestDetailDO, purchaseclaimRequestMainDO); + purchaseclaimRequestDetailDO.setMasterId(purchaseclaimRequestMainDO.getId()); + purchaseclaimRequestDetailDO.setNumber(purchaseclaimRequestMainDO.getNumber()); + purchaseclaimRequestDetailDO.setId(null); + purchaseclaimRequestDetailDO.setCreator(null); + purchaseclaimRequestDetailDO.setCreateTime(null); + purchaseclaimRequestDetailDO.setUpdater(null); + purchaseclaimRequestDetailDO.setUpdateTime(null); + } purchaseclaimRequestDetailMapper.insertBatch(subDOList); return purchaseclaimRequestMainDO; } //修改校验 - private PurchaseclaimRequestMainDO validatorToUpdate(PurchaseclaimRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { + private PurchaseclaimRequestMainDO validatorToUpdate(PurchaseclaimRequestMainUpdateReqVO updateReqVO) { BusinesstypeDO businesstypeDO = new BusinesstypeDO(); - PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO, businesstypeDO, requestsettingDO); + PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO, businesstypeDO); //子表校验 List subList = updateReqVO.getSubList(); List subDOList = PurchaseclaimRequestDetailConvert.INSTANCE.convertList05(subList); @@ -260,17 +286,19 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest } //校验主表公共方法(适用于新增/修改) - private PurchaseclaimRequestMainDO validatorMainMethod(PurchaseclaimRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { + private PurchaseclaimRequestMainDO validatorMainMethod(PurchaseclaimRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO) { PurchaseclaimRequestMainDO mainDo = PurchaseclaimRequestMainConvert.INSTANCE.convert(baseVO); this.validatorSupplier(mainDo.getSupplierCode()); mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); - requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); mainDo.setBusinessType(businesstypeDO.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + mainDo.setNumber(number); return mainDo; } @@ -279,8 +307,6 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest validatorSupplierdeliverRecordMainDO(mainDo.getSupplierCode(), mainDo.getAsnNumber(), detailDo.getItemCode(), detailDo.getPoNumber(), detailDo.getPoLine()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); this.selectUomExist(itembasicDO.getUom(), detailDo.getUom()); - PurchaseDetailDO purchaseDetailDO = validatorPurchaseDetailDo(detailDo.getNumber(), mainDo.getSupplierCode(), detailDo.getItemCode(), detailDo.getPoLine()); - ifPlanQtyBigThanOrderQty(detailDo.getPoLine(), purchaseDetailDO.getShippedQty(), detailDo.getQty(), purchaseDetailDO.getOrderQty()); } /** @@ -345,16 +371,6 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest } catch (Exception ex) { message.append(ex.getMessage()).append(","); } - try { - PurchaseDetailDO purchaseDetailDO = validatorPurchaseDetailDo(detailDo.getNumber(), mainDo.getSupplierCode(), detailDo.getItemCode(), detailDo.getPoLine()); - try { - ifPlanQtyBigThanOrderQty(detailDo.getPoLine(), purchaseDetailDO.getShippedQty(), detailDo.getQty(), purchaseDetailDO.getOrderQty()); - } catch (Exception ex) { - message.append(ex.getMessage()).append(","); - } - } catch (Exception ex) { - message.append(ex.getMessage()).append(","); - } try { ValidationUtils.validate(validator, detailDo); } catch (Exception ex) { @@ -362,4 +378,130 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest } return message.toString(); } + + /** + * 关闭采购索赔申请 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer closePurchaseclaimRequestMain(Long id) { + PurchaseclaimRequestMainDO mainDO = validatorPurchaseclaimRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.CLOSED.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_purchaseclaim_main", "关闭采购索赔申请", TrendsTypeEnum.UPDATE); + return purchaseclaimRequestMainMapper.updateById(mainDO); + } + + /** + * 打开采购索赔申请 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer openPurchaseclaimRequestMain(Long id) { + PurchaseclaimRequestMainDO mainDO = validatorPurchaseclaimRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.NEW.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_purchaseclaim_main", "打开了供应商发货申请", TrendsTypeEnum.UPDATE); + return purchaseclaimRequestMainMapper.updateById(mainDO); + } + + /** + * 提交采购索赔申请 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer subPurchaseclaimRequestMain(Long id) { + PurchaseclaimRequestMainDO mainDO = validatorPurchaseclaimRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.REVIEWING.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_purchaseclaim_main", "提交采购索赔申请", TrendsTypeEnum.UPDATE); + return purchaseclaimRequestMainMapper.updateById(mainDO); + } + + /** + * 审批通过采购索赔申请 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + @Override + @Transactional + public Integer witPurchaseclaimRequestMain(Long id) { + PurchaseclaimRequestMainDO mainDO = validatorPurchaseclaimRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.AGREED.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_purchaseclaim_main", "审批通过采购索赔申请", TrendsTypeEnum.UPDATE); + return purchaseclaimRequestMainMapper.updateById(mainDO); + } + + /** + * 驳回采购索赔申请 + * + * @param id 采购索赔申请 + * @return 更新数量 + */ + @Override + @Transactional + public Integer rejPurchaseclaimRequestMain(Long id) { + PurchaseclaimRequestMainDO mainDO = validatorPurchaseclaimRequestMainExists(id); + mainDO.setStatus(RequestStatusEnum.REFUSED.getCode());//增加操作记录 + trendsApi.createTrends(id, "request_purchaseclaim_main", "驳回采购索赔申请", TrendsTypeEnum.UPDATE); + return purchaseclaimRequestMainMapper.updateById(mainDO); + } + + /** + * 处理操作 + * + * @param id 采购索赔申请 + * @return 更新数量 + */ + @Override + @Transactional + public Integer genRecords(String id) { + Integer result = 0; + //主表 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("id", id); + PurchaseclaimRequestMainDO mainDO = purchaseclaimRequestMainMapper.selectOne(queryWrapper); + //子表 + QueryWrapper purchaseclaimRequestDetailDOQueryWrapper = new QueryWrapper(); + purchaseclaimRequestDetailDOQueryWrapper.eq("master_id", id); + List< PurchaseclaimRequestDetailDO> detailDOList = purchaseclaimRequestDetailMapper.selectList(purchaseclaimRequestDetailDOQueryWrapper); + PurchaseclaimRecordMainDO purchaseclaimRecordMainDO=new PurchaseclaimRecordMainDO(); + BeanUtils.copyProperties(mainDO, purchaseclaimRecordMainDO); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); + purchaseclaimRecordMainDO.setNumber(number); + purchaseclaimRecordMainDO.setRequestNumber(mainDO.getNumber()); + purchaseclaimRecordMainDO.setId(null); + purchaseclaimRecordMainDO.setCreator(null); + purchaseclaimRecordMainDO.setCreateTime(null); + purchaseclaimRecordMainDO.setUpdater(null); + purchaseclaimRecordMainDO.setUpdateTime(null); + purchaseclaimRecordMainMapper.insert(purchaseclaimRecordMainDO); + for (PurchaseclaimRequestDetailDO purchaseclaimRequestDetailDO : detailDOList) { + PurchaseclaimRecordDetailDO purchaseclaimRecordDetailDO=new PurchaseclaimRecordDetailDO(); + BeanUtils.copyProperties(purchaseclaimRequestDetailDO, purchaseclaimRecordDetailDO); + purchaseclaimRecordDetailDO.setNumber(number); + purchaseclaimRecordDetailDO.setId(null); + purchaseclaimRecordDetailDO.setCreator(null); + purchaseclaimRecordDetailDO.setCreateTime(null); + purchaseclaimRecordDetailDO.setUpdater(null); + purchaseclaimRecordDetailDO.setUpdateTime(null); + purchaseclaimRecordDetailMapper.insert(purchaseclaimRecordDetailDO); + } + PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = purchaseclaimRequestMainMapper.selectById(id); + purchaseclaimRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + purchaseclaimRequestMainMapper.updateById(purchaseclaimRequestMainDO); + trendsApi.createTrends(purchaseclaimRequestMainDO.getId(), "request_purchaseclaim_main", "处理了供应商发货申请", TrendsTypeEnum.CREATE); + return result; + } } + + + +