谷丰维他奶oms流程添加

This commit is contained in:
赵辉
2026-05-27 13:48:52 +08:00
parent 531901f0ff
commit 591763f99f
23 changed files with 1105 additions and 32 deletions
@@ -494,4 +494,9 @@ TmsOrderAddDTO implements Serializable {
@ApiModelProperty("当前登录用户")
private LoginUser loginUser;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
}
@@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder;
import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper;
@@ -13,6 +16,8 @@ import com.mhd.oms.domain.businessDocumentOrder.service.BusinessDocumentOrderDom
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount;
import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper;
import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder;
import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper;
import com.mhd.oms.domain.gwLog.entity.GwLog;
import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
@@ -66,6 +71,9 @@ public class BusinessDocumentOrderApplicationService {
@Resource
private GwLogMapper gwLogMapper;
@Autowired
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
private ExecuteOrderMapper executeOrderMapper;
/**
* 分页查询【请填写功能名称】列表
@@ -421,4 +429,51 @@ public class BusinessDocumentOrderApplicationService {
log.error("删改单申请更新状态失败失败: id={}, error={}", businessDocumentOrderDTO.getId(), e.getMessage());
}
}
public List<BusinessDeliveryDetailsLinkDTO> getDeliveryDetail(Long id) {
// 查询配送明细列表
List<BusinessDeliveryDetailsLink> businessDeliveryDetailsLinks = businessDeliveryDetailsLinkMapper.selectList(
new LambdaQueryWrapper<BusinessDeliveryDetailsLink>()
.eq(BusinessDeliveryDetailsLink::getOrderId, id)
.eq(BusinessDeliveryDetailsLink::getDelFlag, 1)
);
// 转换为DTO列表
List<BusinessDeliveryDetailsLinkDTO> businessDeliveryDetailsLinkDTOS = new ArrayList<>();
for (BusinessDeliveryDetailsLink businessDeliveryDetailsLink : businessDeliveryDetailsLinks) {
// 将Entity转换为DTO
BusinessDeliveryDetailsLinkDTO dto = new BusinessDeliveryDetailsLinkDTO();
BeanUtils.copyProperties(businessDeliveryDetailsLink, dto);
// 获取子单信息
if (businessDeliveryDetailsLink.getSubOrderId() != null) {
BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectById(businessDeliveryDetailsLink.getSubOrderId());
if (businessDocumentOrder != null) {
String goodsNumber = businessDocumentOrder.getGoodsNumber();
ExecuteOrder executeOrder = executeOrderMapper.selectOne(new LambdaQueryWrapper<ExecuteOrder>()
.eq(ExecuteOrder::getBusinessDocumentNumber, goodsNumber)
.eq(ExecuteOrder::getDelFlag, 1)
);
if (executeOrder != null) {
String goodsNumber1 = executeOrder.getGoodsNumber();
// 获取TMS订单ID
String tmsOrderId = businessDocumentOrderMapper.getTmsOrderInfo(goodsNumber1);
if (tmsOrderId != null) {
// 获取运单详情
com.mhd.system.api.domain.TmsTransportNote tmsTransportNote = businessDocumentOrderMapper.getTmsTransportNote(tmsOrderId);
if (tmsTransportNote != null) {
dto.setTmsTransportNote(tmsTransportNote);
}
}
}
}
}
businessDeliveryDetailsLinkDTOS.add(dto);
}
return businessDeliveryDetailsLinkDTOS;
}
}
@@ -0,0 +1,65 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.web.domain.BaseEntity;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author: brb
* @description:
* @create: 2026-05-26 10:50
*/
@Data
@TableName("business_delivery_details_link")
public class BusinessDeliveryDetailsLink extends BaseVOEntity {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty(value = "业务单id")
private Long orderId;
@ApiModelProperty(value = "类别")
private String category;
@ApiModelProperty(value = "发票编号")
private String invoiceNumber;
@ApiModelProperty(value = "客户编号")
private String customerNumber;
@ApiModelProperty(value = "配送名称")
private String deliveryName;
@ApiModelProperty(value = "")
private Integer box;
@ApiModelProperty(value = "")
private Integer bag;
@ApiModelProperty(value = "金额")
private BigDecimal amount;
@ApiModelProperty(value = "子单id")
private String subOrderId;
@ApiModelProperty(value = "删除标志")
private Integer delFlag;
}
@@ -0,0 +1,72 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import com.mhd.system.api.domain.TmsTransportNote;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 业务配送明细关联DTO对象
*
* @author gen
* @date 2026-05-26
*/
@Data
public class BusinessDeliveryDetailsLinkDTO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("创建时间")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("更新时间")
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty("业务单id")
@Excel(name = "业务单id")
private Long orderId;
@ApiModelProperty("类别")
@Excel(name = "类别")
private String category;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
@ApiModelProperty("客户编号")
@Excel(name = "客户编号")
private String customerNumber;
@ApiModelProperty("配送名称")
@Excel(name = "配送名称")
private String deliveryName;
@ApiModelProperty("")
@Excel(name = "")
private Integer box;
@ApiModelProperty("")
@Excel(name = "")
private Integer bag;
@ApiModelProperty("金额")
@Excel(name = "金额")
private BigDecimal amount;
@ApiModelProperty(value = "子单id")
private Long subOrderId;
@ApiModelProperty("删除标志")
private Integer delFlag;
@ApiModelProperty("运输单信息")
private TmsTransportNote tmsTransportNote;
}
@@ -0,0 +1,62 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO;
import java.util.List;
/**
* 业务配送明细关联Service接口
*
* @author gen
* @date 2026-05-26
*/
public interface IBusinessDeliveryDetailsLinkService extends IService<BusinessDeliveryDetailsLink> {
/**
* 分页查询业务配送明细关联列表
*/
List<BusinessDeliveryDetailsLinkPO> queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO);
/**
* 新增业务配送明细关联
*/
Boolean insert(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO);
/**
* 新增业务配送明细关联并返回实体
*/
BusinessDeliveryDetailsLink insertReturnEntity(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO);
/**
* 新增业务配送明细关联并返回主键ID
*/
Long insertReturnId(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO);
/**
* 修改业务配送明细关联
*/
Boolean update(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO);
/**
* 批量删除业务配送明细关联
*/
Boolean delete(Long[] ids);
/**
* 查询业务配送明细关联详细信息
*/
BusinessDeliveryDetailsLinkPO getInfo(Long id);
/**
* 批量查询业务配送明细关联
*/
List<BusinessDeliveryDetailsLinkPO> getInfo(List<Long> ids);
/**
* 批量修改业务配送明细关联
*/
Boolean batchUpdate(List<BusinessDeliveryDetailsLinkDO> businessDeliveryDetailsLinkDOS);
}
@@ -0,0 +1,22 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO;
import java.util.List;
/**
* 业务配送明细关联Mapper接口
*
* @author gen
* @date 2026-05-26
*/
public interface BusinessDeliveryDetailsLinkMapper extends BaseMapper<BusinessDeliveryDetailsLink> {
/**
* 查询业务配送明细关联列表
*/
List<BusinessDeliveryDetailsLinkPO> queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO);
}
@@ -0,0 +1,143 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.persistence;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade.IBusinessDeliveryDetailsLinkService;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 业务配送明细关联Service业务层处理
*
* @author gen
* @date 2026-05-26
*/
@Service
public class BusinessDeliveryDetailsLinkImpl extends ServiceImpl<BusinessDeliveryDetailsLinkMapper, BusinessDeliveryDetailsLink> implements IBusinessDeliveryDetailsLinkService {
@Autowired
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
/**
* 查询业务配送明细关联列表
*/
@Override
public List<BusinessDeliveryDetailsLinkPO> queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
return businessDeliveryDetailsLinkMapper.queryList(businessDeliveryDetailsLinkDO);
}
/**
* 新增业务配送明细关联
*/
@Override
public Boolean insert(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink);
return this.save(businessDeliveryDetailsLink);
}
/**
* 新增业务配送明细关联并返回实体
*/
@Override
public BusinessDeliveryDetailsLink insertReturnEntity(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink);
this.save(businessDeliveryDetailsLink);
return businessDeliveryDetailsLink;
}
/**
* 新增业务配送明细关联并返回主键ID
*/
@Override
public Long insertReturnId(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink);
this.save(businessDeliveryDetailsLink);
return businessDeliveryDetailsLink.getId();
}
/**
* 修改业务配送明细关联
*/
@Override
public Boolean update(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink);
return this.updateById(businessDeliveryDetailsLink);
}
/**
* 批量删除业务配送明细关联
*/
@Override
public Boolean delete(Long[] ids) {
if (ArrayUtil.isEmpty(ids)) {
throw new ServiceException("删除ID不能为空");
}
List<BusinessDeliveryDetailsLink> list = new ArrayList<>();
for (Long id : ids) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
businessDeliveryDetailsLink.setId(id);
businessDeliveryDetailsLink.setDelFlag(2);
list.add(businessDeliveryDetailsLink);
}
return this.updateBatchById(list);
}
/**
* 查询业务配送明细关联详细信息
*/
@Override
public BusinessDeliveryDetailsLinkPO getInfo(Long id) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = this.getById(id);
if (ObjectUtil.isNull(businessDeliveryDetailsLink)) {
throw new ServiceException("未查询到对应的业务配送明细关联信息");
}
BusinessDeliveryDetailsLinkPO businessDeliveryDetailsLinkPO = new BusinessDeliveryDetailsLinkPO();
BeanUtils.copyProperties(businessDeliveryDetailsLink, businessDeliveryDetailsLinkPO);
return businessDeliveryDetailsLinkPO;
}
/**
* 批量查询业务配送明细关联
*/
@Override
public List<BusinessDeliveryDetailsLinkPO> getInfo(List<Long> ids) {
List<BusinessDeliveryDetailsLink> list = this.listByIds(ids);
List<BusinessDeliveryDetailsLinkPO> poList = new ArrayList<>();
for (BusinessDeliveryDetailsLink businessDeliveryDetailsLink : list) {
BusinessDeliveryDetailsLinkPO businessDeliveryDetailsLinkPO = new BusinessDeliveryDetailsLinkPO();
BeanUtils.copyProperties(businessDeliveryDetailsLink, businessDeliveryDetailsLinkPO);
poList.add(businessDeliveryDetailsLinkPO);
}
return poList;
}
/**
* 批量修改业务配送明细关联
*/
@Override
public Boolean batchUpdate(List<BusinessDeliveryDetailsLinkDO> businessDeliveryDetailsLinkDOS) {
List<BusinessDeliveryDetailsLink> list = new ArrayList<>();
for (BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO : businessDeliveryDetailsLinkDOS) {
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink);
list.add(businessDeliveryDetailsLink);
}
return this.updateBatchById(list);
}
}
@@ -0,0 +1,71 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 业务配送明细关联PO对象(响应输出)
*
* @author gen
* @date 2026-05-26
*/
@Data
@ApiModel(value = "业务配送明细关联对象", description = "业务配送明细关联响应对象")
public class BusinessDeliveryDetailsLinkPO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("创建时间")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("更新时间")
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty("业务单id")
@Excel(name = "业务单id")
private Long orderId;
@ApiModelProperty("类别")
@Excel(name = "类别")
private String category;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
@ApiModelProperty("客户编号")
@Excel(name = "客户编号")
private String customerNumber;
@ApiModelProperty("配送名称")
@Excel(name = "配送名称")
private String deliveryName;
@ApiModelProperty("")
@Excel(name = "")
private Integer box;
@ApiModelProperty("")
@Excel(name = "")
private Integer bag;
@ApiModelProperty("金额")
@Excel(name = "金额")
private BigDecimal amount;
@ApiModelProperty(value = "子单id")
private String subOrderId;
@ApiModelProperty("删除标志")
private Integer delFlag;
}
@@ -0,0 +1,76 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 业务配送明细关联DO对象(查询条件输入)
*
* @author gen
* @date 2026-05-26
*/
@Data
public class BusinessDeliveryDetailsLinkDO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("主键集合")
private List<Long> idList;
@ApiModelProperty("创建时间")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("更新时间")
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty("业务单id")
@Excel(name = "业务单id")
private Long orderId;
@ApiModelProperty("业务单id集合")
private List<Long> orderIdList;
@ApiModelProperty("类别")
@Excel(name = "类别")
private String category;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
@ApiModelProperty("客户编号")
@Excel(name = "客户编号")
private String customerNumber;
@ApiModelProperty("配送名称")
@Excel(name = "配送名称")
private String deliveryName;
@ApiModelProperty("")
@Excel(name = "")
private Integer box;
@ApiModelProperty("")
@Excel(name = "")
private Integer bag;
@ApiModelProperty("金额")
@Excel(name = "金额")
private BigDecimal amount;
@ApiModelProperty(value = "子单id")
private String subOrderId;
@ApiModelProperty("删除标志")
private Integer delFlag;
}
@@ -0,0 +1,80 @@
package com.mhd.oms.domain.businessDeliveryDetailsLink.service;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade.IBusinessDeliveryDetailsLinkService;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 业务配送明细关联领域服务
*
* @author gen
* @date 2026-05-26
*/
@Service
@Slf4j
public class BusinessDeliveryDetailsLinkDomainService {
@Autowired
private IBusinessDeliveryDetailsLinkService businessDeliveryDetailsLinkService;
/**
* 分页查询业务配送明细关联列表
*/
public List<BusinessDeliveryDetailsLinkPO> queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
return businessDeliveryDetailsLinkService.queryList(businessDeliveryDetailsLinkDO);
}
/**
* 新增业务配送明细关联
*/
public Boolean insert(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
return businessDeliveryDetailsLinkService.insert(businessDeliveryDetailsLinkDO);
}
/**
* 新增业务配送明细关联并且返回主键ID
*/
public Long insertReturnId(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
return businessDeliveryDetailsLinkService.insertReturnId(businessDeliveryDetailsLinkDO);
}
/**
* 修改业务配送明细关联
*/
public Boolean update(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) {
return businessDeliveryDetailsLinkService.update(businessDeliveryDetailsLinkDO);
}
/**
* 批量删除业务配送明细关联
*/
public Boolean delete(Long[] ids) {
return businessDeliveryDetailsLinkService.delete(ids);
}
/**
* 获取业务配送明细关联详细信息
*/
public BusinessDeliveryDetailsLinkPO getInfo(Long id) {
return businessDeliveryDetailsLinkService.getInfo(id);
}
/**
* 批量获取业务配送明细关联详细信息
*/
public List<BusinessDeliveryDetailsLinkPO> getInfo(List<Long> ids) {
return businessDeliveryDetailsLinkService.getInfo(ids);
}
/**
* 批量修改业务配送明细关联
*/
public Boolean batchUpdate(List<BusinessDeliveryDetailsLinkDO> businessDeliveryDetailsLinkDOS) {
return businessDeliveryDetailsLinkService.batchUpdate(businessDeliveryDetailsLinkDOS);
}
}
@@ -793,4 +793,15 @@ public class BusinessDocumentOrder extends BaseVOEntity{
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("删改单申请时间")
private Date reviseApplyTime;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
@ApiModelProperty("客户编号")
@Excel(name = "客户编号")
private String customerNumber;
@ApiModelProperty("配送进度")
private String deliveryProgress;
}
@@ -2,9 +2,12 @@ package com.mhd.oms.domain.businessDocumentOrder.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder;
import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO;
import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO;
import com.mhd.system.api.domain.TmsTransportNote;
import org.apache.catalina.User;
import org.apache.ibatis.annotations.Param;
/**
* 请填写功能名称Mapper接口
@@ -24,4 +27,10 @@ public interface BusinessDocumentOrderMapper extends BaseMapper<BusinessDocument
String selectByMakerCodeNc1(@Param("salesmanCodeNc") String salesmanCodeNc);
List<BusinessDocumentOrderPO> queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO);
UserPo getAddressByUserAccount(@Param("customerNumber") String customerNumber);
String getTmsOrderInfo(@Param("goodsNumber") String goodsNumber);
TmsTransportNote getTmsTransportNote(@Param("tmsOrderId") String tmsOrderId);
}
@@ -4,7 +4,12 @@ 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.core.domain.po.UserPo;
import com.mhd.common.core.utils.OrderSequence;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper;
import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder;
@@ -30,8 +35,10 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationS
import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder;
import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper;
import com.mhd.system.api.WlhyServiceFeign;
import com.mhd.system.api.domain.SysUser;
import com.mhd.system.api.domain.TmsOrderAddDTO;
import com.mhd.system.api.model.LoginUser;
import org.apache.catalina.User;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -72,6 +79,9 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
@Autowired
private ReservationStockOutOrderMapper reservationStockOutOrderMapper;
@Autowired
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
@Autowired
private WlhyServiceFeign wlhyServiceFeign;
@@ -135,6 +145,22 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
businessDocumentOrderPO.setExecuteOrderList(executeOrderList);
}
}
if (businessDocumentOrder.getSplicingOrderType()==4){
List<ExecuteOrder> allExecuteOrderList = new ArrayList<>();
List<BusinessDocumentOrder> businessDocumentOrderList = businessDocumentOrderMapper.selectList(new LambdaQueryWrapper<BusinessDocumentOrder>().eq(BusinessDocumentOrder::getMainOrderId, id).eq(BusinessDocumentOrder::getDelFlag,1));
if (businessDocumentOrderList.size()>0){
for (BusinessDocumentOrder businessDocumentOrder1 : businessDocumentOrderList){
ExecuteOrder executeOrder= executeOrderMapper.selectOne(new LambdaQueryWrapper<ExecuteOrder>().eq(ExecuteOrder::getGoodsNumber, businessDocumentOrder1.getExecuteOrderNumber()).eq(ExecuteOrder::getDelFlag, 1));
if (ObjectUtil.isNotNull(executeOrder)) {
allExecuteOrderList.add(executeOrder);
}
}
}
if (!allExecuteOrderList.isEmpty()) {
businessDocumentOrderPO.setExecuteOrderList(allExecuteOrderList);
}
}
//获取货物信息
List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList = businessDocumentCargoMultiMapper.selectList(new LambdaQueryWrapper<BusinessDocumentCargoMulti>().eq(BusinessDocumentCargoMulti::getOrderId, id).eq(BusinessDocumentCargoMulti::getDelFlag,1));
if (businessDocumentCargoMultiList.size()>0){
@@ -159,6 +185,98 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
if(reviewStatus==1){
businessDocumentOrder.setOrderStatus(1L);
businessDocumentOrder.setExecuteStatus(1L);
// 判断是否有配送明细
// List<BusinessDeliveryDetailsLinkDTO> businessDeliveryDetailsLinkDTOList = businessDocumentOrderDO.getBusinessDeliveryDetailsLinkDTOList();
List<BusinessDeliveryDetailsLink> businessDeliveryDetailsLinkDTOList = businessDeliveryDetailsLinkMapper.selectList(new LambdaQueryWrapper<BusinessDeliveryDetailsLink>().eq(BusinessDeliveryDetailsLink::getOrderId, id).eq(BusinessDeliveryDetailsLink::getDelFlag, 1));
boolean hasDetails = businessDeliveryDetailsLinkDTOList != null && businessDeliveryDetailsLinkDTOList.size() > 0;
// 如果有明细为每个明细生成一个子单
if (hasDetails) {
int subOrderCount = 0; // 子单计数
for (BusinessDeliveryDetailsLink businessDeliveryDetailsLinkDTO : businessDeliveryDetailsLinkDTOList) {
BusinessDocumentOrder subOrder = new BusinessDocumentOrder();
BeanUtils.copyProperties(businessDocumentOrder, subOrder);
subOrder.setId(null);
subOrder.setGoodsNumber(OrderSequence.getOrderCode()); // 生成新的子单号
// 设置子单的拼单类型和主单关系
subOrder.setSplicingOrderType(3L); // 合单-子单
subOrder.setMainOrderId(String.valueOf(businessDocumentOrder.getId())); // 主单ID
subOrder.setMainOrderNum(businessDocumentOrder.getGoodsNumber()); // 主单号
if (businessDocumentOrder.getOrganizationId() != null) {
subOrder.setOrganizationId(businessDocumentOrder.getOrganizationId());
}
if (businessDocumentOrder.getOrganizationName() != null) {
subOrder.setOrganizationName(businessDocumentOrder.getOrganizationName());
}
if (businessDocumentOrder.getTopOrganizationId() != null) {
subOrder.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
}
//卸货地与卸货详情
String customerNumber = businessDeliveryDetailsLinkDTO.getCustomerNumber();
UserPo user = businessDocumentOrderMapper.getAddressByUserAccount(customerNumber);
String userAreaName = user.getUserAreaName();
String userAreaAddress = user.getUserAreaAddress();
subOrder.setUnloadAddress(userAreaAddress);
subOrder.setUnloadName(userAreaName);
subOrder.setDischargerName(user.getUserName());
subOrder.setUnloadPhone(user.getUserPhone());
subOrder.setInvoiceNumber(businessDeliveryDetailsLinkDTO.getInvoiceNumber());
subOrder.setCustomerNumber(businessDeliveryDetailsLinkDTO.getCustomerNumber());
businessDocumentOrderMapper.insert(subOrder);
subOrderCount++; // 增加子单计数
// 保存子单的地址信息到BUSINESS_DOCUMENT_ADDRESS_MULTI表
List<BusinessDocumentAddressMulti> loadingAddressList = businessDocumentAddressMultiMapper.selectList(
new LambdaQueryWrapper<BusinessDocumentAddressMulti>()
.eq(BusinessDocumentAddressMulti::getOrderId, String.valueOf(businessDocumentOrder.getId()))
.eq(BusinessDocumentAddressMulti::getLayType, 1L)
.eq(BusinessDocumentAddressMulti::getDelFlag, 1)
);
if (loadingAddressList != null && !loadingAddressList.isEmpty()) {
for (BusinessDocumentAddressMulti loadingAddress : loadingAddressList) {
BusinessDocumentAddressMulti subLoadingAddress = new BusinessDocumentAddressMulti();
BeanUtils.copyProperties(loadingAddress, subLoadingAddress, "id");
subLoadingAddress.setOrderId(String.valueOf(subOrder.getId()));
subLoadingAddress.setCreateTime(new Date());
subLoadingAddress.setUpdateTime(new Date());
businessDocumentAddressMultiMapper.insert(subLoadingAddress);
}
}
BusinessDocumentAddressMulti unloadAddress = new BusinessDocumentAddressMulti();
unloadAddress.setOrganizationId(subOrder.getOrganizationId());
unloadAddress.setOrganizationName(subOrder.getOrganizationName());
unloadAddress.setTopOrganizationId(subOrder.getTopOrganizationId());
unloadAddress.setOrderId(String.valueOf(subOrder.getId()));
unloadAddress.setAreaCode(userAreaAddress);
unloadAddress.setAreaName(userAreaName);
unloadAddress.setAddress(userAreaAddress);
unloadAddress.setContactName(user.getUserName());
unloadAddress.setContactPhone(user.getUserPhone());
unloadAddress.setLayType(2L);
unloadAddress.setSort(1L);
unloadAddress.setShortName(userAreaName);
unloadAddress.setCreateTime(new Date());
unloadAddress.setUpdateTime(new Date());
unloadAddress.setDelFlag(1);
businessDocumentAddressMultiMapper.insert(unloadAddress);
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDTO, businessDeliveryDetailsLink);
businessDeliveryDetailsLink.setOrderId(businessDocumentOrder.getId());
businessDeliveryDetailsLink.setSubOrderId(String.valueOf(subOrder.getId()));
businessDeliveryDetailsLinkMapper.updateById(businessDeliveryDetailsLink);
}
//配送进度0/子单数量
businessDocumentOrder.setDeliveryProgress("0/" + subOrderCount);
}
}else{
businessDocumentOrder.setOrderStatus(0L);
}
@@ -186,36 +304,108 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
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);
// 判断是否为拆单-主单(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)
);
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; // 子单已执行,跳过
}
// 创建子单的执行单
ExecuteOrderDO subExecuteOrderDO = new ExecuteOrderDO();
BeanUtils.copyProperties(subOrder, subExecuteOrderDO);
subExecuteOrderDO.setDocumentDate(subOrder.getDocumentDate());
subExecuteOrderDO.setLayDate(subOrder.getLayDate());
subExecuteOrderDO.setBusinessDocumentId(subOrder.getId());
subExecuteOrderDO.setBusinessDocumentNumber(subOrder.getGoodsNumber());
subExecuteOrderDO.setGoodsNumber(subOrder.getGoodsNumber());
subExecuteOrderDO.setCreateBy(loginUser.getUserid());
subExecuteOrderDO.setCreateTime(new Date());
subExecuteOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname());
subExecuteOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
subExecuteOrderDO.setDelFlag(1);
subExecuteOrderDO.setOrganizationId(subOrder.getOrganizationId());
subExecuteOrderDO.setOrgName(subOrder.getOrgName());
subExecuteOrderDO.setTopOrganizationId(subOrder.getTopOrganizationId());
subExecuteOrderDO.setReservationOrderNumber(subOrder.getReservationOrderNumber());
subExecuteOrderDO.setRoute(subOrder.getRoute());
subExecuteOrderDO.setInvoiceNumber(subOrder.getInvoiceNumber());
Long subExecuteOrderId = executeOrderDomainService.insert(subExecuteOrderDO);
// 更新子单状态
subOrder.setExecuteId(loginUser.getUserid());
subOrder.setExecuteStatus(2L);
subOrder.setExecuteTime(new Date());
subOrder.setExecutor(loginUser.getUsername());
subOrder.setOrderStatus(2L);
subOrder.setExecuteOrderId(String.valueOf(subExecuteOrderId));
subOrder.setExecuteOrderNumber(subOrder.getGoodsNumber());
businessDocumentOrderMapper.updateById(subOrder);
}
// 更新主单状态
businessDocumentOrder.setExecuteId(loginUser.getUserid());
businessDocumentOrder.setExecuteStatus(2L);
businessDocumentOrder.setExecuteTime(new Date());
businessDocumentOrder.setExecutor(loginUser.getUsername());
businessDocumentOrder.setOrderStatus(2L);
businessDocumentOrderMapper.updateById(businessDocumentOrder);
} else {
throw new ServerException("拆单主单未找到子单,无法执行");
}
} else {
// 不为4时保留原来逻辑
// 先创建执行单
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());
executeOrderDO.setRoute(businessDocumentOrder.getRoute());
executeOrderDO.setInvoiceNumber(businessDocumentOrder.getInvoiceNumber());
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);
}
}
}
@@ -823,4 +823,7 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("删改单申请时间")
private Date reviseApplyTime;
@ApiModelProperty("配送进度")
private String deliveryProgress;
}
@@ -1,6 +1,7 @@
package com.mhd.oms.domain.businessDocumentOrder.repository.todo;
import com.mhd.common.core.annotation.Excel;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount;
import com.mhd.oms.interfaces.assembler.businessDocumentCargoInfo.BusinessDocumentCargoInfo;
@@ -864,4 +865,10 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("删改单申请时间")
private Date reviseApplyTime;
@ApiModelProperty("出库单运输明细")
private List<BusinessDeliveryDetailsLinkDTO> businessDeliveryDetailsLinkDTOList;
@ApiModelProperty("配送进度")
private String deliveryProgress;
}
@@ -8,6 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.common.core.domain.po.UserShipperPo;
import com.mhd.common.core.utils.OrderSequence;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper;
import com.mhd.oms.domain.businessDocumentAddressMulti.entity.BusinessDocumentAddressMulti;
import com.mhd.oms.domain.businessDocumentAddressMulti.repository.mapper.BusinessDocumentAddressMultiMapper;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
@@ -69,6 +72,9 @@ public class BusinessDocumentOrderDomainService {
@Resource
private ReservationOrderMapper reservationOrderMapper;
@Resource
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
/**
* 分页查询请填写功能名称列表
*/
@@ -322,7 +328,56 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId());
}
// boolean istrue=businessDocumentOrderService.insert(businessDocumentOrderDO);
// 判断是否有配送明细
List<BusinessDeliveryDetailsLinkDTO> businessDeliveryDetailsLinkDTOList = businessDocumentOrderDO.getBusinessDeliveryDetailsLinkDTOList();
boolean hasDetails = businessDeliveryDetailsLinkDTOList != null && businessDeliveryDetailsLinkDTOList.size() > 0;
if (hasDetails) {
tmsOrder.setSplicingOrderType(4L); // 拆单-主单
} else {
tmsOrder.setSplicingOrderType(0L); // 普通单
}
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
// 如果有明细为每个明细生成一个子单
if (hasDetails) {
for (BusinessDeliveryDetailsLinkDTO businessDeliveryDetailsLinkDTO : businessDeliveryDetailsLinkDTOList) {
// BusinessDocumentOrder subOrder = new BusinessDocumentOrder();
// BeanUtils.copyProperties(tmsOrder, subOrder);
//
// // 重置子单的ID和单号
// subOrder.setId(null);
// subOrder.setGoodsNumber(OrderSequence.getOrderCode()); // 生成新的子单号
//
// // 设置子单的拼单类型和主单关系
// subOrder.setSplicingOrderType(3L); // 合单-子单
// subOrder.setMainOrderId(String.valueOf(tmsOrder.getId())); // 主单ID
// subOrder.setMainOrderNum(tmsOrder.getGoodsNumber()); // 主单号
//
// // 设置子单的组织信息
// if (businessDocumentOrderDO.getOrganizationId() != null) {
// subOrder.setOrganizationId(businessDocumentOrderDO.getOrganizationId());
// }
// if (businessDocumentOrderDO.getOrganizationName() != null) {
// subOrder.setOrganizationName(businessDocumentOrderDO.getOrganizationName());
// }
// if (businessDocumentOrderDO.getTopOrganizationId() != null) {
// subOrder.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId());
// }
//
// // 保存子单
// businessDocumentOrderMapper.insert(subOrder);
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink();
BeanUtils.copyProperties(businessDeliveryDetailsLinkDTO, businessDeliveryDetailsLink);
businessDeliveryDetailsLink.setOrderId(tmsOrder.getId());
// businessDeliveryDetailsLink.setSubOrderId(subOrder.getId());
businessDeliveryDetailsLinkMapper.insert(businessDeliveryDetailsLink);
}
}
//保存货物信息及地址信息
saveAddress2CargoInfo(tmsOrder.getId(), allCargoList, loadingAddressList, unloadAddressList);
@@ -143,5 +143,12 @@ public class ExecuteOrder extends BaseVOEntity{
@ApiModelProperty("业务单元")
private String businessUnit;
@ApiModelProperty("运输线路")
private String route;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
}
@@ -203,4 +203,14 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("业务单货物集合")
private List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList;
@ApiModelProperty("运输线路")
private String route;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
@ApiModelProperty("客户编号")
@Excel(name = "客户编号")
private String customerNumber;
}
@@ -144,4 +144,11 @@ public class ExecuteOrderDO extends BaseVOEntity{
@ApiModelProperty("业务单元")
private String businessUnit;
@ApiModelProperty("运输线路")
private String route;
@ApiModelProperty("发票编号")
@Excel(name = "发票编号")
private String invoiceNumber;
}
@@ -1,6 +1,7 @@
package com.mhd.oms.interfaces.dto.businessDocumentOrder;
import com.mhd.common.core.annotation.Excel;
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO;
import com.mhd.oms.domain.businessDocumentAddressMulti.entity.BusinessDocumentAddressMulti;
import com.mhd.oms.domain.businessDocumentAddressMulti.repository.todo.BusinessDocumentAddressMultiDO;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
@@ -880,4 +881,10 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("删改单申请时间")
private Date reviseApplyTime;
@ApiModelProperty("出库单运输明细")
private List<BusinessDeliveryDetailsLinkDTO> businessDeliveryDetailsLinkDTOList;
@ApiModelProperty("配送进度")
private String deliveryProgress;
}
@@ -4,6 +4,7 @@ import java.util.List;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO;
@@ -71,6 +72,12 @@ public class BusinessDocumentOrderApi extends BaseController{
return AjaxResult.success(businessDocumentOrderApplicationService.getFeeDetail(id));
}
@ApiOperation("根据业务单id查询客户配送明细")
@GetMapping("/getDeliveryDetail/{id}")
public AjaxResult getDeliveryDetail(@PathVariable("id") Long id){
return AjaxResult.success(businessDocumentOrderApplicationService.getDeliveryDetail(id));
}
/**
* 批量删除业务单
*/
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper">
<resultMap type="com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO" id="BusinessDeliveryDetailsLinkResult">
<result property="id" column="id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFlag" column="del_flag" />
<result property="orderId" column="order_id" />
<result property="category" column="category" />
<result property="invoiceNumber" column="invoice_number" />
<result property="customerNumber" column="customer_number" />
<result property="deliveryName" column="delivery_name" />
<result property="box" column="box" />
<result property="bag" column="bag" />
<result property="amount" column="amount" />
</resultMap>
<sql id="selectBusinessDeliveryDetailsLinkVo">
SELECT
id,
create_by,
create_by_name,
create_time,
update_by,
update_by_name,
update_time,
del_flag,
order_id,
category,
invoice_number,
customer_number,
delivery_name,
box,
bag,
amount
FROM
business_delivery_details_link
WHERE
del_flag = 1
</sql>
<sql id="selectBusinessDeliveryDetailsLinkCondition">
<if test="id != null">
and id = #{id}
</if>
<if test="idList != null and idList.size() > 0">
and id in
<foreach collection="idList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="orderId != null">
and order_id = #{orderId}
</if>
<if test="orderIdList != null and orderIdList.size() > 0">
and order_id in
<foreach collection="orderIdList" item="orderId" open="(" separator="," close=")">
#{orderId}
</foreach>
</if>
<if test="category != null and category != ''">
and category = #{category}
</if>
<if test="invoiceNumber != null and invoiceNumber != ''">
and invoice_number = #{invoiceNumber}
</if>
<if test="customerNumber != null and customerNumber != ''">
and customer_number = #{customerNumber}
</if>
<if test="deliveryName != null and deliveryName != ''">
and delivery_name like concat('%', #{deliveryName}, '%')
</if>
<if test="box != null">
and box = #{box}
</if>
<if test="bag != null">
and bag = #{bag}
</if>
<if test="amount != null">
and amount = #{amount}
</if>
<if test="topOrganizationId != null">
and top_organization_id = #{topOrganizationId}
</if>
<if test="organizationId != null">
and organization_id = #{organizationId}
</if>
</sql>
<select id="queryList" parameterType="com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO" resultMap="BusinessDeliveryDetailsLinkResult">
<include refid="selectBusinessDeliveryDetailsLinkVo"/>
<include refid="selectBusinessDeliveryDetailsLinkCondition"/>
ORDER BY create_time DESC
</select>
</mapper>
@@ -191,6 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectBusinessDocumentOrderPo1">
<where>
AND SPLICING_ORDER_TYPE in (0, 2, 4)
<if test="id != null ">
and ID = #{id}
</if>
@@ -718,8 +719,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectBusinessDocumentOrderPo3"/>
order by create_time desc
</select>
<select id="getAddressByUserAccount" resultType="com.mhd.common.core.domain.po.UserPo">
select * from NGWL_TEST_USER."USER" where user_member_code =#{customerNumber}
</select>
<select id="getTmsOrderInfo" resultType="java.lang.String">
select id from NGWL_TEST_WLHY.TMS_ORDER where EXECUTE_ORDER_NUMBER = #{goodsNumber} and SPLICING_ORDER_TYPE = 2
</select>
<select id="getTmsTransportNote" resultType="com.mhd.system.api.domain.TmsTransportNote">
select * from NGWL_TEST_WLHY.TMS_TRANSPORT_NOTE where ORDER_ID = #{tmsOrderId}
</select>
<sql id="selectBusinessDocumentOrderPo3">