oms修改

This commit is contained in:
赵辉
2026-04-16 11:22:32 +08:00
parent 551c618820
commit 4ca0f10e61
14 changed files with 477 additions and 13 deletions
@@ -0,0 +1,107 @@
package com.mhd.common.core.domain.dto.wlhy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author: brb
* @description:
* @create: 2026-04-15 11:04
*/
@Data
public class TmsOrderAccount implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ID_WORKER_STR)
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
@Excel(name = "创建人", width = 15)
private String createBy;
/**创建日期*/
@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 = "更新人")
@Excel(name = "更新人", width = 15)
private String updateBy;
/**更新日期*/
@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 = "所属部门")
@Excel(name = "所属部门", width = 15)
private String sysOrgCode;
/**删除标识*/
@ApiModelProperty(value = "删除标识")
@Excel(name = "删除标识", width = 15)
private Integer isDelete;
/**所属组织*/
@ApiModelProperty(value = "所属组织")
@Excel(name = "所属组织", width = 15)
private String orgName;
/**组织ID*/
@ApiModelProperty(value = "组织ID")
@Excel(name = "组织ID", width = 15)
private Long organizationId;
/**一级组织ID*/
@ApiModelProperty(value = "一级组织ID")
@Excel(name = "一级组织ID", width = 15)
private Long topOrganizationId;
/**组织名称*/
@ApiModelProperty(value = "组织名称")
@Excel(name = "组织名称", width = 15)
private String organizationName;
/**订单id*/
@ApiModelProperty(value = "订单id")
@Excel(name = "订单id", width = 15)
private String orderId;
/**科目id*/
@ApiModelProperty(value = "科目id")
@Excel(name = "科目id", width = 15)
private Long accountId;
/**科目收支类型(1-应收,2-应付*/
@ApiModelProperty(value = "科目收支类型(1-应收,2-应付")
@Excel(name = "科目收支类型(1-应收,2-应付", width = 15)
private Long accountType;
/**科目编码*/
@ApiModelProperty(value = "科目编码")
@Excel(name = "科目编码", width = 15)
private String subjectCode;
/**科目名称*/
@ApiModelProperty(value = "科目名称")
@Excel(name = "科目名称", width = 15)
private String subjectName;
/**科目费率*/
@ApiModelProperty(value = "科目费率")
@Excel(name = "科目费率", width = 15)
private BigDecimal rate;
/**金额*/
@ApiModelProperty(value = "金额")
@Excel(name = "金额", width = 15)
private BigDecimal amount;
@ApiModelProperty(value = "无税费用")
private BigDecimal taxFreeFee;
@ApiModelProperty(value = "税额")
private BigDecimal taxAmount;
@ApiModelProperty(value = "收款帐户")
private String receiveAccount;
}
@@ -228,6 +228,11 @@ TmsOrderAddDTO implements Serializable {
@ApiModelProperty(value = "货物数量单位")
private String goodsQuantityUnit;
@ApiModelProperty("收款账户")
private String accountName;
@ApiModelProperty("收款账户信息")
private String accountInformation;
// @ApiModelProperty("项目表ID")
// private Long projectManagementId;
@@ -286,6 +291,9 @@ TmsOrderAddDTO implements Serializable {
@ApiModelProperty(value = "卸货地址集合")
private List<TmsAddressMultiDTO> unloadAddressList;
@ApiModelProperty("费用科目明细")
private List<TmsOrderAccount> tmsOrderAccountList;
+1 -1
View File
@@ -92,7 +92,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<version>1.18.22</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
@@ -85,11 +85,16 @@ public class BusinessDocumentOrderApplicationService {
public boolean execute(Long[] ids) {
return businessDocumentOrderDomainService.execute(ids);
}
public boolean executeAndIssue(Long[] ids) {
return businessDocumentOrderDomainService.executeAndIssue(ids);
}
public boolean cancelExecute(Long[] ids) throws Exception{
return businessDocumentOrderDomainService.cancelExecute(ids);
}
public BusinessDocumentCargoMulti getCargoContent(Long id) {
public List<BusinessDocumentCargoMulti> getCargoContent(Long id) {
return businessDocumentOrderDomainService.getCargoContent(id);
}
@@ -99,4 +99,7 @@ public class BusinessDocumentCargoMulti extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String orderId;
@ApiModelProperty("货物内容")
private String materialContent;
}
@@ -37,6 +37,8 @@ public interface IBusinessDocumentOrderService extends IService<BusinessDocument
public Boolean execute(Long[] ids);
public Boolean executeAndIssue(Long[] ids);
public Boolean cancelExecute(Long[] ids) throws Exception;
@@ -5,6 +5,8 @@ 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;
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;
import com.mhd.oms.domain.businessDocumentOrder.repository.facade.IBusinessDocumentOrderService;
import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper;
@@ -14,6 +16,17 @@ import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder;
import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper;
import com.mhd.oms.domain.executeOrder.repository.todo.ExecuteOrderDO;
import com.mhd.oms.domain.executeOrder.service.ExecuteOrderDomainService;
import com.mhd.oms.domain.businessDocumentAddressMulti.entity.BusinessDocumentAddressMulti;
import com.mhd.oms.domain.businessDocumentAddressMulti.repository.mapper.BusinessDocumentAddressMultiMapper;
import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount;
import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper;
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.common.core.domain.dto.wlhy.TmsOrderAddDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.system.api.WlhyServiceFeign;
import com.mhd.system.api.model.LoginUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +54,17 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
@Autowired
private ExecuteOrderMapper executeOrderMapper;
@Autowired
private BusinessDocumentCargoMultiMapper businessDocumentCargoMultiMapper;
@Autowired
private BusinessDocumentAddressMultiMapper businessDocumentAddressMultiMapper;
@Autowired
private BusinessOrderAccountMapper businessOrderAccountMapper;
@Autowired
private WlhyServiceFeign wlhyServiceFeign;
/**
@@ -95,6 +119,18 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
BusinessDocumentOrder businessDocumentOrder = this.getById(id);
BusinessDocumentOrderPO businessDocumentOrderPO = new BusinessDocumentOrderPO();
BeanUtils.copyProperties(businessDocumentOrder,businessDocumentOrderPO);
String executeOrderNumber = businessDocumentOrder.getExecuteOrderNumber();
if (executeOrderNumber != null){
List<ExecuteOrder> executeOrderList = executeOrderMapper.selectList(new LambdaQueryWrapper<ExecuteOrder>().eq(ExecuteOrder::getGoodsNumber, executeOrderNumber).eq(ExecuteOrder::getDelFlag,1));
if (executeOrderList.size()>0){
businessDocumentOrderPO.setExecuteOrderList(executeOrderList);
}
}
//获取货物信息
List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList = businessDocumentCargoMultiMapper.selectList(new LambdaQueryWrapper<BusinessDocumentCargoMulti>().eq(BusinessDocumentCargoMulti::getOrderId, id).eq(BusinessDocumentCargoMulti::getDelFlag,1));
if (businessDocumentCargoMultiList.size()>0){
businessDocumentOrderPO.setBusinessDocumentCargoMultiList(businessDocumentCargoMultiList);
}
return businessDocumentOrderPO;
}
@@ -151,6 +187,8 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
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());
@@ -178,6 +216,159 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean executeAndIssue(Long[] ids) {
LoginUser loginUser = SecurityUtils.getLoginUser();//获取登录人
try {
for (Long id:ids){
BusinessDocumentOrder businessDocumentOrder=businessDocumentOrderMapper.selectById(id);
if (businessDocumentOrder.getReviewStatus()!=1){
throw new ServerException("业务单审核状态异常");
}
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.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);
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>();
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);
}
}
//装货地址信息
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");
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);
}
}else {
throw new ServiceException(ajaxResult.get("msg").toString());
}
}
}
}
}
return true;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("执行并下发失败:" + e.getMessage());
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean cancelExecute(Long[] ids) throws Exception{
@@ -196,7 +387,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
if(ObjectUtil.isNotNull(list)&&list.size()>0){
for (ExecuteOrder executeOrder:list){
if(executeOrder.getIssueStatus()==2){
throw new ServerException("业务单已生成执行单,请先确认执行单{执行单号}是否可取消");
throw new ServerException("业务单已生成执行单,请先确认执行单"+executeOrder.getGoodsNumber()+"是否可取消");
}else{
executeOrder.setOrderStatus(3L);
executeOrder.setIssueStatus(1L);
@@ -1,12 +1,16 @@
package com.mhd.oms.domain.businessDocumentOrder.repository.po;
import com.mhd.common.core.annotation.Excel;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
import com.mhd.common.core.web.domain.BaseVOEntity;
import org.springframework.format.annotation.DateTimeFormat;
@@ -357,7 +361,7 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String biddingUnit;
@ApiModelProperty("业务单状态 0-待审核 1-待执行 2-进行中 3-已完成 4-已取消 5-已拦截")
@ApiModelProperty("业务单状态 0-待审核 1-待执行 2-进行中 3-已完成 4-已取消 5-运输中 6-已拦截")
private Long orderStatus;
@ApiModelProperty("$column.columnComment")
@@ -754,4 +758,10 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty(value = "出入库单号")
private String entryNumber;
@ApiModelProperty("执行单")
private List<ExecuteOrder> executeOrderList;
@ApiModelProperty("货物信息")
private List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList;
}
@@ -168,10 +168,10 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setCreateCompanyId(String.valueOf(userShipperPo.getUserId()));
}
tmsOrder.setCreateTime(new Date());
tmsOrder.setCreaterName(u.getUsername());//保存创建人姓名
tmsOrder.setCreaterName(u.getWlhyLoginUser().getRealname());//保存创建人姓名
tmsOrder.setCreaterPhone(u.getUserPo().getUserPhone());//保存创建人电话
tmsOrder.setRealCreateBy(String.valueOf(u.getUserid()));
tmsOrder.setRealCreateName(u.getUsername());
tmsOrder.setRealCreateName(u.getWlhyLoginUser().getRealname());
tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改订单表委托方保存公司名字而不是姓名
tmsOrder.setOrderSource(businessDocumentOrderDO.getOrderSource());
tmsOrder.setEntryNumber(businessDocumentOrderDO.getEntryNumber());
@@ -419,10 +419,10 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setCreateCompanyId(String.valueOf(userShipperPo.getUserId()));
}
tmsOrder.setCreateTime(new Date());
tmsOrder.setCreaterName(u.getUsername());//保存创建人姓名
tmsOrder.setCreaterName(u.getWlhyLoginUser().getRealname());//保存创建人姓名
tmsOrder.setCreaterPhone(u.getUserPo().getUserPhone());//保存创建人电话
tmsOrder.setRealCreateBy(String.valueOf(u.getUserid()));
tmsOrder.setRealCreateName(u.getUsername());
tmsOrder.setRealCreateName(u.getWlhyLoginUser().getRealname());
tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改订单表委托方保存公司名字而不是姓名
String salesmanCodeNc = businessDocumentOrderDO.getSalesmanId();
if (salesmanCodeNc != null){
@@ -730,6 +730,11 @@ public class BusinessDocumentOrderDomainService {
public Boolean execute(Long[] ids) {
return businessDocumentOrderService.execute(ids);
}
public Boolean executeAndIssue(Long[] ids) {
return businessDocumentOrderService.executeAndIssue(ids);
}
public Boolean cancelExecute(Long[] ids) throws Exception {
return businessDocumentOrderService.cancelExecute(ids);
}
@@ -773,8 +778,8 @@ public class BusinessDocumentOrderDomainService {
return serviceRequire.toString();
}
public BusinessDocumentCargoMulti getCargoContent(Long id){
BusinessDocumentCargoMulti businessDocumentCargoMulti = businessDocumentCargoMultiMapper.selectOne(new LambdaQueryWrapper<BusinessDocumentCargoMulti>().eq(BusinessDocumentCargoMulti::getOrderId, id));
public List<BusinessDocumentCargoMulti> getCargoContent(Long id){
List<BusinessDocumentCargoMulti> businessDocumentCargoMulti = businessDocumentCargoMultiMapper.selectList(new LambdaQueryWrapper<BusinessDocumentCargoMulti>().eq(BusinessDocumentCargoMulti::getOrderId, id));
if (businessDocumentCargoMulti != null){
return businessDocumentCargoMulti ;
}
@@ -83,10 +83,27 @@ public class ExecuteOrder extends BaseVOEntity{
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadName;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadAddress;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingName;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingAddress;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String freighterName;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String dischargerName;
@ApiModelProperty( "下发状态 0-无状态 1-未下发 2-已下发 ")
private Long issueStatus;
@@ -119,4 +136,6 @@ public class ExecuteOrder extends BaseVOEntity{
@ApiModelProperty("备注")
private String shippingNote;
}
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.common.core.domain.dto.wlhy.TmsOrderAddDTO;
import com.mhd.common.core.domain.entity.TmsOrder;
import com.mhd.common.core.exception.ServiceException;
@@ -16,6 +17,8 @@ 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.mapper.BusinessDocumentOrderMapper;
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.facade.IExecuteOrderService;
import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper;
@@ -53,6 +56,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
@Autowired
private WlhyServiceFeign wlhyServiceFeign;
@Autowired
private BusinessOrderAccountMapper businessOrderAccountMapper;
/**
* 查询请填写功能名称列表
@@ -108,7 +113,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
executeOrder.setIssueStatus(2L);
executeOrder.setIssueTime(new Date());
executeOrder.setIssueId(loginUser.getUserid());
executeOrder.setIssueName(loginUser.getUsername());
executeOrder.setIssueName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setOrderStatus(1L);
executeOrderMapper.updateById(executeOrder);
//下发到tms
@@ -116,6 +122,7 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>();
List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsOrderAccount> tmsOrderAccountList=new ArrayList<TmsOrderAccount>();
BusinessDocumentOrder businessDocumentOrder=businessDocumentOrderMapper.selectById(executeOrder.getBusinessDocumentId());
if(ObjectUtil.isNotNull(businessDocumentOrder)){
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
@@ -157,11 +164,27 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
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());
@@ -198,16 +221,17 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
executeOrder.setIssueName(loginUser.getUsername());*/
executeOrder.setOrderStatus(3L);
//取消下发到tms
AjaxResult ajaxResult=wlhyServiceFeign.cancelIssueDocuments(String.valueOf(id));
AjaxResult ajaxResult=wlhyServiceFeign.cancelIssueDocuments(String.valueOf(executeOrder.getGoodsNumber()));
if(ajaxResult.get("code").toString().equals("200")){
executeOrderMapper.updateById(executeOrder);
}else {
throw new ServiceException(ajaxResult.get("msg").toString());
}
}
}
return null;
return true;
}
@@ -223,6 +247,11 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
ExecuteOrder executeOrder = this.getById(id);
ExecuteOrderPO executeOrderPO = new ExecuteOrderPO();
BeanUtils.copyProperties(executeOrder,executeOrderPO);
BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectOne(new QueryWrapper<BusinessDocumentOrder>().lambda().eq(BusinessDocumentOrder::getId,executeOrder.getBusinessDocumentId()));
BeanUtils.copyProperties(businessDocumentOrder,executeOrderPO);
List<BusinessDocumentCargoMulti> businessDocumentCargoMultis = businessDocumentCargoMultiMapper.selectList(new QueryWrapper<BusinessDocumentCargoMulti>().lambda().eq(BusinessDocumentCargoMulti::getOrderId, executeOrder.getBusinessDocumentId()).eq(BusinessDocumentCargoMulti::getDelFlag, 1));
executeOrderPO.setBusinessDocumentCargoMultiList(businessDocumentCargoMultis);
return executeOrderPO;
}
}
@@ -1,6 +1,8 @@
package com.mhd.oms.domain.executeOrder.repository.po;
import com.mhd.common.core.annotation.Excel;
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -125,4 +127,73 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("备注")
private String shippingNote;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingPhone;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadPhone;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String recipientName;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String freighterName;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private BigDecimal weightMax;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Date loadingDate;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadAreaId;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadAddress;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadLongitude;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadLatitude;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingAreaId;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingAddress;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingLongitude;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingLatitude;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingUnit;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String salesmanName;
@ApiModelProperty("业务单货物集合")
private List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList;
}
@@ -102,4 +102,7 @@ public class BusinessDocumentCargoMultiDTO extends BaseVOEntity{
@ApiModelProperty("体积")
private BigDecimal materialVolume;
@ApiModelProperty("货物内容")
private String materialContent;
}
@@ -110,6 +110,17 @@ public class BusinessDocumentOrderApi extends BaseController{
{
return toAjax(businessDocumentOrderApplicationService.execute(ids));
}
/**
* 批量执行并下发业务单
*/
@ApiOperation("批量执行并下发【业务单】")
@PostMapping("/executeAndIssue")
public AjaxResult executeAndIssue(@RequestParam("ids") Long[] ids)
{
return toAjax(businessDocumentOrderApplicationService.executeAndIssue(ids));
}
@ApiOperation("获取业务单的货物内容")
@GetMapping("/getCargoContent/{id}")
public AjaxResult getCargoContent(@PathVariable("id") Long id)