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