修改业务单bug

This commit is contained in:
赵辉
2026-05-29 22:58:47 +08:00
parent a5444869bc
commit 3e31c560d6
11 changed files with 252 additions and 151 deletions
@@ -226,6 +226,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
subOrder.setUnloadPhone(user.getEmergencyContactPhone());
subOrder.setInvoiceNumber(businessDeliveryDetailsLinkDTO.getInvoiceNumber());
subOrder.setCustomerNumber(businessDeliveryDetailsLinkDTO.getCustomerNumber());
subOrder.setRecipientName(user.getUserName());
businessDocumentOrderMapper.insert(subOrder);
@@ -254,7 +255,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
unloadAddress.setOrganizationName(subOrder.getOrganizationName());
unloadAddress.setTopOrganizationId(subOrder.getTopOrganizationId());
unloadAddress.setOrderId(String.valueOf(subOrder.getId()));
unloadAddress.setAreaCode(userAreaAddress);
unloadAddress.setAreaCode(userAreaName);
unloadAddress.setAreaName(userAreaName);
unloadAddress.setAddress(userAreaAddress);
unloadAddress.setContactName(user.getEmergencyContactName());
@@ -428,154 +429,52 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
}
if (ObjectUtil.isNotNull(businessDocumentOrder)){
ExecuteOrder objects = executeOrderMapper.selectOne(new LambdaQueryWrapper<ExecuteOrder>().eq(ExecuteOrder::getBusinessDocumentId, id).eq(ExecuteOrder::getDelFlag,1) .last("LIMIT 1")
);
if (ObjectUtil.isNotNull(objects)) {
throw new ServerException("业务单已生成执行单,请先取消执行单");
}
// 先创建执行单
ExecuteOrderDO executeOrderDO=new ExecuteOrderDO();
BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO);
executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate());
executeOrderDO.setLayDate(businessDocumentOrder.getLayDate());
executeOrderDO.setBusinessDocumentId(id);
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setCreateBy(loginUser.getUserid());
executeOrderDO.setCreateTime(new Date());
executeOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrderDO.setDelFlag(1);
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
executeOrderDO.setReservationOrderNumber(businessDocumentOrder.getReservationOrderNumber());
Long executeOrderId = executeOrderDomainService.insert(executeOrderDO);
// 更新业务单状态和执行单信息
businessDocumentOrder.setExecuteId(loginUser.getUserid());
businessDocumentOrder.setExecuteStatus(2L);
businessDocumentOrder.setExecuteTime(new Date());
businessDocumentOrder.setExecutor(loginUser.getUsername());
businessDocumentOrder.setOrderStatus(2L);
businessDocumentOrder.setExecuteOrderId(String.valueOf(executeOrderId));
businessDocumentOrder.setExecuteOrderNumber(businessDocumentOrder.getGoodsNumber());
businessDocumentOrderMapper.updateById(businessDocumentOrder);
// 创建执行单后立即下发到TMS
ExecuteOrder executeOrder = executeOrderMapper.selectById(executeOrderId);
if (ObjectUtil.isNotNull(executeOrder)){
executeOrder.setIssueStatus(2L);
executeOrder.setIssueTime(new Date());
executeOrder.setIssueId(loginUser.getUserid());
executeOrder.setIssueName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setOrderStatus(1L);
executeOrder.setBusinessUnit(orgName);
executeOrderMapper.updateById(executeOrder);
// 判断是否为拆单-主单(splicingOrderType == 4)
if (businessDocumentOrder.getSplicingOrderType() != null && businessDocumentOrder.getSplicingOrderType() == 4) {
// 查询所有子单
List<BusinessDocumentOrder> subOrders = businessDocumentOrderMapper.selectList(
new LambdaQueryWrapper<BusinessDocumentOrder>()
.eq(BusinessDocumentOrder::getMainOrderId, String.valueOf(id))
.eq(BusinessDocumentOrder::getDelFlag, 1)
);
//下发到tms
TmsOrderAddDTO tmsOrderAddDTO=new TmsOrderAddDTO();
List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>();
List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsOrderAccount> tmsOrderAccountList=new ArrayList<TmsOrderAccount>();
if(ObjectUtil.isNotNull(businessDocumentOrder)){
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
tmsOrderAddDTO.setExecuteOrderId(String.valueOf(executeOrderId));
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
//货物信息
List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList=businessDocumentCargoMultiMapper.selectList(new QueryWrapper<BusinessDocumentCargoMulti>().lambda()
.eq(BusinessDocumentCargoMulti::getOrderId,businessDocumentOrder.getId())
.eq(BusinessDocumentCargoMulti::getDelFlag,1));
if(ObjectUtil.isNotNull(businessDocumentCargoMultiList)&&businessDocumentCargoMultiList.size()>0){
for (BusinessDocumentCargoMulti businessDocumentCargoMulti:businessDocumentCargoMultiList){
TmsCargoInfoDTO tmsCargoInfoDTO=new TmsCargoInfoDTO();
BeanUtils.copyProperties(businessDocumentCargoMulti,tmsCargoInfoDTO);
cargoInfoList.add(tmsCargoInfoDTO);
if (subOrders != null && !subOrders.isEmpty()) {
// 执行并下发所有子单
for (BusinessDocumentOrder subOrder : subOrders) {
// 检查子单是否已生成执行单
ExecuteOrder subExecuteOrder = executeOrderMapper.selectOne(
new LambdaQueryWrapper<ExecuteOrder>()
.eq(ExecuteOrder::getBusinessDocumentId, subOrder.getId())
.eq(ExecuteOrder::getDelFlag, 1)
.last("LIMIT 1")
);
if (ObjectUtil.isNotNull(subExecuteOrder)) {
continue; // 子单已执行,跳过
}
// 执行并下发子单
executeAndIssueSingleOrder(subOrder, loginUser, organizationId, orgName);
}
//装货地址信息
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
.eq(BusinessDocumentAddressMulti::getLayType,1));
if(ObjectUtil.isNotNull(businessDocumentAddressMultiList)&&businessDocumentAddressMultiList.size()>0){
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiList){
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
loadingAddressList.add(tmsAddressMultiDTO);
}
}
//卸货货地址信息
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiUnloadList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
.eq(BusinessDocumentAddressMulti::getLayType,2));
if(ObjectUtil.isNotNull(businessDocumentAddressMultiUnloadList)&&businessDocumentAddressMultiUnloadList.size()>0){
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiUnloadList){
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
tmsAddressMultiDTO.setLayType(2);
unloadAddressList.add(tmsAddressMultiDTO);
}
}
//账单信息
List<BusinessOrderAccount> businessOrderAccountList = businessOrderAccountMapper.selectList(new QueryWrapper<BusinessOrderAccount>().lambda()
.eq(BusinessOrderAccount::getOrderId, businessDocumentOrder.getId())
.eq(BusinessOrderAccount::getIsDelete, 0));
if(ObjectUtil.isNotNull(businessOrderAccountList)&&businessOrderAccountList.size()>0){
for (BusinessOrderAccount businessOrderAccount:businessOrderAccountList){
TmsOrderAccount tmsOrderAccount = new TmsOrderAccount();
BeanUtils.copyProperties(businessOrderAccount, tmsOrderAccount);
tmsOrderAccountList.add(tmsOrderAccount);
}
}
tmsOrderAddDTO.setAppointShipper(businessDocumentOrder.getAppointShipper());
tmsOrderAddDTO.setAppointShipperId(businessDocumentOrder.getAppointShipperId());
tmsOrderAddDTO.setCargoInfoList(cargoInfoList);
tmsOrderAddDTO.setLoadingAddressList(loadingAddressList);
tmsOrderAddDTO.setUnloadAddressList(unloadAddressList);
tmsOrderAddDTO.setTmsOrderAccountList(tmsOrderAccountList);
tmsOrderAddDTO.setOrderShippingType(businessDocumentOrder.getOrderShippingType().intValue());
tmsOrderAddDTO.setPayerType(0);
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
tmsOrderAddDTO.setOrderSource("0");
tmsOrderAddDTO.setOrganizationId(organizationId);
tmsOrderAddDTO.setLoginUser(loginUser);
tmsOrderAddDTO.setOrganizationName(orgName);
AjaxResult ajaxResult=wlhyServiceFeign.add(tmsOrderAddDTO);
if(ajaxResult.get("code").toString().equals("200")){
String goodsNumber = (String) ajaxResult.get("data");
if(ObjectUtil.isNotEmpty(goodsNumber)){
executeOrder.setTmsOrderNumber(goodsNumber);
executeOrderMapper.updateById(executeOrder);
if (businessDocumentOrder.getInOrderNumber()!=null){
ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>().eq(ReservationStockInOrder::getInOrderNumber,businessDocumentOrder.getInOrderNumber()));
if (ObjectUtil.isNotNull(reservationStockInOrder)) {
reservationStockInOrder.setTmsOrderNumber(goodsNumber);
reservationStockInOrderMapper.updateById(reservationStockInOrder);
}
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber,businessDocumentOrder.getInOrderNumber()));
if (ObjectUtil.isNotNull(reservationStockOutOrder)) {
reservationStockOutOrder.setTmsOrderNumber(goodsNumber);
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
}
}
}
}else {
throw new ServiceException(ajaxResult.get("msg").toString());
}
// 更新主单状态
businessDocumentOrder.setExecuteId(loginUser.getUserid());
businessDocumentOrder.setExecuteStatus(2L);
businessDocumentOrder.setExecuteTime(new Date());
businessDocumentOrder.setExecutor(loginUser.getUsername());
businessDocumentOrder.setOrderStatus(2L);
businessDocumentOrderMapper.updateById(businessDocumentOrder);
}
} else {
// 非拆单主单,执行原有逻辑
ExecuteOrder objects = executeOrderMapper.selectOne(new LambdaQueryWrapper<ExecuteOrder>().eq(ExecuteOrder::getBusinessDocumentId, id).eq(ExecuteOrder::getDelFlag,1) .last("LIMIT 1")
);
if (ObjectUtil.isNotNull(objects)) {
throw new ServerException("业务单已生成执行单,请先取消执行单");
}
// 执行并下发主单
executeAndIssueSingleOrder(businessDocumentOrder, loginUser, organizationId, orgName);
}
}
}
@@ -586,6 +485,162 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
}
}
/**
* 执行并下发单个业务单
*/
private void executeAndIssueSingleOrder(BusinessDocumentOrder businessDocumentOrder, LoginUser loginUser, Long organizationId, String orgName) {
Long id = businessDocumentOrder.getId();
// 先创建执行单
ExecuteOrderDO executeOrderDO=new ExecuteOrderDO();
BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO);
executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate());
executeOrderDO.setLayDate(businessDocumentOrder.getLayDate());
executeOrderDO.setBusinessDocumentId(id);
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setCreateBy(loginUser.getUserid());
executeOrderDO.setCreateTime(new Date());
executeOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrderDO.setDelFlag(1);
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
executeOrderDO.setReservationOrderNumber(businessDocumentOrder.getReservationOrderNumber());
Long executeOrderId = executeOrderDomainService.insert(executeOrderDO);
// 更新业务单状态和执行单信息
businessDocumentOrder.setExecuteId(loginUser.getUserid());
businessDocumentOrder.setExecuteStatus(2L);
businessDocumentOrder.setExecuteTime(new Date());
businessDocumentOrder.setExecutor(loginUser.getUsername());
businessDocumentOrder.setOrderStatus(2L);
businessDocumentOrder.setExecuteOrderId(String.valueOf(executeOrderId));
businessDocumentOrder.setExecuteOrderNumber(businessDocumentOrder.getGoodsNumber());
businessDocumentOrderMapper.updateById(businessDocumentOrder);
// 创建执行单后立即下发到TMS
ExecuteOrder executeOrder = executeOrderMapper.selectById(executeOrderId);
if (ObjectUtil.isNotNull(executeOrder)){
executeOrder.setIssueStatus(2L);
executeOrder.setIssueTime(new Date());
executeOrder.setIssueId(loginUser.getUserid());
executeOrder.setIssueName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setOrderStatus(1L);
executeOrder.setBusinessUnit(orgName);
executeOrderMapper.updateById(executeOrder);
//下发到tms
TmsOrderAddDTO tmsOrderAddDTO=new TmsOrderAddDTO();
List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>();
List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsOrderAccount> tmsOrderAccountList=new ArrayList<TmsOrderAccount>();
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
tmsOrderAddDTO.setExecuteOrderId(String.valueOf(executeOrderId));
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkMapper.selectOne(new LambdaQueryWrapper<BusinessDeliveryDetailsLink>().eq(BusinessDeliveryDetailsLink::getSubOrderId, businessDocumentOrder.getId()));
if (ObjectUtil.isNotNull(businessDeliveryDetailsLink)) {
Integer bag = businessDeliveryDetailsLink.getBag();
Integer box = businessDeliveryDetailsLink.getBox();
//相加
tmsOrderAddDTO.setGoodsName(String.valueOf(bag + box));
}
//货物信息
List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList=businessDocumentCargoMultiMapper.selectList(new QueryWrapper<BusinessDocumentCargoMulti>().lambda()
.eq(BusinessDocumentCargoMulti::getOrderId,businessDocumentOrder.getId())
.eq(BusinessDocumentCargoMulti::getDelFlag,1));
if(ObjectUtil.isNotNull(businessDocumentCargoMultiList)&&businessDocumentCargoMultiList.size()>0){
for (BusinessDocumentCargoMulti businessDocumentCargoMulti:businessDocumentCargoMultiList){
TmsCargoInfoDTO tmsCargoInfoDTO=new TmsCargoInfoDTO();
BeanUtils.copyProperties(businessDocumentCargoMulti,tmsCargoInfoDTO);
cargoInfoList.add(tmsCargoInfoDTO);
}
}
//装货地址信息
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
.eq(BusinessDocumentAddressMulti::getLayType,1));
if(ObjectUtil.isNotNull(businessDocumentAddressMultiList)&&businessDocumentAddressMultiList.size()>0){
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiList){
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
loadingAddressList.add(tmsAddressMultiDTO);
}
}
//卸货货地址信息
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiUnloadList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
.eq(BusinessDocumentAddressMulti::getLayType,2));
if(ObjectUtil.isNotNull(businessDocumentAddressMultiUnloadList)&&businessDocumentAddressMultiUnloadList.size()>0){
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiUnloadList){
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
tmsAddressMultiDTO.setLayType(2);
unloadAddressList.add(tmsAddressMultiDTO);
}
}
//账单信息
List<BusinessOrderAccount> businessOrderAccountList = businessOrderAccountMapper.selectList(new QueryWrapper<BusinessOrderAccount>().lambda()
.eq(BusinessOrderAccount::getOrderId, businessDocumentOrder.getId())
.eq(BusinessOrderAccount::getIsDelete, 0));
if(ObjectUtil.isNotNull(businessOrderAccountList)&&businessOrderAccountList.size()>0){
for (BusinessOrderAccount businessOrderAccount:businessOrderAccountList){
TmsOrderAccount tmsOrderAccount = new TmsOrderAccount();
BeanUtils.copyProperties(businessOrderAccount, tmsOrderAccount);
tmsOrderAccountList.add(tmsOrderAccount);
}
}
tmsOrderAddDTO.setAppointShipper(businessDocumentOrder.getAppointShipper());
tmsOrderAddDTO.setAppointShipperId(businessDocumentOrder.getAppointShipperId());
tmsOrderAddDTO.setCargoInfoList(cargoInfoList);
tmsOrderAddDTO.setLoadingAddressList(loadingAddressList);
tmsOrderAddDTO.setUnloadAddressList(unloadAddressList);
tmsOrderAddDTO.setTmsOrderAccountList(tmsOrderAccountList);
tmsOrderAddDTO.setOrderShippingType(businessDocumentOrder.getOrderShippingType().intValue());
tmsOrderAddDTO.setPayerType(0);
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
tmsOrderAddDTO.setOrderSource("0");
tmsOrderAddDTO.setOrganizationId(organizationId);
tmsOrderAddDTO.setLoginUser(loginUser);
tmsOrderAddDTO.setOrganizationName(orgName);
AjaxResult ajaxResult=wlhyServiceFeign.add(tmsOrderAddDTO);
if(ajaxResult.get("code").toString().equals("200")){
String goodsNumber = (String) ajaxResult.get("data");
if(ObjectUtil.isNotEmpty(goodsNumber)){
executeOrder.setTmsOrderNumber(goodsNumber);
executeOrderMapper.updateById(executeOrder);
if (businessDocumentOrder.getInOrderNumber()!=null){
ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>().eq(ReservationStockInOrder::getInOrderNumber,businessDocumentOrder.getInOrderNumber()));
if (ObjectUtil.isNotNull(reservationStockInOrder)) {
reservationStockInOrder.setTmsOrderNumber(goodsNumber);
reservationStockInOrderMapper.updateById(reservationStockInOrder);
}
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber,businessDocumentOrder.getInOrderNumber()));
if (ObjectUtil.isNotNull(reservationStockOutOrder)) {
reservationStockOutOrder.setTmsOrderNumber(goodsNumber);
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
}
}
}
}else {
throw new ServiceException(ajaxResult.get("msg").toString());
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean cancelExecute(List<Long> ids) throws Exception{
@@ -25,6 +25,10 @@ import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount;
import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper;
import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder;
import com.mhd.oms.domain.reservationOrder.repository.mapper.ReservationOrderMapper;
import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder;
import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper;
import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder;
import com.mhd.oms.domain.reserveStockOutOrder.repository.mapper.ReserveStockOutOrderMapper;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO;
import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO;
@@ -76,6 +80,9 @@ public class BusinessDocumentOrderDomainService {
@Resource
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
@Resource
private ReservationStockOutOrderMapper reservationStockOutOrderMapper;
/**
* 分页查询【请填写功能名称】列表
*/
@@ -221,6 +228,11 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setGoodsNumber(OrderSequence.getOrderCode());
}
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber, tmsOrder.getInOrderNumber()));
if (reservationStockOutOrder != null){
reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
}
List<BusinessDocumentAddressMultiDTO> loadingAddressList = businessDocumentOrderDO.getLoadingAddressList();//装货地信息集合
List<BusinessDocumentAddressMultiDTO> unloadAddressList = businessDocumentOrderDO.getUnloadAddressList();//卸货地信息集合
String loadCityCounty="",unloadCityCounty="";
@@ -340,8 +352,8 @@ public class BusinessDocumentOrderDomainService {
} else {
tmsOrder.setSplicingOrderType(0L); // 普通单
}
//一小时候
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 1));
//一
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 24));
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.core.domain.dto.wlhy.TmsAddressMultiDTO;
import com.mhd.common.core.domain.dto.wlhy.TmsCargoInfoDTO;
import com.mhd.common.core.domain.dto.wlhy.TmsOrderAccount;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper;
import com.mhd.system.api.domain.TmsOrderAddDTO;
import com.mhd.common.core.domain.entity.TmsOrder;
import com.mhd.common.core.exception.ServiceException;
@@ -69,6 +71,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
private WlhyServiceFeign wlhyServiceFeign;
@Autowired
private BusinessOrderAccountMapper businessOrderAccountMapper;
@Autowired
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
/**
* 查询【请填写功能名称】列表
@@ -207,7 +211,13 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
tmsOrderAddDTO.setOrderSource("0");
tmsOrderAddDTO.setOrganizationId(organizationId);
tmsOrderAddDTO.setLoginUser(loginUser);
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkMapper.selectOne(new LambdaQueryWrapper<BusinessDeliveryDetailsLink>().eq(BusinessDeliveryDetailsLink::getSubOrderId, businessDocumentOrder.getId()));
if (ObjectUtil.isNotNull(businessDeliveryDetailsLink)) {
Integer bag = businessDeliveryDetailsLink.getBag();
Integer box = businessDeliveryDetailsLink.getBox();
//相加
tmsOrderAddDTO.setGoodsName(String.valueOf(bag + box));
}
tmsOrderAddDTO.setOrganizationName(orgName);
@@ -216,7 +216,7 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("主单业务单号")
@Excel(name = "主单业务单号")
private String mainOrderNumber;
private String mainOrderNum;
@ApiModelProperty("卸货联系人")
@Excel(name = "卸货联系人")
@@ -478,4 +478,8 @@ public class ReservationStockOutOrder extends BaseVOEntity {
@Excel(name = "退货数量")
private BigDecimal returnQuantity;
@ApiModelProperty("运输业务单号")
@Excel(name = "运输业务单号")
private String businessNumber;
}
@@ -492,4 +492,8 @@ public class ReservationStockOutOrderPO extends BaseVOEntity {
@Excel(name = "退货数量")
private BigDecimal returnQuantity;
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
@ApiModelProperty("运输业务单号")
@Excel(name = "运输业务单号")
private String businessNumber;
}
@@ -527,4 +527,8 @@ public class ReservationStockOutOrderDO extends BaseVOEntity {
@Excel(name = "退货数量")
private BigDecimal returnQuantity;
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
@ApiModelProperty("运输业务单号")
@Excel(name = "运输业务单号")
private String businessNumber;
}
@@ -516,4 +516,8 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO
@Excel(name = "退货数量")
private BigDecimal returnQuantity;
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
@ApiModelProperty("运输业务单号")
@Excel(name = "运输业务单号")
private String businessNumber;
}