oms业务单修改

This commit is contained in:
赵辉
2026-04-07 11:43:43 +08:00
parent cc27711593
commit d8c956f9f4
17 changed files with 355 additions and 33 deletions
@@ -0,0 +1,16 @@
package com.mhd.oms.domain.businessDocumentCargoInfo.repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.oms.interfaces.assembler.businessDocumentCargoInfo.BusinessDocumentCargoInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author: brb
* @description:
* @create: 2026-03-30 17:38
*/
public interface BusinessDocumentCargoInfoMapper extends BaseMapper<BusinessDocumentCargoInfo> {
void insertBatch(@Param("list") List<BusinessDocumentCargoInfo> businessDocumentCargoInfoList);
}
@@ -694,4 +694,41 @@ public class BusinessDocumentOrder extends BaseVOEntity{
@ApiModelProperty("预约单号")
private String reservationOrderNumber;
@ApiModelProperty("执行单id")
private String executeOrderId;
@ApiModelProperty("执行单号")
private String executeOrderNumber;
@ApiModelProperty("收款账户id")
private String paymentAccountId;
@ApiModelProperty("收款账户信息")
private String accountInformation;
@ApiModelProperty("业务类型")
private Integer businessCategory;
@ApiModelProperty(value = "组织地址")
private String companyAddress;
@ApiModelProperty(value = "组织公司名称")
private String companyName;
// @ApiModelProperty(value = "组织公司名称英文")
// private String companyNameEn;
//
// @ApiModelProperty(value = "负责人姓名")
// private String contact;
//
// @ApiModelProperty(value = "组织负责人id")
// private String contactPhone;
//
@ApiModelProperty(value = "账户名称")
private String accountName;
//
// @ApiModelProperty(value = "开户银行")
// private String accountBank;
}
@@ -1,6 +1,7 @@
package com.mhd.oms.domain.businessDocumentOrder.repository.persistence;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.security.utils.SecurityUtils;
@@ -17,6 +18,7 @@ import com.mhd.system.api.model.LoginUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.rmi.ServerException;
import java.util.ArrayList;
@@ -120,33 +122,51 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean execute(Long[] ids) {
LoginUser loginUser = SecurityUtils.getLoginUser();//获取登录人
for (Long id:ids){
BusinessDocumentOrder businessDocumentOrder=businessDocumentOrderMapper.selectById(id);
if (ObjectUtil.isNotNull(businessDocumentOrder)){
businessDocumentOrder.setExecuteId(loginUser.getUserid());
businessDocumentOrder.setExecuteStatus(2L);
businessDocumentOrder.setExecuteTime(new Date());
businessDocumentOrder.setExecutor(loginUser.getUsername());
businessDocumentOrder.setOrderStatus(2L);
businessDocumentOrderMapper.updateById(businessDocumentOrder);
ExecuteOrderDO executeOrderDO=new ExecuteOrderDO();
executeOrderDO.setBusinessDocumentId(id);
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setCreateBy(loginUser.getUserid());
executeOrderDO.setCreateTime(new Date());
executeOrderDO.setDelFlag(1);
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
executeOrderDomainService.insert(executeOrderDO);
try {
for (Long id:ids){
BusinessDocumentOrder businessDocumentOrder=businessDocumentOrderMapper.selectById(id);
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();
executeOrderDO.setBusinessDocumentId(id);
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setCreateBy(loginUser.getUserid());
executeOrderDO.setCreateTime(new Date());
executeOrderDO.setDelFlag(1);
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
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);
}
}
return true;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("执行失败:" + e.getMessage());
}
return null;
}
@Override
@@ -706,4 +706,40 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("预约单号")
private String reservationOrderNumber;
@ApiModelProperty("执行单id")
private String executeOrderId;
@ApiModelProperty("执行单号")
private String executeOrderNumber;
@ApiModelProperty("收款账户id")
private String paymentAccountId;
@ApiModelProperty("收款账户信息")
private String accountInformation;
@ApiModelProperty("业务类型")
private Integer businessCategory;
@ApiModelProperty(value = "组织地址")
private String companyAddress;
@ApiModelProperty(value = "组织公司名称")
private String companyName;
@ApiModelProperty(value = "组织公司名称英文")
private String companyNameEn;
@ApiModelProperty(value = "负责人姓名")
private String contact;
@ApiModelProperty(value = "组织负责人id")
private String contactPhone;
@ApiModelProperty(value = "账户名称")
private String accountName;
@ApiModelProperty(value = "开户银行")
private String accountBank;
}
@@ -2,6 +2,7 @@ package com.mhd.oms.domain.businessDocumentOrder.repository.todo;
import com.mhd.common.core.annotation.Excel;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
import com.mhd.oms.interfaces.assembler.businessDocumentCargoInfo.BusinessDocumentCargoInfo;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO;
import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO;
import lombok.Data;
@@ -728,12 +729,51 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("预约单号")
private String reservationOrderNumber;
@ApiModelProperty("执行单id")
private String executeOrderId;
@ApiModelProperty("执行单号")
private String executeOrderNumber;
@ApiModelProperty("收款账户id")
private String paymentAccountId;
@ApiModelProperty("收款账户信息")
private String accountInformation;
@ApiModelProperty("业务类型")
private Integer businessCategory;
@ApiModelProperty(value = "组织地址")
private String companyAddress;
@ApiModelProperty(value = "组织公司名称")
private String companyName;
@ApiModelProperty(value = "组织公司名称英文")
private String companyNameEn;
@ApiModelProperty(value = "负责人姓名")
private String contact;
@ApiModelProperty(value = "组织负责人id")
private String contactPhone;
@ApiModelProperty(value = "账户名称")
private String accountName;
@ApiModelProperty(value = "开户银行")
private String accountBank;
@ApiModelProperty("业务单地址集合")
private List<BusinessDocumentAddressMultiDTO> businessDocumentAddressMultiDTOList;
@ApiModelProperty("业务单货物集合")
private List<BusinessDocumentCargoMultiDTO> businessDocumentCargoMultiList;
@ApiModelProperty("业务单货物详情集合")
private List<BusinessDocumentCargoInfo> cargoInfoList;
@ApiModelProperty(value = "装货地址集合")
private List<BusinessDocumentAddressMultiDTO> loadingAddressList;
@ApiModelProperty(value = "卸货地址集合")
@@ -15,6 +15,7 @@ import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCarg
import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper;
import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder;
import com.mhd.oms.domain.businessDocumentOrder.repository.facade.IBusinessDocumentOrderService;
import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper;
import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO;
import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO;
import com.mhd.oms.domain.orderType.entity.OrderType;
@@ -57,6 +58,9 @@ public class BusinessDocumentOrderDomainService {
@Resource
private BusinessDocumentAddressMultiMapper businessDocumentAddressMultiMapper;
@Resource
private BusinessDocumentOrderMapper businessDocumentOrderMapper;
/**
* 分页查询【请填写功能名称】列表
*/
@@ -210,6 +214,8 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setFreighterName(firstAddress.getContactName());
tmsOrder.setLoadingPhone(firstAddress.getContactPhone());
tmsOrder.setLoadingDate(firstAddress.getLayDate());
tmsOrder.setAppointShipper(businessDocumentOrderDO.getAppointShipper());
tmsOrder.setAppointShipperId(businessDocumentOrderDO.getAppointShipperId());
tmsOrder.setUnloadAreaId(lastAddress.getAreaCode());
tmsOrder.setUnloadName(lastAddress.getAreaCode());
@@ -300,7 +306,8 @@ public class BusinessDocumentOrderDomainService {
if (businessDocumentOrderDO.getTopOrganizationId() != null) {
tmsOrder.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId());
}
boolean istrue=businessDocumentOrderService.insert(businessDocumentOrderDO);
// boolean istrue=businessDocumentOrderService.insert(businessDocumentOrderDO);
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
//保存货物信息及地址信息
saveAddress2CargoInfo(tmsOrder.getId(), allCargoList, loadingAddressList, unloadAddressList);
@@ -23,7 +23,7 @@ public interface IExecuteOrderService extends IService<ExecuteOrder>
/**
* 新增【请填写功能名称】
*/
public Boolean insert(ExecuteOrderDO executeOrderDO);
public Long insert(ExecuteOrderDO executeOrderDO);
/**
* 修改【请填写功能名称】
@@ -67,10 +67,11 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
* 新增【请填写功能名称】
*/
@Override
public Boolean insert(ExecuteOrderDO executeOrderDO) {
public Long insert(ExecuteOrderDO executeOrderDO) {
ExecuteOrder executeOrder = new ExecuteOrder();
BeanUtils.copyProperties(executeOrderDO,executeOrder);
return this.save(executeOrder);
this.save(executeOrder);
return executeOrder.getId();
}
/**
@@ -33,7 +33,7 @@ public class ExecuteOrderDomainService {
/**
* 新增请填写功能名称
*/
public Boolean insert(ExecuteOrderDO executeOrderDO) {
public Long insert(ExecuteOrderDO executeOrderDO) {
return executeOrderService.insert(executeOrderDO);
}