|
@ -4,8 +4,6 @@ import com.win.framework.common.pojo.CustomConditions; |
|
|
import com.win.framework.common.pojo.PageResult; |
|
|
import com.win.framework.common.pojo.PageResult; |
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
|
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
|
|
|
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailCreateReqVO; |
|
|
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailCreateReqVO; |
|
|
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailExportReqVO; |
|
|
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailExportReqVO; |
|
|
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailPageReqVO; |
|
|
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailPageReqVO; |
|
@ -17,12 +15,15 @@ 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.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; |
|
|
import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestDetailMapper; |
|
|
|
|
|
import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestMainMapper; |
|
|
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.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 org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
@ -32,7 +33,7 @@ import java.util.Collection; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
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.TRANSFERISSUE_REQUEST_DETAIL_NOT_EXISTS; |
|
|
import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 调拨出库申请子 Service 实现类 |
|
|
* 调拨出库申请子 Service 实现类 |
|
@ -46,31 +47,34 @@ public class TransferissueRequestDetailServiceImpl implements TransferissueReque |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private TransferissueRequestDetailMapper transferissueRequestDetailMapper; |
|
|
private TransferissueRequestDetailMapper transferissueRequestDetailMapper; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private ItembasicService itembasicService; |
|
|
private ItembasicService itembasicService; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private LocationService locationService; |
|
|
private LocationService locationService; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private JobUtils jobUtils; |
|
|
private JobUtils jobUtils; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private TrendsApi trendsApi; |
|
|
private TrendsApi trendsApi; |
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
private SerialNumberApi serialNumberApi; |
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private RequestsettingService requestsettingService; |
|
|
private RequestsettingService requestsettingService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private TransferissueRequestMainMapper transferissueRequestMainMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
@Override |
|
|
@Override |
|
|
public Long createTransferissueRequestDetail(TransferissueRequestDetailCreateReqVO createReqVO) { |
|
|
public Long createTransferissueRequestDetail(TransferissueRequestDetailCreateReqVO createReqVO) { |
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); |
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); |
|
|
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); |
|
|
|
|
|
TransferissueRequestMainDO mainDO = transferissueRequestMainMapper.selectById(createReqVO.getMasterId()); |
|
|
// 插入
|
|
|
// 插入
|
|
|
TransferissueRequestDetailDO transferissueRequestDetail = validatorToCreate(createReqVO,requestsettingDO); |
|
|
TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convertReq(createReqVO); |
|
|
|
|
|
transferissueRequestDetailDO = validateDetailMethod(transferissueRequestDetailDO,businesstypeDO); |
|
|
|
|
|
transferissueRequestDetailDO.setNumber(mainDO.getNumber()); |
|
|
|
|
|
transferissueRequestDetailDO.setMasterId(mainDO.getId()); |
|
|
|
|
|
transferissueRequestDetailMapper.insert(transferissueRequestDetailDO); |
|
|
trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了调拨出库申请", TrendsTypeEnum.CREATE); |
|
|
trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了调拨出库申请", TrendsTypeEnum.CREATE); |
|
|
return transferissueRequestDetail.getId(); |
|
|
return transferissueRequestDetailDO.getId(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private List<BalanceDO> validatebalance(TransferissueRequestDetailDO detailDo){ |
|
|
private List<BalanceDO> validatebalance(TransferissueRequestDetailDO detailDo){ |
|
@ -81,57 +85,61 @@ public class TransferissueRequestDetailServiceImpl implements TransferissueReque |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private LocationDO validatorLocation(String Location){ |
|
|
private LocationDO validatorLocation(String Location){ |
|
|
|
|
|
|
|
|
return locationService.selectLocation(Location); |
|
|
return locationService.selectLocation(Location); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private TransferissueRequestDetailDO validatorToCreate(TransferissueRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { |
|
|
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); |
|
|
|
|
|
TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convert(createReqVO); |
|
|
|
|
|
transferissueRequestDetailDO = validateDetailMethod(transferissueRequestDetailDO,businesstypeDO); |
|
|
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode()); |
|
|
|
|
|
transferissueRequestDetailDO.setNumber(number); |
|
|
|
|
|
transferissueRequestDetailDO.setMasterId(createReqVO.getMasterId()); |
|
|
|
|
|
transferissueRequestDetailMapper.insert(transferissueRequestDetailDO); |
|
|
|
|
|
return transferissueRequestDetailDO; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private ItembasicDO validatorItembasic(String itemCode) { |
|
|
private ItembasicDO validatorItembasic(String itemCode) { |
|
|
return itembasicService.selectItembasic(itemCode); |
|
|
return itembasicService.selectItembasic(itemCode); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private TransferissueRequestDetailDO validateDetailMethod(TransferissueRequestDetailDO transferissueRequestDetailDO, BusinesstypeDO businesstypeDO) { |
|
|
private TransferissueRequestDetailDO validateDetailMethod(TransferissueRequestDetailDO transferissueRequestDetailDO, BusinesstypeDO businesstypeDO) { |
|
|
transferissueRequestDetailDO.setCreateTime(LocalDateTime.now()); |
|
|
transferissueRequestDetailDO.setCreateTime(LocalDateTime.now()); |
|
|
|
|
|
// BQ——>QL 校验来源/目标库位基础信息
|
|
|
|
|
|
LocationDO tolocationDO = validatorLocation(transferissueRequestDetailDO.getToLocationCode()); |
|
|
|
|
|
if(tolocationDO == null){ |
|
|
|
|
|
throw exception(TRANSFERISSUE_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS, transferissueRequestDetailDO.getToLocationCode()); |
|
|
|
|
|
} |
|
|
|
|
|
LocationDO fromlocationDO = validatorLocation(transferissueRequestDetailDO.getFromLocationCode()); |
|
|
|
|
|
if(fromlocationDO == null){ |
|
|
|
|
|
throw exception(TRANSFERISSUE_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS, transferissueRequestDetailDO.getFromLocationCode()); |
|
|
|
|
|
} |
|
|
|
|
|
// BQ----QI 校验物品基础信息
|
|
|
ItembasicDO item = validatorItembasic(transferissueRequestDetailDO.getItemCode()); |
|
|
ItembasicDO item = validatorItembasic(transferissueRequestDetailDO.getItemCode()); |
|
|
|
|
|
if(item == null){ |
|
|
|
|
|
throw exception(TRANSFERISSUE_REQUEST_DETAIL_ITEM_NOT_EXISTS, transferissueRequestDetailDO.getItemCode()); |
|
|
|
|
|
} |
|
|
transferissueRequestDetailDO.setItemDesc1(item.getDesc1()); |
|
|
transferissueRequestDetailDO.setItemDesc1(item.getDesc1()); |
|
|
transferissueRequestDetailDO.setItemDesc2(item.getDesc2()); |
|
|
transferissueRequestDetailDO.setItemDesc2(item.getDesc2()); |
|
|
transferissueRequestDetailDO.setItemName(item.getName()); |
|
|
transferissueRequestDetailDO.setItemName(item.getName()); |
|
|
transferissueRequestDetailDO.setUom(item.getUom()); |
|
|
transferissueRequestDetailDO.setUom(item.getUom()); |
|
|
transferissueRequestDetailDO.setProjectCode(item.getProject()); |
|
|
transferissueRequestDetailDO.setProjectCode(item.getProject()); |
|
|
validatorLocation(transferissueRequestDetailDO.getToLocationCode()); |
|
|
// DBT——>DBT2——>LO 校验来源库位
|
|
|
|
|
|
jobUtils.ifInToLocationType(transferissueRequestDetailDO.getFromLocationCode(), businesstypeDO); |
|
|
|
|
|
// DBT——>DBT2——>LO 校验目标库位
|
|
|
jobUtils.ifInToLocationType(transferissueRequestDetailDO.getToLocationCode(), businesstypeDO); |
|
|
jobUtils.ifInToLocationType(transferissueRequestDetailDO.getToLocationCode(), businesstypeDO); |
|
|
|
|
|
// DBT——>DBT2——>SO 校验库存状态
|
|
|
jobUtils.ifOutInventoryStatuses(transferissueRequestDetailDO.getInventoryStatus(), businesstypeDO); |
|
|
jobUtils.ifOutInventoryStatuses(transferissueRequestDetailDO.getInventoryStatus(), businesstypeDO); |
|
|
|
|
|
// TB——>TB1 校验库存余额是否存在
|
|
|
validatebalance(transferissueRequestDetailDO); |
|
|
validatebalance(transferissueRequestDetailDO); |
|
|
return transferissueRequestDetailDO; |
|
|
return transferissueRequestDetailDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageResult<TransferissueRequestDetailDO> getTransferissueRequestDetailSenior(CustomConditions conditions) { |
|
|
public PageResult<TransferissueRequestDetailDO> getTransferissueRequestDetailSenior(CustomConditions conditions) { |
|
|
return transferissueRequestDetailMapper.selectSenior(conditions); |
|
|
return transferissueRequestDetailMapper.selectSenior(conditions); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
@Override |
|
|
@Override |
|
|
public void updateTransferissueRequestDetail(TransferissueRequestDetailUpdateReqVO updateReqVO) { |
|
|
public void updateTransferissueRequestDetail(TransferissueRequestDetailUpdateReqVO updateReqVO) { |
|
|
// 校验存在
|
|
|
// 校验存在
|
|
|
validateTransferissueRequestDetailExists(updateReqVO.getId()); |
|
|
validateTransferissueRequestDetailExists(updateReqVO.getId()); |
|
|
// 更新
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest"); |
|
|
TransferissueRequestDetailDO updateObj = TransferissueRequestDetailConvert.INSTANCE.convert(updateReqVO); |
|
|
TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convert(updateReqVO); |
|
|
transferissueRequestDetailMapper.updateById(updateObj); |
|
|
// 校验数据
|
|
|
|
|
|
validateDetailMethod(transferissueRequestDetailDO,businesstypeDO); |
|
|
|
|
|
// 更新数据
|
|
|
|
|
|
transferissueRequestDetailMapper.updateById(transferissueRequestDetailDO); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|