diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsOrderAddDTO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsOrderAddDTO.java index 2eb4f9834..6ad5c72a7 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsOrderAddDTO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsOrderAddDTO.java @@ -473,4 +473,7 @@ TmsOrderAddDTO implements Serializable { @ApiModelProperty("执行单号") private String executeOrderNumber; + + @ApiModelProperty("订单来源 0,oms 1,tms") + private String orderSource; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index b1a842de3..7b1846c06 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -1,16 +1,20 @@ package com.mhd.oms.application.service.businessDocumentOrder; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; import com.mhd.oms.domain.businessDocumentOrder.service.BusinessDocumentOrderDomainService; 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.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; +import javax.annotation.Resource; import java.util.List; /** * 【请填写功能名称】ApplicationService @@ -24,6 +28,9 @@ public class BusinessDocumentOrderApplicationService { @Autowired private BusinessDocumentOrderDomainService businessDocumentOrderDomainService; + @Resource + private BusinessOrderAccountMapper businessOrderAccountMapper; + /** * 分页查询【请填写功能名称】列表 @@ -85,4 +92,9 @@ public class BusinessDocumentOrderApplicationService { public BusinessDocumentCargoMulti getCargoContent(Long id) { return businessDocumentOrderDomainService.getCargoContent(id); } + + public List getFeeDetail(Long id) { + List businessOrderAccounts = businessOrderAccountMapper.selectList(new LambdaQueryWrapper().eq(BusinessOrderAccount::getOrderId, id).eq(BusinessOrderAccount::getIsDelete, 0)); + return businessOrderAccounts; + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java index 1b8904a50..f0df40b7b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java @@ -737,4 +737,11 @@ public class BusinessDocumentOrder extends BaseVOEntity{ @ApiModelProperty(value = "审核意见") private String reviewOpinion; + + @ApiModelProperty(value = "订单来源") + private String orderSource; + + + @ApiModelProperty(value = "出入库单号") + private String entryNumber; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java index 124a862f1..2d958e194 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java @@ -145,6 +145,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl businessOrderAccountList; + @ApiModelProperty("业务单地址集合") private List businessDocumentAddressMultiDTOList; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index 5a78b4606..1f910ed14 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -18,6 +18,8 @@ import com.mhd.oms.domain.businessDocumentOrder.repository.facade.IBusinessDocum import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; +import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount; +import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper; import com.mhd.oms.domain.orderType.entity.OrderType; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO; import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO; @@ -61,6 +63,9 @@ public class BusinessDocumentOrderDomainService { @Resource private BusinessDocumentOrderMapper businessDocumentOrderMapper; + + @Resource + private BusinessOrderAccountMapper businessOrderAccountMapper; /** * 分页查询【请填写功能名称】列表 */ @@ -168,6 +173,8 @@ public class BusinessDocumentOrderDomainService { tmsOrder.setRealCreateBy(String.valueOf(u.getUserid())); tmsOrder.setRealCreateName(u.getUsername()); tmsOrder.setAppointShipper(userShipperPo.getShipperEnterpriseName());//20250-07-29修改:订单表委托方保存公司名字,而不是姓名 + tmsOrder.setOrderSource(businessDocumentOrderDO.getOrderSource()); + tmsOrder.setEntryNumber(businessDocumentOrderDO.getEntryNumber()); // tmsOrder.setSalesManager(u.getUserPo().getUserName()); String salesmanCodeNc = businessDocumentOrderDO.getSalesmanId(); @@ -313,6 +320,31 @@ public class BusinessDocumentOrderDomainService { //保存货物信息及地址信息 saveAddress2CargoInfo(tmsOrder.getId(), allCargoList, loadingAddressList, unloadAddressList); + List tmsOrderAccountList=businessDocumentOrderDO.getBusinessOrderAccountList(); + if(ObjectUtil.isNotNull(tmsOrderAccountList)&&tmsOrderAccountList.size()>0){ + for (BusinessOrderAccount tmsOrderAccount:tmsOrderAccountList){ + tmsOrderAccount.setIsDelete(0); + tmsOrderAccount.setOrderId(String.valueOf(tmsOrder.getId())); + tmsOrderAccount.setCreateBy(String.valueOf(u.getUserid())); + tmsOrderAccount.setCreateTime(new Date()); + // 设置组织信息 + if (businessDocumentOrderDO.getOrganizationId() != null) { + tmsOrderAccount.setOrganizationId(businessDocumentOrderDO.getOrganizationId()); + } + if (businessDocumentOrderDO.getOrganizationName() != null) { + tmsOrderAccount.setOrganizationName(businessDocumentOrderDO.getOrganizationName()); + } + if (businessDocumentOrderDO.getTopOrganizationId() != null) { + tmsOrderAccount.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId()); + } + BigDecimal amount = tmsOrderAccount.getAmount(); +// if (ObjectUtil.isNotEmpty(amount) && amount.compareTo(BigDecimal.ZERO) > 0) { +// tmsOrderAccountMapper.insert(tmsOrderAccount); + businessOrderAccountMapper.insert(tmsOrderAccount); + +// } + } + } return istrue; } @@ -534,6 +566,39 @@ public class BusinessDocumentOrderDomainService { //保存货物信息及地址信息 saveAddress2CargoInfo(tmsOrder.getId(), allCargoList, loadingAddressList, unloadAddressList); + + //删除原来的费用科目 + List tmsOrderAccountList1=businessOrderAccountMapper.selectList(new LambdaQueryWrapper().eq(BusinessOrderAccount::getOrderId, businessDocumentOrderDO.getId()).eq(BusinessOrderAccount::getIsDelete, 0)); + if(ObjectUtil.isNotNull(tmsOrderAccountList1)&&tmsOrderAccountList1.size()>0){ + for (BusinessOrderAccount tmsOrderAccount:tmsOrderAccountList1){ + tmsOrderAccount.setIsDelete(1); + tmsOrderAccount.setUpdateBy(String.valueOf(u.getUserid())); + tmsOrderAccount.setUpdateTime(new Date()); + businessOrderAccountMapper.updateById(tmsOrderAccount); + } + } + //保存费用科目信息 + List tmsOrderAccountList=businessDocumentOrderDO.getBusinessOrderAccountList(); + if(ObjectUtil.isNotNull(tmsOrderAccountList)&&tmsOrderAccountList.size()>0){ + for (BusinessOrderAccount tmsOrderAccount:tmsOrderAccountList){ + tmsOrderAccount.setIsDelete(0); + tmsOrderAccount.setOrderId(String.valueOf(businessDocumentOrderDO.getId())); + tmsOrderAccount.setCreateBy(String.valueOf(u.getUserid())); + tmsOrderAccount.setCreateTime(new Date()); + // 设置组织信息 + if (businessDocumentOrderDO.getOrganizationId() != null) { + tmsOrderAccount.setOrganizationId(businessDocumentOrderDO.getOrganizationId()); + } + if (businessDocumentOrderDO.getOrganizationName() != null) { + tmsOrderAccount.setOrganizationName(businessDocumentOrderDO.getOrganizationName()); + } + if (businessDocumentOrderDO.getTopOrganizationId() != null) { + tmsOrderAccount.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId()); + } + tmsOrderAccount.setId(IdUtil.randomUUID()); + businessOrderAccountMapper.insert(tmsOrderAccount); + } + } return istrue; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessOrderAccount/BusinessOrderAccount.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessOrderAccount/BusinessOrderAccount.java new file mode 100644 index 000000000..89a01c323 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessOrderAccount/BusinessOrderAccount.java @@ -0,0 +1,107 @@ +package com.mhd.oms.domain.businessOrderAccount; + +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.math.BigDecimal; +import java.util.Date; + +/** + * @author: brb + * @description: + * @create: 2026-04-11 10:46 + */ +@Data +@TableName("business_order_account") +public class BusinessOrderAccount { + 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; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessOrderAccount/repository/mapper/BusinessOrderAccountMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessOrderAccount/repository/mapper/BusinessOrderAccountMapper.java new file mode 100644 index 000000000..baf272b56 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessOrderAccount/repository/mapper/BusinessOrderAccountMapper.java @@ -0,0 +1,33 @@ +package com.mhd.oms.domain.businessOrderAccount.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 业务订单科目Mapper接口 + * + * @author gen + * @date 2026-04-11 + */ +@Mapper +public interface BusinessOrderAccountMapper extends BaseMapper { + + /** + * 查询业务订单科目列表 + * + * @param businessOrderAccount 业务订单科目 + * @return 业务订单科目集合 + */ + List selectBusinessOrderAccountList(BusinessOrderAccount businessOrderAccount); + + /** + * 根据订单ID查询业务订单科目 + * + * @param orderId 订单ID + * @return 业务订单科目集合 + */ + List selectBusinessOrderAccountByOrderId(String orderId); +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java index dfeec3884..3dd1c6119 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java @@ -110,4 +110,13 @@ public class ExecuteOrder extends BaseVOEntity{ @ApiModelProperty("tms单号") private String tmsOrderNumber; + + @ApiModelProperty("作业情况") + private String jobStatus; + + @ApiModelProperty("预计运输时间") + private Date documentDate; + + @ApiModelProperty("备注") + private String shippingNote; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java index 2b4c28243..c2173702b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java @@ -153,6 +153,7 @@ public class ExecuteOrderImpl extends ServiceImpl businessDocumentAddressMultiDTOList; @@ -774,4 +781,7 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{ @ApiModelProperty(value = "卸货地址集合") private List unloadAddressList; + @ApiModelProperty("费用科目明细") + private List businessOrderAccountList; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java index e0885446c..9d74bd988 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java @@ -119,4 +119,13 @@ public class ExecuteOrderDTO extends BaseVOEntity{ @ApiModelProperty(name = "权限菜单ID") private Long permissionMenuId; + + @ApiModelProperty("作业情况") + private String jobStatus; + + @ApiModelProperty("预计运输时间") + private Date documentDate; + + @ApiModelProperty("备注") + private String shippingNote; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java index ef638f67a..4dced3b3b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java @@ -64,6 +64,13 @@ public class BusinessDocumentOrderApi extends BaseController{ } } + @ApiOperation("根据业务单id查询费用明细") + @GetMapping("/getFeeDetail/{id}") + public AjaxResult getFeeDetail(@PathVariable("id") Long id) + { + return AjaxResult.success(businessDocumentOrderApplicationService.getFeeDetail(id)); + } + /** * 批量删除【业务单】 */ diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index 31d66cc90..67bd0e33f 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -186,6 +186,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + and ORDER_SOURCE = #{orderSource} + and CREATE_COMPANY_ID = #{createCompanyId} diff --git a/mhd_oms/src/main/resources/mapper/businessOrderAccount/BusinessOrderAccountMapper.xml b/mhd_oms/src/main/resources/mapper/businessOrderAccount/BusinessOrderAccountMapper.xml new file mode 100644 index 000000000..e78914880 --- /dev/null +++ b/mhd_oms/src/main/resources/mapper/businessOrderAccount/BusinessOrderAccountMapper.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, create_by, create_time, update_by, update_time, sys_org_code, is_delete, org_name, + organization_id, top_organization_id, organization_name, order_id, account_id, account_type, + subject_code, subject_name, rate, amount, tax_free_fee, tax_amount, receive_account + from business_order_account + + + + + + + \ No newline at end of file