|
@ -2,6 +2,7 @@ package com.win.module.wms.service.putawayRequest; |
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
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,13 +11,16 @@ 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.putawayRequest.vo.*; |
|
|
import com.win.module.wms.controller.putawayRequest.vo.*; |
|
|
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert; |
|
|
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert; |
|
|
|
|
|
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert; |
|
|
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.location.LocationDO; |
|
|
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.putawayRequest.PutawayRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO; |
|
|
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.putawayRequest.PutawayRequestDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestDetailMapper; |
|
|
|
|
|
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestMainMapper; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.service.customer.CustomerService; |
|
|
import com.win.module.wms.service.customer.CustomerService; |
|
@ -26,20 +30,14 @@ import com.win.module.wms.service.purchase.PurchaseMainService; |
|
|
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.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import javax.annotation.Resource; |
|
|
|
|
|
import javax.validation.Validator; |
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
|
|
import javax.validation.Validator; |
|
|
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.putawayRequest.PutawayRequestMainDO; |
|
|
|
|
|
import com.win.framework.common.pojo.PageResult; |
|
|
|
|
|
|
|
|
|
|
|
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert; |
|
|
|
|
|
import com.win.module.wms.dal.mysql.putawayRequest.PutawayRequestMainMapper; |
|
|
|
|
|
|
|
|
|
|
|
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.*; |
|
@ -131,10 +129,6 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
public PageResult<PutawayRequestMainDO> getPutawayRequestMainSenior(CustomConditions conditions) { |
|
|
public PageResult<PutawayRequestMainDO> getPutawayRequestMainSenior(CustomConditions conditions) { |
|
|
return putawayRequestMainMapper.selectSenior(conditions); |
|
|
return putawayRequestMainMapper.selectSenior(conditions); |
|
|
} |
|
|
} |
|
|
@Override |
|
|
|
|
|
public List<PutawayRequestMainDO> getPutawayRequestMainList(Collection<Long> ids) { |
|
|
|
|
|
return putawayRequestMainMapper.selectBatchIds(ids); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageResult<PutawayRequestMainDO> getPutawayRequestMainPage(PutawayRequestMainPageReqVO pageReqVO) { |
|
|
public PageResult<PutawayRequestMainDO> getPutawayRequestMainPage(PutawayRequestMainPageReqVO pageReqVO) { |
|
@ -146,6 +140,11 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
return putawayRequestMainMapper.selectList(exportReqVO); |
|
|
return putawayRequestMainMapper.selectList(exportReqVO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<PutawayRequestMainDO> getPutawayRequestMainList(CustomConditions conditions) { |
|
|
|
|
|
return putawayRequestMainMapper.selectSeniorList(conditions); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional |
|
|
@Transactional |
|
|
public List<PutawayRequestImportErrorVO> importPutawayRequestList(List<PutawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { |
|
|
public List<PutawayRequestImportErrorVO> importPutawayRequestList(List<PutawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { |
|
@ -222,6 +221,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
return mainDo; |
|
|
return mainDo; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
private void validatorDetailMethod(PutawayRequestDetailDO detailDo, PutawayRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { |
|
|
private void validatorDetailMethod(PutawayRequestDetailDO detailDo, PutawayRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { |
|
|
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); |
|
|
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); |
|
@ -250,8 +250,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
StringBuilder message = new StringBuilder(); |
|
|
StringBuilder message = new StringBuilder(); |
|
|
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.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
@ -259,8 +258,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest"); |
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest"); |
|
|
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()); |
|
@ -311,7 +309,6 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
} catch (Exception ex) { |
|
|
} catch (Exception ex) { |
|
|
message.append(ex.getMessage()).append(","); |
|
|
message.append(ex.getMessage()).append(","); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); |
|
|
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); |
|
|
} catch (Exception ex) { |
|
|
} catch (Exception ex) { |
|
@ -342,6 +339,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
throw exception(ITEMBASIC_CODE_EXISTS, "提示单位" + uom + "错误,应该是" + itemUom); |
|
|
throw exception(ITEMBASIC_CODE_EXISTS, "提示单位" + uom + "错误,应该是" + itemUom); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private ItembasicDO validatorItembasic(String itemCode) { |
|
|
private ItembasicDO validatorItembasic(String itemCode) { |
|
|
return itembasicService.selectItembasic(itemCode); |
|
|
return itembasicService.selectItembasic(itemCode); |
|
|
} |
|
|
} |
|
@ -353,6 +351,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
private LocationDO validatorLocation(String fromLocationCode) { |
|
|
private LocationDO validatorLocation(String fromLocationCode) { |
|
|
return locationService.selectLocation(fromLocationCode); |
|
|
return locationService.selectLocation(fromLocationCode); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void validatorIfInType(String type, BusinesstypeDO businesstypeDO) { |
|
|
private void validatorIfInType(String type, BusinesstypeDO businesstypeDO) { |
|
|
jobUtils.ifInType(type, businesstypeDO); |
|
|
jobUtils.ifInType(type, businesstypeDO); |
|
|
} |
|
|
} |
|
@ -364,6 +363,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService |
|
|
private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) { |
|
|
private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) { |
|
|
jobUtils.ifInType(fromLocationCode, businesstypeDO); |
|
|
jobUtils.ifInType(fromLocationCode, businesstypeDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List<String> inventoryStatus) { |
|
|
private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List<String> inventoryStatus) { |
|
|
jobUtils.selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, fromLocationCode, inventoryStatus); |
|
|
jobUtils.selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, fromLocationCode, inventoryStatus); |
|
|
} |
|
|
} |
|
|