|
@ -1,6 +1,7 @@ |
|
|
package com.win.module.wms.service.purchaseclaimRequest; |
|
|
package com.win.module.wms.service.purchaseclaimRequest; |
|
|
|
|
|
|
|
|
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.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.common.util.validation.ValidationUtils; |
|
|
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.system.enums.serialNumber.RuleCodeEnum; |
|
|
import com.win.module.wms.controller.purchaseclaimRequest.vo.*; |
|
|
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.PurchaseclaimRequestDetailConvert; |
|
|
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert; |
|
|
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.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.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.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.PurchaseclaimRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO; |
|
|
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.requestsetting.RequestsettingDO; |
|
|
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.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.PurchaseclaimRequestDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestMainMapper; |
|
|
import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestMainMapper; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
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.supplier.SupplierService; |
|
|
import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; |
|
|
import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; |
|
|
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 org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.validation.annotation.Validated; |
|
@ -37,6 +53,7 @@ import org.springframework.validation.annotation.Validated; |
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
|
import javax.validation.Validator; |
|
|
import javax.validation.Validator; |
|
|
import java.math.BigDecimal; |
|
|
import java.math.BigDecimal; |
|
|
|
|
|
import java.time.LocalDateTime; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; |
|
|
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; |
|
@ -54,7 +71,8 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private PurchaseclaimRequestMainMapper purchaseclaimRequestMainMapper; |
|
|
private PurchaseclaimRequestMainMapper purchaseclaimRequestMainMapper; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private PurchaseclaimRecordDetailMapper purchaseclaimRecordDetailMapper; |
|
|
@Resource |
|
|
@Resource |
|
|
private PurchaseclaimRequestDetailMapper purchaseclaimRequestDetailMapper; |
|
|
private PurchaseclaimRequestDetailMapper purchaseclaimRequestDetailMapper; |
|
|
|
|
|
|
|
@ -74,40 +92,39 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private Validator validator; |
|
|
private Validator validator; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private JobUtils jobUtils; |
|
|
private JobUtils jobUtils; |
|
|
@Resource |
|
|
@Resource |
|
|
private RequestsettingService requestsettingService; |
|
|
private RequestsettingService requestsettingService; |
|
|
@Resource |
|
|
@Resource |
|
|
private TrendsApi trendsApi; |
|
|
private TrendsApi trendsApi; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private PurchaseclaimRecordMainMapper purchaseclaimRecordMainMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional |
|
|
@Transactional |
|
|
public Long createPurchaseclaimRequestMain(PurchaseclaimRequestMainCreateReqVO createReqVO) { |
|
|
public Long createPurchaseclaimRequestMain(PurchaseclaimRequestMainCreateReqVO createReqVO) { |
|
|
// 插入主表
|
|
|
// 插入主表
|
|
|
RequestsettingDO requestsettingDO = requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); |
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("SupplierDeliverRequest"); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToCreate(createReqVO, requestsettingDO); |
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); |
|
|
//调用自动执行方法
|
|
|
createReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
if (RequestStatusEnum.HANDLING.getCode().equals(purchaseclaimRequestMainDO.getStatus())) { |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); |
|
|
|
|
|
createReqVO.setNumber(number); |
|
|
} |
|
|
createReqVO.setCreateTime(LocalDateTime.now()); |
|
|
trendsApi.createTrends(requestsettingDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToCreate(createReqVO); |
|
|
|
|
|
trendsApi.createTrends(purchaseclaimRequestMainDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE); |
|
|
return purchaseclaimRequestMainDO.getId(); |
|
|
return purchaseclaimRequestMainDO.getId(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional |
|
|
@Transactional |
|
|
public Long updatePurchaseclaimRequestMain(PurchaseclaimRequestMainUpdateReqVO updateReqVO) { |
|
|
public Long updatePurchaseclaimRequestMain(PurchaseclaimRequestMainUpdateReqVO updateReqVO) { |
|
|
RequestsettingDO requestsettingDO = requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); |
|
|
|
|
|
// 校验存在,如子表需要也再此校验
|
|
|
// 校验存在,如子表需要也再此校验
|
|
|
validatorPurchaseclaimRequestMainExists(updateReqVO.getId()); |
|
|
validatorPurchaseclaimRequestMainExists(updateReqVO.getId()); |
|
|
// 更新主表
|
|
|
// 更新主表
|
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorToUpdate(updateReqVO); |
|
|
if (RequestStatusEnum.HANDLING.getCode().equals(purchaseclaimRequestMainDO.getStatus())) { |
|
|
trendsApi.createTrends(purchaseclaimRequestMainDO.getId(), "PurchaseclaimRequest", "修改了采购索赔申请", TrendsTypeEnum.UPDATE); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
trendsApi.createTrends(requestsettingDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE); |
|
|
|
|
|
return purchaseclaimRequestMainDO.getId(); |
|
|
return purchaseclaimRequestMainDO.getId(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -124,11 +141,12 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
return purchaseclaimRequestMainMapper.deleteById(id); |
|
|
return purchaseclaimRequestMainMapper.deleteById(id); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void validatorPurchaseclaimRequestMainExists(Long id) { |
|
|
private PurchaseclaimRequestMainDO validatorPurchaseclaimRequestMainExists(Long id) { |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = purchaseclaimRequestMainMapper.selectById(id); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = purchaseclaimRequestMainMapper.selectById(id); |
|
|
if (purchaseclaimRequestMainDO == null) { |
|
|
if (purchaseclaimRequestMainDO == null) { |
|
|
throw exception(PURCHASECLAIM_REQUEST_MAIN_EXISTS); |
|
|
throw exception(PURCHASECLAIM_REQUEST_MAIN_EXISTS); |
|
|
} |
|
|
} |
|
|
|
|
|
return purchaseclaimRequestMainDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -183,6 +201,8 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
} |
|
|
} |
|
|
//写入数据
|
|
|
//写入数据
|
|
|
if (flag) { |
|
|
if (flag) { |
|
|
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); |
|
|
|
|
|
mainDo.setBusinessType(businesstypeDO.getCode()); |
|
|
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, "新增")); |
|
@ -202,10 +222,6 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
supplierService.selectSupplier(SupplierCode); |
|
|
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) { |
|
|
private ItembasicDO validatorItembasic(String itemCode) { |
|
|
return itembasicService.selectItembasic(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(); |
|
|
BusinesstypeDO businesstypeDO = new BusinesstypeDO(); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(createReqVO, businesstypeDO, requestsettingDO); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(createReqVO, businesstypeDO); |
|
|
//子表校验
|
|
|
//子表校验
|
|
|
List<PurchaseclaimRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
List<PurchaseclaimRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
List<PurchaseclaimRequestDetailDO> subDOList = PurchaseclaimRequestDetailConvert.INSTANCE.convertList03(subList); |
|
|
List<PurchaseclaimRequestDetailDO> subDOList = PurchaseclaimRequestDetailConvert.INSTANCE.convertList03(subList); |
|
@ -240,14 +256,24 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); |
|
|
purchaseclaimRequestMainDO.setNumber(number); |
|
|
purchaseclaimRequestMainDO.setNumber(number); |
|
|
purchaseclaimRequestMainMapper.insert(purchaseclaimRequestMainDO); |
|
|
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); |
|
|
purchaseclaimRequestDetailMapper.insertBatch(subDOList); |
|
|
return purchaseclaimRequestMainDO; |
|
|
return purchaseclaimRequestMainDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//修改校验
|
|
|
//修改校验
|
|
|
private PurchaseclaimRequestMainDO validatorToUpdate(PurchaseclaimRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { |
|
|
private PurchaseclaimRequestMainDO validatorToUpdate(PurchaseclaimRequestMainUpdateReqVO updateReqVO) { |
|
|
BusinesstypeDO businesstypeDO = new BusinesstypeDO(); |
|
|
BusinesstypeDO businesstypeDO = new BusinesstypeDO(); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO, businesstypeDO, requestsettingDO); |
|
|
PurchaseclaimRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO, businesstypeDO); |
|
|
//子表校验
|
|
|
//子表校验
|
|
|
List<PurchaseclaimRequestDetailUpdateReqVO> subList = updateReqVO.getSubList(); |
|
|
List<PurchaseclaimRequestDetailUpdateReqVO> subList = updateReqVO.getSubList(); |
|
|
List<PurchaseclaimRequestDetailDO> subDOList = PurchaseclaimRequestDetailConvert.INSTANCE.convertList05(subList); |
|
|
List<PurchaseclaimRequestDetailDO> 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); |
|
|
PurchaseclaimRequestMainDO mainDo = PurchaseclaimRequestMainConvert.INSTANCE.convert(baseVO); |
|
|
this.validatorSupplier(mainDo.getSupplierCode()); |
|
|
this.validatorSupplier(mainDo.getSupplierCode()); |
|
|
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); |
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseclaimRequest"); |
|
|
mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); |
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseclaimRequest"); |
|
|
mainDo.setBusinessType(businesstypeDO.getCode()); |
|
|
mainDo.setBusinessType(businesstypeDO.getCode()); |
|
|
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); |
|
|
|
|
|
mainDo.setNumber(number); |
|
|
return mainDo; |
|
|
return mainDo; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -279,8 +307,6 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
validatorSupplierdeliverRecordMainDO(mainDo.getSupplierCode(), mainDo.getAsnNumber(), detailDo.getItemCode(), detailDo.getPoNumber(), detailDo.getPoLine()); |
|
|
validatorSupplierdeliverRecordMainDO(mainDo.getSupplierCode(), mainDo.getAsnNumber(), detailDo.getItemCode(), detailDo.getPoNumber(), detailDo.getPoLine()); |
|
|
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); |
|
|
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); |
|
|
this.selectUomExist(itembasicDO.getUom(), detailDo.getUom()); |
|
|
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) { |
|
|
} catch (Exception ex) { |
|
|
message.append(ex.getMessage()).append(","); |
|
|
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 { |
|
|
try { |
|
|
ValidationUtils.validate(validator, detailDo); |
|
|
ValidationUtils.validate(validator, detailDo); |
|
|
} catch (Exception ex) { |
|
|
} catch (Exception ex) { |
|
@ -362,4 +378,130 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest |
|
|
} |
|
|
} |
|
|
return message.toString(); |
|
|
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<PurchaseclaimRequestMainDO> queryWrapper = new QueryWrapper(); |
|
|
|
|
|
queryWrapper.eq("id", id); |
|
|
|
|
|
PurchaseclaimRequestMainDO mainDO = purchaseclaimRequestMainMapper.selectOne(queryWrapper); |
|
|
|
|
|
//子表
|
|
|
|
|
|
QueryWrapper<PurchaseclaimRequestDetailDO> 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; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|