Merge branch 'dev' into dev_WMS20260401

This commit is contained in:
赵辉
2026-04-17 10:02:34 +08:00
22 changed files with 544 additions and 21 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 = "货物数量单位") @ApiModelProperty(value = "货物数量单位")
private String goodsQuantityUnit; private String goodsQuantityUnit;
@ApiModelProperty("收款账户")
private String accountName;
@ApiModelProperty("收款账户信息")
private String accountInformation;
// @ApiModelProperty("项目表ID") // @ApiModelProperty("项目表ID")
// private Long projectManagementId; // private Long projectManagementId;
@@ -286,6 +291,9 @@ TmsOrderAddDTO implements Serializable {
@ApiModelProperty(value = "卸货地址集合") @ApiModelProperty(value = "卸货地址集合")
private List<TmsAddressMultiDTO> unloadAddressList; private List<TmsAddressMultiDTO> unloadAddressList;
@ApiModelProperty("费用科目明细")
private List<TmsOrderAccount> tmsOrderAccountList;
+1 -1
View File
@@ -92,7 +92,7 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.18.24</version> <version>1.18.22</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
@@ -2,6 +2,7 @@ package com.mhd.bms.domain.bmsInvoiceList.repository.persistence;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.aliyun.oss.ServiceException; import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -184,12 +185,22 @@ public class BmsInvoiceListServiceImpl extends ServiceImpl<BmsInvoiceListMapper,
} }
} }
BillManage billManage = billManageMapper.selectById(bmsInvoiceListAddDTO.getBillManageId()); // BillManage billManage = billManageMapper.selectById(bmsInvoiceListAddDTO.getBillManageId());
if (billManage != null) { // if (billManage != null) {
billManage.setIsInvoice(1); // billManage.setIsInvoice(1);
billManage.setInvoiceId(bmsInvoiceList.getId().toString()); // billManage.setInvoiceId(bmsInvoiceList.getId().toString());
billManage.setApplyNumber(bmsInvoiceList.getApplyNumber()); // billManage.setApplyNumber(bmsInvoiceList.getApplyNumber());
billManageMapper.updateById(billManage); // billManageMapper.updateById(billManage);
// }
List<Long> billManageIds = bmsInvoiceListAddDTO.getBillManageIds();
List<BillManage> billManages = billManageMapper.selectList(new LambdaQueryWrapper<BillManage>().in(BillManage::getBillManageId, billManageIds));
if (billManages != null && billManages.size() > 0) {
for (BillManage billManage : billManages) {
billManage.setIsInvoice(1);
billManage.setInvoiceId(bmsInvoiceList.getId().toString());
billManage.setApplyNumber(bmsInvoiceList.getApplyNumber());
billManageMapper.updateById(billManage);
}
} }
/*AjaxResult ajaxResult = financeServiceFeign.editIsInvoice(transportationId,1,bmsInvoiceList.getId(),"",bmsInvoiceList.getApplyNumber()); /*AjaxResult ajaxResult = financeServiceFeign.editIsInvoice(transportationId,1,bmsInvoiceList.getId(),"",bmsInvoiceList.getApplyNumber());
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
@@ -466,6 +477,19 @@ public class BmsInvoiceListServiceImpl extends ServiceImpl<BmsInvoiceListMapper,
//bmsInvoiceList.setUpdateBy(sysUser.getId()); //bmsInvoiceList.setUpdateBy(sysUser.getId());
bmsInvoiceList.setUpdateTime(new Date()); bmsInvoiceList.setUpdateTime(new Date());
this.updateById(bmsInvoiceList); this.updateById(bmsInvoiceList);
Long id = bmsInvoiceList.getId();
List<BillManage> billManages = billManageMapper.selectList(new QueryWrapper<BillManage>().lambda().eq(BillManage::getInvoiceId, id.toString()));
if (ObjectUtil.isNotNull(billManages) && billManages.size() > 0) {
for (BillManage billManage : billManages) {
if (bmsInvoiceListInvoiceStateDTO.getInvoiceState() ==5){
billManage.setIsInvoice(5);
}
if (bmsInvoiceListInvoiceStateDTO.getInvoiceState() == 3){
billManage.setIsInvoice(4);
}
billManageMapper.updateById(billManage);
}
}
return bmsInvoiceList.getInvoiceState(); return bmsInvoiceList.getInvoiceState();
} }
@@ -76,5 +76,8 @@ public class BmsInvoiceListAddDTO implements Serializable {
private String settlementEntity; private String settlementEntity;
private List<BmsMakeOutInvoice> bmsMakeOutInvoices; private List<BmsMakeOutInvoice> bmsMakeOutInvoices;
@ApiModelProperty(value = "对账单id列表")
@Excel(name = "对账单id列表", width = 15)
private List<Long> billManageIds;
} }
@@ -144,8 +144,14 @@
a.tracking_number, a.tracking_number,
a.apply_number, a.apply_number,
a.company_name as companyName, a.company_name as companyName,
b.bill_number as billNumber, -- b.bill_number as billNumber,
b.bill_manage_id as billManageId, -- b.bill_manage_id as billManageId,
(SELECT LISTAGG(bill_number, ', ') WITHIN GROUP (ORDER BY bill_number)
FROM BILL_MANAGE b_sub
WHERE b_sub.apply_number = a.apply_number) as billNumber,
(SELECT LISTAGG(bill_manage_id, ', ') WITHIN GROUP (ORDER BY bill_manage_id)
FROM BILL_MANAGE b_sub
WHERE b_sub.apply_number = a.apply_number) as billManageId,
a.SETTLEMENT_CURRENCY as settlementCurrency, a.SETTLEMENT_CURRENCY as settlementCurrency,
a.organization_id AS organizationId, a.organization_id AS organizationId,
a.organization_name AS organizationName, a.organization_name AS organizationName,
@@ -85,11 +85,16 @@ public class BusinessDocumentOrderApplicationService {
public boolean execute(Long[] ids) { public boolean execute(Long[] ids) {
return businessDocumentOrderDomainService.execute(ids); return businessDocumentOrderDomainService.execute(ids);
} }
public boolean executeAndIssue(Long[] ids) {
return businessDocumentOrderDomainService.executeAndIssue(ids);
}
public boolean cancelExecute(Long[] ids) throws Exception{ public boolean cancelExecute(Long[] ids) throws Exception{
return businessDocumentOrderDomainService.cancelExecute(ids); return businessDocumentOrderDomainService.cancelExecute(ids);
} }
public BusinessDocumentCargoMulti getCargoContent(Long id) { public List<BusinessDocumentCargoMulti> getCargoContent(Long id) {
return businessDocumentOrderDomainService.getCargoContent(id); return businessDocumentOrderDomainService.getCargoContent(id);
} }
@@ -99,4 +99,7 @@ public class BusinessDocumentCargoMulti extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String orderId; private String orderId;
@ApiModelProperty("货物内容")
private String materialContent;
} }
@@ -741,6 +741,9 @@ public class BusinessDocumentOrder extends BaseVOEntity{
@ApiModelProperty(value = "订单来源") @ApiModelProperty(value = "订单来源")
private String orderSource; private String orderSource;
@ApiModelProperty("预计出发日期")
private Date layDate;
@ApiModelProperty(value = "出入库单号") @ApiModelProperty(value = "出入库单号")
private String entryNumber; private String entryNumber;
@@ -37,6 +37,8 @@ public interface IBusinessDocumentOrderService extends IService<BusinessDocument
public Boolean execute(Long[] ids); public Boolean execute(Long[] ids);
public Boolean executeAndIssue(Long[] ids);
public Boolean cancelExecute(Long[] ids) throws Exception; 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.security.utils.SecurityUtils; 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.entity.BusinessDocumentOrder;
import com.mhd.oms.domain.businessDocumentOrder.repository.facade.IBusinessDocumentOrderService; 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.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.mapper.ExecuteOrderMapper;
import com.mhd.oms.domain.executeOrder.repository.todo.ExecuteOrderDO; import com.mhd.oms.domain.executeOrder.repository.todo.ExecuteOrderDO;
import com.mhd.oms.domain.executeOrder.service.ExecuteOrderDomainService; 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 com.mhd.system.api.model.LoginUser;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +54,17 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
@Autowired @Autowired
private ExecuteOrderMapper executeOrderMapper; 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); BusinessDocumentOrder businessDocumentOrder = this.getById(id);
BusinessDocumentOrderPO businessDocumentOrderPO = new BusinessDocumentOrderPO(); BusinessDocumentOrderPO businessDocumentOrderPO = new BusinessDocumentOrderPO();
BeanUtils.copyProperties(businessDocumentOrder,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; return businessDocumentOrderPO;
} }
@@ -146,11 +182,14 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
ExecuteOrderDO executeOrderDO=new ExecuteOrderDO(); ExecuteOrderDO executeOrderDO=new ExecuteOrderDO();
BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO); BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO);
executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate()); executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate());
executeOrderDO.setLayDate(businessDocumentOrder.getLayDate());
executeOrderDO.setBusinessDocumentId(id); executeOrderDO.setBusinessDocumentId(id);
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber()); executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber()); executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
executeOrderDO.setCreateBy(loginUser.getUserid()); executeOrderDO.setCreateBy(loginUser.getUserid());
executeOrderDO.setCreateTime(new Date()); executeOrderDO.setCreateTime(new Date());
executeOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrderDO.setDelFlag(1); executeOrderDO.setDelFlag(1);
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId()); executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName()); executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
@@ -178,6 +217,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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean cancelExecute(Long[] ids) throws Exception{ public Boolean cancelExecute(Long[] ids) throws Exception{
@@ -196,7 +388,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
if(ObjectUtil.isNotNull(list)&&list.size()>0){ if(ObjectUtil.isNotNull(list)&&list.size()>0){
for (ExecuteOrder executeOrder:list){ for (ExecuteOrder executeOrder:list){
if(executeOrder.getIssueStatus()==2){ if(executeOrder.getIssueStatus()==2){
throw new ServerException("业务单已生成执行单,请先确认执行单{执行单号}是否可取消"); throw new ServerException("业务单已生成执行单,请先确认执行单"+executeOrder.getGoodsNumber()+"是否可取消");
}else{ }else{
executeOrder.setOrderStatus(3L); executeOrder.setOrderStatus(3L);
executeOrder.setIssueStatus(1L); executeOrder.setIssueStatus(1L);
@@ -1,12 +1,16 @@
package com.mhd.oms.domain.businessDocumentOrder.repository.po; package com.mhd.oms.domain.businessDocumentOrder.repository.po;
import com.mhd.common.core.annotation.Excel; 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 lombok.Data;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
import com.mhd.common.core.web.domain.BaseVOEntity; import com.mhd.common.core.web.domain.BaseVOEntity;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@@ -357,7 +361,7 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String biddingUnit; private String biddingUnit;
@ApiModelProperty("业务单状态 0-待审核 1-待执行 2-进行中 3-已完成 4-已取消 5-已拦截") @ApiModelProperty("业务单状态 0-待审核 1-待执行 2-进行中 3-已完成 4-已取消 5-运输中 6-已拦截")
private Long orderStatus; private Long orderStatus;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -754,4 +758,13 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty(value = "出入库单号") @ApiModelProperty(value = "出入库单号")
private String entryNumber; private String entryNumber;
@ApiModelProperty("预计出发日期")
private Date layDate;
@ApiModelProperty("执行单")
private List<ExecuteOrder> executeOrderList;
@ApiModelProperty("货物信息")
private List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList;
} }
@@ -739,6 +739,9 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("收款账户id") @ApiModelProperty("收款账户id")
private String paymentAccountId; private String paymentAccountId;
@ApiModelProperty("预计出发日期")
private Date layDate;
@ApiModelProperty("收款账户信息") @ApiModelProperty("收款账户信息")
private String accountInformation; private String accountInformation;
@@ -168,10 +168,10 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setCreateCompanyId(String.valueOf(userShipperPo.getUserId())); tmsOrder.setCreateCompanyId(String.valueOf(userShipperPo.getUserId()));
} }
tmsOrder.setCreateTime(new Date()); tmsOrder.setCreateTime(new Date());
tmsOrder.setCreaterName(u.getUsername());//保存创建人姓名 tmsOrder.setCreaterName(u.getWlhyLoginUser().getRealname());//保存创建人姓名
tmsOrder.setCreaterPhone(u.getUserPo().getUserPhone());//保存创建人电话 tmsOrder.setCreaterPhone(u.getUserPo().getUserPhone());//保存创建人电话
tmsOrder.setRealCreateBy(String.valueOf(u.getUserid())); tmsOrder.setRealCreateBy(String.valueOf(u.getUserid()));
tmsOrder.setRealCreateName(u.getUsername()); tmsOrder.setRealCreateName(u.getWlhyLoginUser().getRealname());
tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改:订单表委托方保存公司名字,而不是姓名 tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改:订单表委托方保存公司名字,而不是姓名
tmsOrder.setOrderSource(businessDocumentOrderDO.getOrderSource()); tmsOrder.setOrderSource(businessDocumentOrderDO.getOrderSource());
tmsOrder.setEntryNumber(businessDocumentOrderDO.getEntryNumber()); tmsOrder.setEntryNumber(businessDocumentOrderDO.getEntryNumber());
@@ -419,10 +419,10 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setCreateCompanyId(String.valueOf(userShipperPo.getUserId())); tmsOrder.setCreateCompanyId(String.valueOf(userShipperPo.getUserId()));
} }
tmsOrder.setCreateTime(new Date()); tmsOrder.setCreateTime(new Date());
tmsOrder.setCreaterName(u.getUsername());//保存创建人姓名 tmsOrder.setCreaterName(u.getWlhyLoginUser().getRealname());//保存创建人姓名
tmsOrder.setCreaterPhone(u.getUserPo().getUserPhone());//保存创建人电话 tmsOrder.setCreaterPhone(u.getUserPo().getUserPhone());//保存创建人电话
tmsOrder.setRealCreateBy(String.valueOf(u.getUserid())); tmsOrder.setRealCreateBy(String.valueOf(u.getUserid()));
tmsOrder.setRealCreateName(u.getUsername()); tmsOrder.setRealCreateName(u.getWlhyLoginUser().getRealname());
tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改:订单表委托方保存公司名字,而不是姓名 tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改:订单表委托方保存公司名字,而不是姓名
String salesmanCodeNc = businessDocumentOrderDO.getSalesmanId(); String salesmanCodeNc = businessDocumentOrderDO.getSalesmanId();
if (salesmanCodeNc != null){ if (salesmanCodeNc != null){
@@ -730,6 +730,11 @@ public class BusinessDocumentOrderDomainService {
public Boolean execute(Long[] ids) { public Boolean execute(Long[] ids) {
return businessDocumentOrderService.execute(ids); return businessDocumentOrderService.execute(ids);
} }
public Boolean executeAndIssue(Long[] ids) {
return businessDocumentOrderService.executeAndIssue(ids);
}
public Boolean cancelExecute(Long[] ids) throws Exception { public Boolean cancelExecute(Long[] ids) throws Exception {
return businessDocumentOrderService.cancelExecute(ids); return businessDocumentOrderService.cancelExecute(ids);
} }
@@ -773,8 +778,8 @@ public class BusinessDocumentOrderDomainService {
return serviceRequire.toString(); return serviceRequire.toString();
} }
public BusinessDocumentCargoMulti getCargoContent(Long id){ public List<BusinessDocumentCargoMulti> getCargoContent(Long id){
BusinessDocumentCargoMulti businessDocumentCargoMulti = businessDocumentCargoMultiMapper.selectOne(new LambdaQueryWrapper<BusinessDocumentCargoMulti>().eq(BusinessDocumentCargoMulti::getOrderId, id)); List<BusinessDocumentCargoMulti> businessDocumentCargoMulti = businessDocumentCargoMultiMapper.selectList(new LambdaQueryWrapper<BusinessDocumentCargoMulti>().eq(BusinessDocumentCargoMulti::getOrderId, id));
if (businessDocumentCargoMulti != null){ if (businessDocumentCargoMulti != null){
return businessDocumentCargoMulti ; return businessDocumentCargoMulti ;
} }
@@ -83,10 +83,30 @@ public class ExecuteOrder extends BaseVOEntity{
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadName; private String unloadName;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unloadAddress;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingName; 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("预计出发日期")
private Date layDate;
@ApiModelProperty( "下发状态 0-无状态 1-未下发 2-已下发 ") @ApiModelProperty( "下发状态 0-无状态 1-未下发 2-已下发 ")
private Long issueStatus; private Long issueStatus;
@@ -119,4 +139,6 @@ public class ExecuteOrder extends BaseVOEntity{
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String shippingNote; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.core.domain.dto.wlhy.TmsAddressMultiDTO; 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.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.dto.wlhy.TmsOrderAddDTO;
import com.mhd.common.core.domain.entity.TmsOrder; import com.mhd.common.core.domain.entity.TmsOrder;
import com.mhd.common.core.exception.ServiceException; 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.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper;
import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder;
import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; 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.entity.ExecuteOrder;
import com.mhd.oms.domain.executeOrder.repository.facade.IExecuteOrderService; import com.mhd.oms.domain.executeOrder.repository.facade.IExecuteOrderService;
import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper; import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper;
@@ -53,6 +56,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
@Autowired @Autowired
private WlhyServiceFeign wlhyServiceFeign; private WlhyServiceFeign wlhyServiceFeign;
@Autowired
private BusinessOrderAccountMapper businessOrderAccountMapper;
/** /**
* 查询【请填写功能名称】列表 * 查询【请填写功能名称】列表
@@ -108,7 +113,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
executeOrder.setIssueStatus(2L); executeOrder.setIssueStatus(2L);
executeOrder.setIssueTime(new Date()); executeOrder.setIssueTime(new Date());
executeOrder.setIssueId(loginUser.getUserid()); executeOrder.setIssueId(loginUser.getUserid());
executeOrder.setIssueName(loginUser.getUsername()); executeOrder.setIssueName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
executeOrder.setOrderStatus(1L); executeOrder.setOrderStatus(1L);
executeOrderMapper.updateById(executeOrder); executeOrderMapper.updateById(executeOrder);
//下发到tms //下发到tms
@@ -116,6 +122,7 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>(); List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>();
List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>(); List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>(); List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>();
List<TmsOrderAccount> tmsOrderAccountList=new ArrayList<TmsOrderAccount>();
BusinessDocumentOrder businessDocumentOrder=businessDocumentOrderMapper.selectById(executeOrder.getBusinessDocumentId()); BusinessDocumentOrder businessDocumentOrder=businessDocumentOrderMapper.selectById(executeOrder.getBusinessDocumentId());
if(ObjectUtil.isNotNull(businessDocumentOrder)){ if(ObjectUtil.isNotNull(businessDocumentOrder)){
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO); BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
@@ -157,11 +164,27 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
unloadAddressList.add(tmsAddressMultiDTO); 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.setAppointShipper(businessDocumentOrder.getAppointShipper());
tmsOrderAddDTO.setAppointShipperId(businessDocumentOrder.getAppointShipperId()); tmsOrderAddDTO.setAppointShipperId(businessDocumentOrder.getAppointShipperId());
tmsOrderAddDTO.setCargoInfoList(cargoInfoList); tmsOrderAddDTO.setCargoInfoList(cargoInfoList);
tmsOrderAddDTO.setLoadingAddressList(loadingAddressList); tmsOrderAddDTO.setLoadingAddressList(loadingAddressList);
tmsOrderAddDTO.setUnloadAddressList(unloadAddressList); tmsOrderAddDTO.setUnloadAddressList(unloadAddressList);
tmsOrderAddDTO.setTmsOrderAccountList(tmsOrderAccountList);
tmsOrderAddDTO.setOrderShippingType(businessDocumentOrder.getOrderShippingType().intValue()); tmsOrderAddDTO.setOrderShippingType(businessDocumentOrder.getOrderShippingType().intValue());
tmsOrderAddDTO.setPayerType(0); tmsOrderAddDTO.setPayerType(0);
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber()); tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
@@ -198,16 +221,17 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
executeOrder.setIssueName(loginUser.getUsername());*/ executeOrder.setIssueName(loginUser.getUsername());*/
executeOrder.setOrderStatus(3L); executeOrder.setOrderStatus(3L);
//取消下发到tms //取消下发到tms
AjaxResult ajaxResult=wlhyServiceFeign.cancelIssueDocuments(String.valueOf(id)); AjaxResult ajaxResult=wlhyServiceFeign.cancelIssueDocuments(String.valueOf(executeOrder.getGoodsNumber()));
if(ajaxResult.get("code").toString().equals("200")){ if(ajaxResult.get("code").toString().equals("200")){
executeOrderMapper.updateById(executeOrder); executeOrderMapper.updateById(executeOrder);
}else { }else {
throw new ServiceException(ajaxResult.get("msg").toString()); 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); ExecuteOrder executeOrder = this.getById(id);
ExecuteOrderPO executeOrderPO = new ExecuteOrderPO(); ExecuteOrderPO executeOrderPO = new ExecuteOrderPO();
BeanUtils.copyProperties(executeOrder,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; return executeOrderPO;
} }
} }
@@ -1,6 +1,8 @@
package com.mhd.oms.domain.executeOrder.repository.po; package com.mhd.oms.domain.executeOrder.repository.po;
import com.mhd.common.core.annotation.Excel; 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 lombok.Data;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@@ -125,4 +127,77 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String shippingNote; 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 Date layDate;
@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;
} }
@@ -112,6 +112,9 @@ public class ExecuteOrderDO extends BaseVOEntity{
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String loadingName; private String loadingName;
@ApiModelProperty("预计出发日期")
private Date layDate;
@ApiModelProperty(name = "组织ID集合") @ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList; private List<Long> organizationIdList;
@@ -102,4 +102,7 @@ public class BusinessDocumentCargoMultiDTO extends BaseVOEntity{
@ApiModelProperty("体积") @ApiModelProperty("体积")
private BigDecimal materialVolume; private BigDecimal materialVolume;
@ApiModelProperty("货物内容")
private String materialContent;
} }
@@ -765,6 +765,9 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty(value = "出入库单号") @ApiModelProperty(value = "出入库单号")
private String entryNumber; private String entryNumber;
@ApiModelProperty("预计出发日期")
private Date layDate;
@ApiModelProperty("业务单地址集合") @ApiModelProperty("业务单地址集合")
private List<BusinessDocumentAddressMultiDTO> businessDocumentAddressMultiDTOList; private List<BusinessDocumentAddressMultiDTO> businessDocumentAddressMultiDTOList;
@@ -128,4 +128,7 @@ public class ExecuteOrderDTO extends BaseVOEntity{
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String shippingNote; private String shippingNote;
@ApiModelProperty("预计出发日期")
private Date layDate;
} }
@@ -110,6 +110,17 @@ public class BusinessDocumentOrderApi extends BaseController{
{ {
return toAjax(businessDocumentOrderApplicationService.execute(ids)); return toAjax(businessDocumentOrderApplicationService.execute(ids));
} }
/**
* 批量执行并下发【业务单】
*/
@ApiOperation("批量执行并下发【业务单】")
@PostMapping("/executeAndIssue")
public AjaxResult executeAndIssue(@RequestParam("ids") Long[] ids)
{
return toAjax(businessDocumentOrderApplicationService.executeAndIssue(ids));
}
@ApiOperation("获取业务单的货物内容") @ApiOperation("获取业务单的货物内容")
@GetMapping("/getCargoContent/{id}") @GetMapping("/getCargoContent/{id}")
public AjaxResult getCargoContent(@PathVariable("id") Long id) public AjaxResult getCargoContent(@PathVariable("id") Long id)