结算对象改造;

This commit is contained in:
王奎兴
2026-08-28 17:32:02 +08:00
parent 5e369bdd99
commit 3349552e10
43 changed files with 2308 additions and 15 deletions
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.concurrent.CompletableFuture;
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017",fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://127.0.0.1:8017",fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
public interface OmsServiceFeign {
@@ -12,6 +12,7 @@ import com.mhd.common.core.domain.entity.R;
import com.mhd.common.core.domain.po.SysMultistageDictPo;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.system.api.domain.ContainerFeignPO;
import com.mhd.system.api.domain.ContractManageFeignDTO;
import com.mhd.system.api.domain.SysDictData;
import com.mhd.system.api.factory.RemoteSystemFeignFallbackFactory;
import com.mhd.system.api.feign.FeignAutoConfiguration;
@@ -390,4 +391,9 @@ public interface SystemServiceFeign {
public AjaxResult matchForMaterialImport(@RequestParam("keyword") String keyword,
@RequestParam("organizationId") Long organizationId);
@ApiOperation("保存临时合同管理")
@PostMapping("/contractManageApi/feignSave")
public AjaxResult feignSave(@RequestBody ContractManageFeignDTO contractManageFeignDTO);
}
@@ -0,0 +1,110 @@
package com.mhd.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 合同管理详情对象 contract_manage_detail
*
* @author gen
* @date 2024-06-07
*/
@Data
public class ContractManageDetailFeignDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理详情id")
private Long contractManageDetailId;
@ApiModelProperty("合同管理id")
@Excel(name = "合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算科目类型(1-通用,2-临时)")
@Excel(name = "结算科目类型", readConverterExp = "1=-通用,2-临时")
private Integer subjectType;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目")
@Excel(name = "一级费用科目")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目")
@Excel(name = "二级费用科目")
private String secondSubjectName;
@ApiModelProperty("计费策略id")
@Excel(name = "计费策略id")
private Long accountingStrategyId;
@ApiModelProperty("计费策略")
@Excel(name = "计费策略")
private String accountingStrategy;
@ApiModelProperty("计费策略编码")
@Excel(name = "计费策略编码")
private String accountingStrategyCode;
@ApiModelProperty("计费周期")
@Excel(name = "计费周期")
private String billingAttributes;
@ApiModelProperty("计费周期编码")
@Excel(name = "计费周期编码")
private String billingAttributesCode;
@ApiModelProperty("合同有效日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "合同有效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectEffectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectExpirationDate;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("单据类型code")
private String documentTypeCode;
@ApiModelProperty("单据类型")
private String documentType;
@ApiModelProperty("费用类别编码")
private String serviceItemsCode;
@ApiModelProperty("费用类别名称")
private String serviceItemsName;
}
@@ -0,0 +1,228 @@
package com.mhd.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 合同管理对象 contract_manage
*
* @author gen
* @date 2024-06-07
*/
@Data
public class ContractManageFeignDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("原始合同编号")
@Excel(name = "原始合同编号")
private String originalContractNumber;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("是否通用合同(1-是,2-否)")
@Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否")
private Integer commonContractFlag;
@ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)")
@Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他")
private Integer contractType;
@ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)")
@Excel(name = "合同状态", readConverterExp = "1=-未生效,2-使用中,3-已过期,4-已作废")
private Integer contractState;
@ApiModelProperty("签订单位")
@Excel(name = "签订单位")
private String signingUnit;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementCustomers;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementCustomersId;
@ApiModelProperty("结算主体code")
@Excel(name = "结算主体code")
private String settlementCustomersCode;
@ApiModelProperty("我司身份(1-甲方,2-乙方)")
@Excel(name = "我司身份", readConverterExp = "1=-甲方,2-乙方")
private Integer ourIdentity;
@ApiModelProperty("账期(1-每月,2-双月,3-季度)")
@Excel(name = "账期", readConverterExp = "1=-每月,2-双月,3-季度")
private Integer accountingPeriod;
@ApiModelProperty("合同签订日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date signingDate;
@ApiModelProperty("合同生效日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "合同生效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date effectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date expirationDate;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("合同正本附件地址")
@Excel(name = "合同正本附件地址")
private String contractOriginalUrl;
@ApiModelProperty("廉政协议附件地址")
@Excel(name = "廉政协议附件地址")
private String integrityAgreementUrl;
@ApiModelProperty("安全协议附件地址")
@Excel(name = "安全协议附件地址")
private String securityProtocolUrl;
@ApiModelProperty("其他附件地址")
@Excel(name = "其他附件地址")
private String otherAttachmentsUrl;
@ApiModelProperty("合同正本附件原始文件名")
private String contractOriginalName;
@ApiModelProperty("廉政协议附件原始文件名")
private String integrityAgreementName;
@ApiModelProperty("安全协议附件原始文件名")
private String securityProtocolName;
@ApiModelProperty("其他附件原始文件名(多文件时与 otherAttachmentsUrl 同分隔符、同顺序)")
private String otherAttachmentsName;
@ApiModelProperty("我司签订人")
@Excel(name = "我司签订人")
private String ourSinged;
@ApiModelProperty("我司签订人联系方式")
@Excel(name = "我司签订人联系方式")
private String ourSingedPhone;
@ApiModelProperty("我司经办人")
@Excel(name = "我司经办人")
private String ourOperator;
@ApiModelProperty("我司经办人联系方式")
@Excel(name = "我司经办人联系方式")
private String ourOperatorPhone;
@ApiModelProperty("对方签订人")
@Excel(name = "对方签订人")
private String theySinged;
@ApiModelProperty("对方签订人联系方式")
@Excel(name = "对方签订人联系方式")
private String theySingedPhone;
@ApiModelProperty("对方经办人")
@Excel(name = "对方经办人")
private String theyOperator;
@ApiModelProperty("对方经办人联系方式")
@Excel(name = "对方经办人联系方式")
private String theyOperatorPhone;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "合同科目详情列表")
private List<ContractManageDetailFeignDTO> contractManageDetailDTOList;
@ApiModelProperty("合同管理ids")
private String contractManageIds;
@ApiModelProperty(name = "合同签订查询条件开始日期")
private String signingDateStart;
@ApiModelProperty(name = "合同签订查询条件结束日期")
private String signingDateEnd;
@ApiModelProperty(name = "合同生效查询条件开始日期")
private String effectiveDateStart;
@ApiModelProperty(name = "合同生效查询条件结束日期")
private String effectiveDateEnd;
@ApiModelProperty(name = "合同到期查询条件开始日期")
private String expirationDateStart;
@ApiModelProperty(name = "合同到期查询条件结束日期")
private String expirationDateEnd;
@ApiModelProperty(name = "结算主体基础数据id(可以是用户id也可以是企业id)")
private String settlementId;
@ApiModelProperty(name = "是否自动出账(1-是,2-否)")
private Integer automaticFlag;
@ApiModelProperty("出账日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date paymentDate;
@ApiModelProperty(name = "出账天数")
private Integer billDays;
@ApiModelProperty(name = "主体类型(1-货主,2-客户,3-承运商)")
private Integer principalType;
@ApiModelProperty("客户类型")
private String customerType;
@ApiModelProperty("客户类型编码")
private String customerTypeCode;
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
@ApiModelProperty("客户类型")
private String contractRentType;
@ApiModelProperty("客户类型编码")
private String contractRentTypeName;
@ApiModelProperty("仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("仓库温层类型编码")
private String warehouseTempLayerTypeName;
}
@@ -13,6 +13,7 @@ import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.system.api.AssociationWarehouseFeign;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.domain.ContainerFeignPO;
import com.mhd.system.api.domain.ContractManageFeignDTO;
import com.mhd.system.api.domain.SysDictData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -318,6 +319,11 @@ public class RemoteSystemFeignFallbackFactory implements FallbackFactory<SystemS
public AjaxResult matchForMaterialImport(String keyword, Long organizationId) {
return AjaxResult.error("物料分类匹配失败");
}
@Override
public AjaxResult feignSave(ContractManageFeignDTO contractManageFeignDTO) {
return AjaxResult.error("新增合同失败");
}
};
}
}
@@ -621,6 +621,37 @@ public class ContractManageApplicationService {
return flag;
}
/**
* 新增合同管理
*/
@Transactional
public ContractManageDO insertFeign(ContractManageDO contractManageDO) {
//获取当前登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
validateContractType(contractManageDO.getContractType());
/*
通用合同:同一时间段、同一合同类型,只能存在一个
特殊合同:同一结算主体、同一时间段、同一合同类型,只能存在一个
*/
//20260702取消同一时间段不能有相同合同校验
//checkContract(contractManageDO);
handleData(contractManageDO);
handleDict(contractManageDO);
contractManageDO.setContractNumber(OrderSequence.getOrderCode("HT"));
contractManageDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
contractManageDO.setOrganizationId(loginUser.getUserPo().getOrganizationId());
contractManageDO.setOrganizationName(loginUser.getUserPo().getOrganizationName());
boolean flag = contractManageDomainService.insert(contractManageDO);
if (flag) {
throw new ServiceException("新增合同管理失败,请检查数据");
}
handleDetils(contractManageDO, true);
return contractManageDO;
}
/**
* 处理数据字典
*/
@@ -192,4 +192,16 @@ public class ContractManage extends BaseVOEntity{
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
@ApiModelProperty("客户类型")
private String contractRentType;
@ApiModelProperty("客户类型编码")
private String contractRentTypeName;
@ApiModelProperty("客户类型")
private String warehouseTempLayerType;
@ApiModelProperty("客户类型编码")
private String warehouseTempLayerTypeName;
}
@@ -195,5 +195,18 @@ public class ContractManagePO extends BaseVOEntity{
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
@ApiModelProperty("客户类型")
private String contractRentType;
@ApiModelProperty("客户类型编码")
private String contractRentTypeName;
@ApiModelProperty("仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("仓库温层类型编码")
private String warehouseTempLayerTypeName;
private String isMany;
}
@@ -226,6 +226,18 @@ public class ContractManageDO extends BaseVOEntity{
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
@ApiModelProperty("客户类型")
private String contractRentType;
@ApiModelProperty("客户类型编码")
private String contractRentTypeName;
@ApiModelProperty("仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("仓库温层类型编码")
private String warehouseTempLayerTypeName;
@ApiModelProperty("一级费用科目code")
private String firstSubjectCode;
}
@@ -216,4 +216,16 @@ public class ContractManageDTO extends BaseVOEntity{
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
@ApiModelProperty("客户类型")
private String contractRentType;
@ApiModelProperty("客户类型编码")
private String contractRentTypeName;
@ApiModelProperty("仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("仓库温层类型编码")
private String warehouseTempLayerTypeName;
}
@@ -8,6 +8,7 @@ import com.mhd.basic.interfaces.assember.contractManage.ContractManageAssembler;
import com.mhd.basic.interfaces.dto.contractManage.ContractManageExportVO;
import com.mhd.basic.interfaces.dto.contractManage.SubjectAndPriceDTO;
import com.mhd.basic.interfaces.dto.contractManage.SubjectAndPriceReturn;
import com.mhd.system.api.domain.ContractManageFeignDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -119,6 +120,25 @@ public class ContractManageApi extends BaseController{
}
}
/**
* 保存合同管理
*/
@ApiOperation("保存临时合同管理")
@PostMapping("/feignSave")
public AjaxResult feignSave(@RequestBody ContractManageFeignDTO contractManageFeignDTO)
{
try {
//转换实体
ContractManageDTO contractManageDTO = new ContractManageDTO();
BeanUtils.copyProperties(contractManageFeignDTO, contractManageDTO);
ContractManageDO contractManageDO = contractManageAssembler.toDO(contractManageDTO);
ContractManageDO insert = contractManageApplicationService.insertFeign(contractManageDO);
return AjaxResult.success(insert);
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
/**
* 批量删除合同管理
*/
@@ -201,6 +201,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="contractManageDO.topOrganizationId != null">
and a.top_organization_id = #{contractManageDO.topOrganizationId}
</if>
<if test="contractManageDO.contractRentType != null and contractManageDO.contractRentType != ''">
and a.contract_rent_type = #{contractManageDO.contractRentType}
</if>
<if test="contractManageDO.warehouseTempLayerType != null and contractManageDO.warehouseTempLayerType != ''">
and a.warehouse_temp_layer_type = #{contractManageDO.warehouseTempLayerType}
</if>
<if test="contractManageDO.firstSubjectCode != null and contractManageDO.firstSubjectCode != ''">
and b.FIRST_SUBJECT_CODE = #{contractManageDO.firstSubjectCode}
</if>
@@ -1,5 +1,6 @@
package com.mhd.bms.application.server.settlementCustomers;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson2.JSONObject;
@@ -10,11 +11,14 @@ import com.mhd.bms.domain.settlementCustomers.repository.po.SettlementCustomersP
import com.mhd.bms.domain.settlementCustomers.repository.todo.SettlementCustomersDO;
import com.mhd.bms.domain.settlementCustomers.repository.persistence.SettlementCustomersImpl;
import com.mhd.bms.domain.settlementCustomers.service.SettlementCustomersDomainService;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.facade.ISettlementCustomersNcConfigService;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.bms.domain.settlementCustomersParameters.repository.facade.ISettlementCustomersParametersService;
import com.mhd.bms.interfaces.dto.settlementCustomers.SettlementCustomersDTO;
import com.mhd.common.core.domain.po.SysDictDataVo;
import com.mhd.common.core.domain.po.UserDriverPo;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.domain.po.UserShipperPo;
import com.mhd.bms.interfaces.dto.settlementCustomersNcConfig.SettlementCustomersNcConfigDTO;
import com.mhd.bms.interfaces.dto.settlementCustomersParameters.SettlementCustomersParametersDTO;
import com.mhd.common.core.domain.po.*;
import com.mhd.common.core.enums.DictCode;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
@@ -25,19 +29,20 @@ import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.UserServiceFeign;
import com.mhd.system.api.domain.BatchDetailFeignPO;
import com.mhd.system.api.domain.ContractManageFeignDTO;
import com.mhd.system.api.domain.WarehouseFeignPO;
import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -60,6 +65,10 @@ public class SettlementCustomersApplicationService {
private SettlementCustomersMapper settlementCustomersMapper;
@Autowired
private SettlementCustomersImpl settlementCustomersImpl;
@Autowired
private ISettlementCustomersParametersService settlementCustomersParametersService;
@Autowired
private ISettlementCustomersNcConfigService settlementCustomersNcConfigService;
private static final int SYNC_BATCH_SIZE = 500;
@@ -138,7 +147,38 @@ public class SettlementCustomersApplicationService {
settlementCustomersDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
settlementCustomersDO.setOrganizationId(loginUser.getUserPo().getOrganizationId());
settlementCustomersDO.setOrganizationName(loginUser.getUserPo().getOrganizationName());
return settlementCustomersDomainService.insert(settlementCustomersDO);
Boolean insert = settlementCustomersDomainService.insert(settlementCustomersDO);
if (insert) {
List<SettlementCustomersNcConfigDTO> settlementCustomersNcConfigDTOList = settlementCustomersDO.getSettlementCustomersNcConfigDTOList();
if (CollectionUtil.isNotEmpty(settlementCustomersNcConfigDTOList)) {
for (SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO : settlementCustomersNcConfigDTOList) {
SettlementCustomersNcConfig settlementCustomersNcConfig = new SettlementCustomersNcConfig();
settlementCustomersNcConfigDTO.setSettlementCustomersId(settlementCustomersDO.getSettlementCustomersId());
settlementCustomersNcConfigDTO.setOrganizationId(settlementCustomersDO.getOrganizationId());
settlementCustomersNcConfigDTO.setTopOrganizationId(settlementCustomersDO.getTopOrganizationId());
settlementCustomersNcConfigDTO.setOrganizationName(settlementCustomersDO.getOrganizationName());
BeanUtils.copyProperties(settlementCustomersNcConfigDTO, settlementCustomersNcConfig);
settlementCustomersNcConfigService.save(settlementCustomersNcConfig);
}
}
List<SettlementCustomersParametersDTO> settlementCustomersParametersDTOList = settlementCustomersDO.getSettlementCustomersParametersDTOList();
if (CollectionUtil.isNotEmpty(settlementCustomersParametersDTOList)) {
for (SettlementCustomersParametersDTO settlementCustomersParametersDTO : settlementCustomersParametersDTOList) {
SettlementCustomersParameters settlementCustomersParameters = new SettlementCustomersParameters();
settlementCustomersParametersDTO.setSettlementCustomersId(settlementCustomersDO.getSettlementCustomersId());
settlementCustomersParametersDTO.setOrganizationId(settlementCustomersDO.getOrganizationId());
settlementCustomersParametersDTO.setTopOrganizationId(settlementCustomersDO.getTopOrganizationId());
settlementCustomersParametersDTO.setOrganizationName(settlementCustomersDO.getOrganizationName());
settlementCustomersParametersDTO.setSettlementCustomersCode(settlementCustomersDO.getSettlementCustomersCode());
settlementCustomersParametersDTO.setSettlementEntity(settlementCustomersDO.getSettlementEntity());
settlementCustomersParametersDTO.setSettlementEntityId(settlementCustomersDO.getSettlementEntityId());
BeanUtils.copyProperties(settlementCustomersParametersDTO, settlementCustomersParameters);
settlementCustomersParametersService.save(settlementCustomersParameters);
}
}
}
return insert;
}
/**
@@ -216,9 +256,89 @@ public class SettlementCustomersApplicationService {
}
//处理数据字典
handleDict(settlementCustomersDO);
List<SettlementCustomersNcConfigDTO> settlementCustomersNcConfigDTOList = settlementCustomersDO.getSettlementCustomersNcConfigDTOList();
if (CollectionUtil.isNotEmpty(settlementCustomersNcConfigDTOList)) {
settlementCustomersNcConfigService.remove(new LambdaQueryWrapper<SettlementCustomersNcConfig>()
.eq(SettlementCustomersNcConfig::getSettlementCustomersId, settlementCustomersDO.getSettlementCustomersId()));
for (SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO : settlementCustomersNcConfigDTOList) {
SettlementCustomersNcConfig settlementCustomersNcConfig = new SettlementCustomersNcConfig();
settlementCustomersNcConfigDTO.setSettlementCustomersId(settlementCustomersDO.getSettlementCustomersId());
settlementCustomersNcConfigDTO.setOrganizationId(settlementCustomersDO.getOrganizationId());
settlementCustomersNcConfigDTO.setTopOrganizationId(settlementCustomersDO.getTopOrganizationId());
settlementCustomersNcConfigDTO.setOrganizationName(settlementCustomersDO.getOrganizationName());
BeanUtils.copyProperties(settlementCustomersNcConfigDTO, settlementCustomersNcConfig);
settlementCustomersNcConfigService.save(settlementCustomersNcConfig);
}
}
List<SettlementCustomersParametersDTO> settlementCustomersParametersDTOList = settlementCustomersDO.getSettlementCustomersParametersDTOList();
if (CollectionUtil.isNotEmpty(settlementCustomersParametersDTOList)) {
settlementCustomersParametersService.remove(new LambdaQueryWrapper<SettlementCustomersParameters>()
.eq(SettlementCustomersParameters::getSettlementCustomersId, settlementCustomersDO.getSettlementCustomersId()));
for (SettlementCustomersParametersDTO settlementCustomersParametersDTO : settlementCustomersParametersDTOList) {
SettlementCustomersParameters settlementCustomersParameters = new SettlementCustomersParameters();
settlementCustomersParametersDTO.setSettlementCustomersId(settlementCustomersDO.getSettlementCustomersId());
settlementCustomersParametersDTO.setOrganizationId(settlementCustomersDO.getOrganizationId());
settlementCustomersParametersDTO.setTopOrganizationId(settlementCustomersDO.getTopOrganizationId());
settlementCustomersParametersDTO.setOrganizationName(settlementCustomersDO.getOrganizationName());
settlementCustomersParametersDTO.setSettlementCustomersCode(settlementCustomersDO.getSettlementCustomersCode());
settlementCustomersParametersDTO.setSettlementEntity(settlementCustomersDO.getSettlementEntity());
settlementCustomersParametersDTO.setSettlementEntityId(settlementCustomersDO.getSettlementEntityId());
BeanUtils.copyProperties(settlementCustomersParametersDTO, settlementCustomersParameters);
Long contractManageId1 = settlementCustomersParameters.getContractManageId();
if (contractManageId1==null) {
ContractManageFeignDTO contractManageDTO = new ContractManageFeignDTO();
contractManageDTO.setSettlementCustomersCode(settlementCustomersDO.getSettlementCustomersCode());
contractManageDTO.setContractRentType("TEMP");
contractManageDTO.setContractRentTypeName("临时合同");
contractManageDTO.setOriginalContractNumber(generateHtCode());
contractManageDTO.setContractName("临时合同");
contractManageDTO.setSigningUnit(settlementCustomersDO.getOrganizationName());
contractManageDTO.setCustomerTypeCode("1");
contractManageDTO.setCommonContractFlag(2);
contractManageDTO.setSigningDate(new Date());
contractManageDTO.setEffectiveDate(new Date());
Calendar calendar = Calendar.getInstance();
calendar.set(9999, Calendar.DECEMBER, 31, 0, 0, 0);
Date date = calendar.getTime();
contractManageDTO.setExpirationDate(date);
contractManageDTO.setContractState(2);
contractManageDTO.setPaymentDate(new Date());
contractManageDTO.setBillDays(10);
AjaxResult ajaxResult = systemServiceFeign.feignSave(contractManageDTO);
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
ContractManageFeignDTO contractManageFeignDTO = com.alibaba.fastjson.JSON.parseObject(com.alibaba.fastjson2.JSONObject.toJSONString(ajaxResult.get("data")), ContractManageFeignDTO.class);
Long contractManageId = contractManageFeignDTO.getContractManageId();
String originalContractNumber = contractManageFeignDTO.getOriginalContractNumber();
settlementCustomersParameters.setContractManageId(contractManageId);
settlementCustomersParameters.setContractNumber(originalContractNumber);
} else {
throw new ServiceException("创建临时合同失败");
}
}
settlementCustomersParametersService.save(settlementCustomersParameters);
}
}
return settlementCustomersDomainService.update(settlementCustomersDO);
}
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyMMdd");
private static final Random RANDOM = new Random();
/**
* 生成编码HT + 当天yyMMdd + 6位随机数字
* 示例HT260828123456
* @return 编码字符串
*/
public static String generateHtCode() {
// 当天yyMMdd
String dateStr = LocalDate.now().format(FORMATTER);
// 6位随机数 000000999999
int randomNum = RANDOM.nextInt(1_000_000);
String randomStr = String.format("%06d", randomNum);
return "HT" + dateStr + randomStr;
}
/**
* 批量删除结算对象
*/
@@ -433,6 +553,7 @@ public class SettlementCustomersApplicationService {
? userShipperPo.getTopOrganizationId()
: loginUser.getUserPo().getTopOrganizationId());
saveEntity.setCreateTime(new Date());
saveEntity.setOrgCode(userShipperPo.getOrgCode());
return saveEntity;
}
@@ -0,0 +1,87 @@
package com.mhd.bms.application.server.settlementCustomersNcConfig;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import com.mhd.bms.domain.settlementCustomersNcConfig.service.SettlementCustomersNcConfigDomainService;
import com.mhd.bms.interfaces.dto.settlementCustomersNcConfig.SettlementCustomersNcConfigDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.security.utils.SecurityUtils;
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 java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 结算对象NC配置ApplicationService
*
* @author gen
* @date 2024-06-17
*/
@Service
@Slf4j
public class SettlementCustomersNcConfigApplicationService {
@Autowired
private SettlementCustomersNcConfigDomainService settlementCustomersNcConfigDomainService;
/**
* 分页查询结算对象NC配置列表
*/
public List<SettlementCustomersNcConfigPO> queryList(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
return settlementCustomersNcConfigDomainService.queryList(settlementCustomersNcConfigDO);
}
/**
* 新增结算对象NC配置
*/
public Boolean insert(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
settlementCustomersNcConfigDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
settlementCustomersNcConfigDO.setOrganizationId(loginUser.getUserPo().getOrganizationId());
settlementCustomersNcConfigDO.setOrganizationName(loginUser.getUserPo().getOrganizationName());
return settlementCustomersNcConfigDomainService.insert(settlementCustomersNcConfigDO);
}
/**
* 修改结算对象NC配置
*/
public Boolean update(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
return settlementCustomersNcConfigDomainService.update(settlementCustomersNcConfigDO);
}
/**
* 获取结算对象NC配置详细信息
*/
public SettlementCustomersNcConfigPO getInfo(Long id) {
return settlementCustomersNcConfigDomainService.getInfo(id);
}
/**
* 批量删除结算对象NC配置
*/
public Boolean deleteByIds(SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO) {
if (!StringUtils.isNotEmpty(settlementCustomersNcConfigDTO.getIds())) {
throw new ServiceException("id不能为空");
}
Set<String> idSet = Stream.of(settlementCustomersNcConfigDTO.getIds().split(",")).collect(Collectors.toSet());
Long[] ids = idSet.stream().map(Long::valueOf).toArray(Long[]::new);
return settlementCustomersNcConfigDomainService.delete(ids);
}
}
@@ -0,0 +1,87 @@
package com.mhd.bms.application.server.settlementCustomersParameters;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import com.mhd.bms.domain.settlementCustomersParameters.service.SettlementCustomersParametersDomainService;
import com.mhd.bms.interfaces.dto.settlementCustomersParameters.SettlementCustomersParametersDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.security.utils.SecurityUtils;
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 java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 结算对象参数ApplicationService
*
* @author gen
* @date 2024-06-17
*/
@Service
@Slf4j
public class SettlementCustomersParametersApplicationService {
@Autowired
private SettlementCustomersParametersDomainService settlementCustomersParametersDomainService;
/**
* 分页查询结算对象参数列表
*/
public List<SettlementCustomersParametersPO> queryList(SettlementCustomersParametersDO settlementCustomersParametersDO) {
return settlementCustomersParametersDomainService.queryList(settlementCustomersParametersDO);
}
/**
* 新增结算对象参数
*/
public Boolean insert(SettlementCustomersParametersDO settlementCustomersParametersDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
settlementCustomersParametersDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
settlementCustomersParametersDO.setOrganizationId(loginUser.getUserPo().getOrganizationId());
settlementCustomersParametersDO.setOrganizationName(loginUser.getUserPo().getOrganizationName());
return settlementCustomersParametersDomainService.insert(settlementCustomersParametersDO);
}
/**
* 修改结算对象参数
*/
public Boolean update(SettlementCustomersParametersDO settlementCustomersParametersDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
return settlementCustomersParametersDomainService.update(settlementCustomersParametersDO);
}
/**
* 获取结算对象参数详细信息
*/
public SettlementCustomersParametersPO getInfo(Long id) {
return settlementCustomersParametersDomainService.getInfo(id);
}
/**
* 批量删除结算对象参数
*/
public Boolean deleteByIds(SettlementCustomersParametersDTO settlementCustomersParametersDTO) {
if (!StringUtils.isNotEmpty(settlementCustomersParametersDTO.getIds())) {
throw new ServiceException("id不能为空");
}
Set<String> idSet = Stream.of(settlementCustomersParametersDTO.getIds().split(",")).collect(Collectors.toSet());
Long[] ids = idSet.stream().map(Long::valueOf).toArray(Long[]::new);
return settlementCustomersParametersDomainService.delete(ids);
}
}
@@ -94,6 +94,7 @@ public class SettlementCustomers extends BaseVOEntity{
@ApiModelProperty("默认结算币种")
private String settlementCurrency;
@ApiModelProperty(name = "组织代码")
private String orgCode;
}
@@ -1,11 +1,16 @@
package com.mhd.bms.domain.settlementCustomers.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.bms.domain.settlementCustomers.entity.SettlementCustomers;
import com.mhd.bms.domain.settlementCustomers.repository.facade.ISettlementCustomersService;
import com.mhd.bms.domain.settlementCustomers.repository.mapper.SettlementCustomersMapper;
import com.mhd.bms.domain.settlementCustomers.repository.po.SettlementCustomersPO;
import com.mhd.bms.domain.settlementCustomers.repository.todo.SettlementCustomersDO;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.mapper.SettlementCustomersNcConfigMapper;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.bms.domain.settlementCustomersParameters.repository.mapper.SettlementCustomersParametersMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -23,6 +28,10 @@ import java.util.List;
public class SettlementCustomersImpl extends ServiceImpl<SettlementCustomersMapper, SettlementCustomers> implements ISettlementCustomersService{
@Autowired
private SettlementCustomersMapper settlementCustomersMapper;
@Autowired
private SettlementCustomersParametersMapper settlementCustomersParametersMapper;
@Autowired
private SettlementCustomersNcConfigMapper settlementCustomersNcConfigMapper;
/**
* 查询结算对象列表
@@ -30,7 +39,19 @@ public class SettlementCustomersImpl extends ServiceImpl<SettlementCustomersMapp
@Override
public List<SettlementCustomersPO> queryList(SettlementCustomersDO settlementCustomersDO)
{
return settlementCustomersMapper.queryList(settlementCustomersDO);
List<SettlementCustomersPO> settlementCustomersPOS = settlementCustomersMapper.queryList(settlementCustomersDO);
if (settlementCustomersPOS != null && settlementCustomersPOS.size() > 0) {
for (SettlementCustomersPO settlementCustomersPO : settlementCustomersPOS) {
Long settlementCustomersId = settlementCustomersPO.getSettlementCustomersId();
List<SettlementCustomersParameters> settlementCustomersParameters = settlementCustomersParametersMapper.selectList(new LambdaQueryWrapper<SettlementCustomersParameters>()
.eq(SettlementCustomersParameters::getSettlementCustomersId, settlementCustomersId));
List<SettlementCustomersNcConfig> settlementCustomersNcConfigs = settlementCustomersNcConfigMapper.selectList(new LambdaQueryWrapper<SettlementCustomersNcConfig>()
.eq(SettlementCustomersNcConfig::getSettlementCustomersId, settlementCustomersId));
settlementCustomersPO.setSettlementCustomersParameters(settlementCustomersParameters);
settlementCustomersPO.setSettlementCustomersNcConfigs(settlementCustomersNcConfigs);
}
}
return settlementCustomersPOS;
}
@Override
@@ -88,4 +109,4 @@ public class SettlementCustomersImpl extends ServiceImpl<SettlementCustomersMapp
BeanUtils.copyProperties(settlementCustomers,settlementCustomersPO);
return settlementCustomersPO;
}
}
}
@@ -1,5 +1,7 @@
package com.mhd.bms.domain.settlementCustomers.repository.po;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
@@ -7,6 +9,8 @@ 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;
@@ -126,5 +130,9 @@ public class SettlementCustomersPO extends BaseVOEntity{
@ApiModelProperty("业务单据创建时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date businessCreateTime;
@ApiModelProperty(name = "组织代码")
private String orgCode;
List<SettlementCustomersNcConfig> settlementCustomersNcConfigs;
List<SettlementCustomersParameters> settlementCustomersParameters;
}
@@ -1,5 +1,7 @@
package com.mhd.bms.domain.settlementCustomers.repository.todo;
import com.mhd.bms.interfaces.dto.settlementCustomersNcConfig.SettlementCustomersNcConfigDTO;
import com.mhd.bms.interfaces.dto.settlementCustomersParameters.SettlementCustomersParametersDTO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
@@ -131,5 +133,12 @@ public class SettlementCustomersDO extends BaseVOEntity{
@ApiModelProperty("单据类型编码")
private String documentTypeCode;
@ApiModelProperty(name = "组织代码")
private String orgCode;
@ApiModelProperty("结算对象参数")
private List<SettlementCustomersParametersDTO> settlementCustomersParametersDTOList;
@ApiModelProperty("结算对象nc配置")
private List<SettlementCustomersNcConfigDTO> settlementCustomersNcConfigDTOList;
}
@@ -0,0 +1,80 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 结算对象对象 settlement_customers
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersNcConfig extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
@TableId(type = IdType.AUTO)
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("nc编码")
@Excel(name = "nc编码")
private String ncCode;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethod;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfig;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethodName;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerTypeName;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfigName;
@ApiModelProperty("欠租期上限 (月)")
@Excel(name = "欠租期上限 (月)")
private Integer oweRentMaxMonth;
@ApiModelProperty("账期 (天)")
@Excel(name = "账期 (天)")
private Integer accountPeriodDay;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
}
@@ -0,0 +1,42 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import java.util.List;
/**
* 结算对象NC配置Service接口
*
* @author gen
* @date 2024-06-17
*/
public interface ISettlementCustomersNcConfigService extends IService<SettlementCustomersNcConfig> {
/**
* 分页查询结算对象NC配置列表
*/
public List<SettlementCustomersNcConfigPO> queryList(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO);
/**
* 新增结算对象NC配置
*/
public Boolean insert(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO);
/**
* 修改结算对象NC配置
*/
public Boolean update(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO);
/**
* 批量删除结算对象NC配置
*/
public Boolean delete(Long[] ids);
/**
* 查询结算对象NC配置
*/
public SettlementCustomersNcConfigPO getInfo(Long id);
}
@@ -0,0 +1,23 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import org.apache.ibatis.annotations.Param;
/**
* 结算对象NC配置Mapper接口
*
* @author gen
* @date 2024-06-17
*/
public interface SettlementCustomersNcConfigMapper extends BaseMapper<SettlementCustomersNcConfig> {
/**
* 查询结算对象NC配置列表
*/
public List<SettlementCustomersNcConfigPO> queryList(@Param("settlementCustomersNcConfigDO") SettlementCustomersNcConfigDO settlementCustomersNcConfigDO);
}
@@ -0,0 +1,81 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.facade.ISettlementCustomersNcConfigService;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.mapper.SettlementCustomersNcConfigMapper;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 结算对象NC配置Service业务层处理
*
* @author gen
* @date 2024-06-17
*/
@Service
public class SettlementCustomersNcConfigImpl extends ServiceImpl<SettlementCustomersNcConfigMapper, SettlementCustomersNcConfig> implements ISettlementCustomersNcConfigService {
@Autowired
private SettlementCustomersNcConfigMapper settlementCustomersNcConfigMapper;
/**
* 查询结算对象NC配置列表
*/
@Override
public List<SettlementCustomersNcConfigPO> queryList(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
return settlementCustomersNcConfigMapper.queryList(settlementCustomersNcConfigDO);
}
/**
* 新增结算对象NC配置
*/
@Override
public Boolean insert(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
SettlementCustomersNcConfig settlementCustomersNcConfig = new SettlementCustomersNcConfig();
BeanUtils.copyProperties(settlementCustomersNcConfigDO, settlementCustomersNcConfig);
return this.save(settlementCustomersNcConfig);
}
/**
* 修改结算对象NC配置
*/
@Override
public Boolean update(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
SettlementCustomersNcConfig settlementCustomersNcConfig = new SettlementCustomersNcConfig();
BeanUtils.copyProperties(settlementCustomersNcConfigDO, settlementCustomersNcConfig);
return this.updateById(settlementCustomersNcConfig);
}
/**
* 批量删除结算对象NC配置
*/
@Override
public Boolean delete(Long[] ids) {
List<SettlementCustomersNcConfig> list = new ArrayList<>();
for (Long id : ids) {
SettlementCustomersNcConfig settlementCustomersNcConfig = new SettlementCustomersNcConfig();
settlementCustomersNcConfig.setId(id);
settlementCustomersNcConfig.setDelFlag(2);
list.add(settlementCustomersNcConfig);
}
return this.updateBatchById(list);
}
/**
* 查询结算对象NC配置
*/
@Override
public SettlementCustomersNcConfigPO getInfo(Long id) {
SettlementCustomersNcConfig settlementCustomersNcConfig = this.getById(id);
SettlementCustomersNcConfigPO settlementCustomersNcConfigPO = new SettlementCustomersNcConfigPO();
BeanUtils.copyProperties(settlementCustomersNcConfig, settlementCustomersNcConfigPO);
return settlementCustomersNcConfigPO;
}
}
@@ -0,0 +1,77 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 结算对象NC配置对象 settlement_customers_nc_config
*
* @author gen
* @date 2024-06-17
*/
@Data
@ApiModel(value = "结算对象NC配置对象", description = "结算对象NC配置响应对象")
public class SettlementCustomersNcConfigPO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("nc编码")
@Excel(name = "nc编码")
private String ncCode;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethod;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfig;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethodName;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerTypeName;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfigName;
@ApiModelProperty("欠租期上限 (月)")
@Excel(name = "欠租期上限 (月)")
private Integer oweRentMaxMonth;
@ApiModelProperty("账期 (天)")
@Excel(name = "账期 (天)")
private Integer accountPeriodDay;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
}
@@ -0,0 +1,81 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 结算对象NC配置对象 settlement_customers_nc_config
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersNcConfigDO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("nc编码")
@Excel(name = "nc编码")
private String ncCode;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethod;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfig;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethodName;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerTypeName;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfigName;
@ApiModelProperty("欠租期上限 (月)")
@Excel(name = "欠租期上限 (月)")
private Integer oweRentMaxMonth;
@ApiModelProperty("账期 (天)")
@Excel(name = "账期 (天)")
private Integer accountPeriodDay;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
}
@@ -0,0 +1,59 @@
package com.mhd.bms.domain.settlementCustomersNcConfig.service;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.facade.ISettlementCustomersNcConfigService;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 结算对象NC配置领域服务
*
* @author gen
* @date 2024-06-17
*/
@Service
@Slf4j
public class SettlementCustomersNcConfigDomainService {
@Autowired
private ISettlementCustomersNcConfigService settlementCustomersNcConfigService;
/**
* 分页查询结算对象NC配置列表
*/
public List<SettlementCustomersNcConfigPO> queryList(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
return settlementCustomersNcConfigService.queryList(settlementCustomersNcConfigDO);
}
/**
* 新增结算对象NC配置
*/
public Boolean insert(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
return settlementCustomersNcConfigService.insert(settlementCustomersNcConfigDO);
}
/**
* 修改结算对象NC配置
*/
public Boolean update(SettlementCustomersNcConfigDO settlementCustomersNcConfigDO) {
return settlementCustomersNcConfigService.update(settlementCustomersNcConfigDO);
}
/**
* 批量删除结算对象NC配置
*/
public Boolean delete(Long[] ids) {
return settlementCustomersNcConfigService.delete(ids);
}
/**
* 获取结算对象NC配置详细信息
*/
public SettlementCustomersNcConfigPO getInfo(Long id) {
return settlementCustomersNcConfigService.getInfo(id);
}
}
@@ -0,0 +1,69 @@
package com.mhd.bms.domain.settlementCustomersParameters.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 结算对象对象 settlement_customers
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersParameters extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
@TableId(type = IdType.AUTO)
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算对象编码")
@Excel(name = "结算对象编码")
private String settlementCustomersCode;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementEntityId;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementEntity;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("参数内容")
@Excel(name = "参数内容")
private String content;
@ApiModelProperty("参数名称")
@Excel(name = "参数名称")
private String parametersName;
}
@@ -0,0 +1,42 @@
package com.mhd.bms.domain.settlementCustomersParameters.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import java.util.List;
/**
* 结算对象参数Service接口
*
* @author gen
* @date 2024-06-17
*/
public interface ISettlementCustomersParametersService extends IService<SettlementCustomersParameters> {
/**
* 分页查询结算对象参数列表
*/
public List<SettlementCustomersParametersPO> queryList(SettlementCustomersParametersDO settlementCustomersParametersDO);
/**
* 新增结算对象参数
*/
public Boolean insert(SettlementCustomersParametersDO settlementCustomersParametersDO);
/**
* 修改结算对象参数
*/
public Boolean update(SettlementCustomersParametersDO settlementCustomersParametersDO);
/**
* 批量删除结算对象参数
*/
public Boolean delete(Long[] ids);
/**
* 查询结算对象参数
*/
public SettlementCustomersParametersPO getInfo(Long id);
}
@@ -0,0 +1,23 @@
package com.mhd.bms.domain.settlementCustomersParameters.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import org.apache.ibatis.annotations.Param;
/**
* 结算对象参数Mapper接口
*
* @author gen
* @date 2024-06-17
*/
public interface SettlementCustomersParametersMapper extends BaseMapper<SettlementCustomersParameters> {
/**
* 查询结算对象参数列表
*/
public List<SettlementCustomersParametersPO> queryList(@Param("settlementCustomersParametersDO") SettlementCustomersParametersDO settlementCustomersParametersDO);
}
@@ -0,0 +1,81 @@
package com.mhd.bms.domain.settlementCustomersParameters.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.bms.domain.settlementCustomersParameters.entity.SettlementCustomersParameters;
import com.mhd.bms.domain.settlementCustomersParameters.repository.facade.ISettlementCustomersParametersService;
import com.mhd.bms.domain.settlementCustomersParameters.repository.mapper.SettlementCustomersParametersMapper;
import com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 结算对象参数Service业务层处理
*
* @author gen
* @date 2024-06-17
*/
@Service
public class SettlementCustomersParametersImpl extends ServiceImpl<SettlementCustomersParametersMapper, SettlementCustomersParameters> implements ISettlementCustomersParametersService {
@Autowired
private SettlementCustomersParametersMapper settlementCustomersParametersMapper;
/**
* 查询结算对象参数列表
*/
@Override
public List<SettlementCustomersParametersPO> queryList(SettlementCustomersParametersDO settlementCustomersParametersDO) {
return settlementCustomersParametersMapper.queryList(settlementCustomersParametersDO);
}
/**
* 新增结算对象参数
*/
@Override
public Boolean insert(SettlementCustomersParametersDO settlementCustomersParametersDO) {
SettlementCustomersParameters settlementCustomersParameters = new SettlementCustomersParameters();
BeanUtils.copyProperties(settlementCustomersParametersDO, settlementCustomersParameters);
return this.save(settlementCustomersParameters);
}
/**
* 修改结算对象参数
*/
@Override
public Boolean update(SettlementCustomersParametersDO settlementCustomersParametersDO) {
SettlementCustomersParameters settlementCustomersParameters = new SettlementCustomersParameters();
BeanUtils.copyProperties(settlementCustomersParametersDO, settlementCustomersParameters);
return this.updateById(settlementCustomersParameters);
}
/**
* 批量删除结算对象参数
*/
@Override
public Boolean delete(Long[] ids) {
List<SettlementCustomersParameters> list = new ArrayList<>();
for (Long id : ids) {
SettlementCustomersParameters settlementCustomersParameters = new SettlementCustomersParameters();
settlementCustomersParameters.setId(id);
settlementCustomersParameters.setDelFlag(2);
list.add(settlementCustomersParameters);
}
return this.updateBatchById(list);
}
/**
* 查询结算对象参数
*/
@Override
public SettlementCustomersParametersPO getInfo(Long id) {
SettlementCustomersParameters settlementCustomersParameters = this.getById(id);
SettlementCustomersParametersPO settlementCustomersParametersPO = new SettlementCustomersParametersPO();
BeanUtils.copyProperties(settlementCustomersParameters, settlementCustomersParametersPO);
return settlementCustomersParametersPO;
}
}
@@ -0,0 +1,64 @@
package com.mhd.bms.domain.settlementCustomersParameters.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 结算对象参数对象 settlement_customers_parameters
*
* @author gen
* @date 2024-06-17
*/
@Data
@ApiModel(value = "结算对象参数对象", description = "结算对象参数响应对象")
public class SettlementCustomersParametersPO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算对象编码")
@Excel(name = "结算对象编码")
private String settlementCustomersCode;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementEntityId;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementEntity;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("参数内容")
@Excel(name = "参数内容")
private String content;
@ApiModelProperty("参数名称")
@Excel(name = "参数名称")
private String parametersName;
}
@@ -0,0 +1,68 @@
package com.mhd.bms.domain.settlementCustomersParameters.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 结算对象参数对象 settlement_customers_parameters
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersParametersDO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算对象编码")
@Excel(name = "结算对象编码")
private String settlementCustomersCode;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementEntityId;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementEntity;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("参数内容")
@Excel(name = "参数内容")
private String content;
@ApiModelProperty("参数名称")
@Excel(name = "参数名称")
private String parametersName;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
}
@@ -0,0 +1,59 @@
package com.mhd.bms.domain.settlementCustomersParameters.service;
import com.mhd.bms.domain.settlementCustomersParameters.repository.facade.ISettlementCustomersParametersService;
import com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 结算对象参数领域服务
*
* @author gen
* @date 2024-06-17
*/
@Service
@Slf4j
public class SettlementCustomersParametersDomainService {
@Autowired
private ISettlementCustomersParametersService settlementCustomersParametersService;
/**
* 分页查询结算对象参数列表
*/
public List<SettlementCustomersParametersPO> queryList(SettlementCustomersParametersDO settlementCustomersParametersDO) {
return settlementCustomersParametersService.queryList(settlementCustomersParametersDO);
}
/**
* 新增结算对象参数
*/
public Boolean insert(SettlementCustomersParametersDO settlementCustomersParametersDO) {
return settlementCustomersParametersService.insert(settlementCustomersParametersDO);
}
/**
* 修改结算对象参数
*/
public Boolean update(SettlementCustomersParametersDO settlementCustomersParametersDO) {
return settlementCustomersParametersService.update(settlementCustomersParametersDO);
}
/**
* 批量删除结算对象参数
*/
public Boolean delete(Long[] ids) {
return settlementCustomersParametersService.delete(ids);
}
/**
* 获取结算对象参数详细信息
*/
public SettlementCustomersParametersPO getInfo(Long id) {
return settlementCustomersParametersService.getInfo(id);
}
}
@@ -0,0 +1,71 @@
package com.mhd.bms.interfaces.assembler.settlementCustomersNcConfig;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import com.mhd.bms.interfaces.dto.settlementCustomersNcConfig.SettlementCustomersNcConfigDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 结算对象NC配置Assembler
*
* @author gen
* @date 2024-06-17
*/
@Component
public class SettlementCustomersNcConfigAssembler {
/**
* 转换实体
*/
public SettlementCustomersNcConfigDO toDO(SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO) {
SettlementCustomersNcConfigDO settlementCustomersNcConfigDO = new SettlementCustomersNcConfigDO();
// 拷贝
BeanUtils.copyProperties(settlementCustomersNcConfigDTO, settlementCustomersNcConfigDO, IgnoreNullUtil.getNullPropertyNames(settlementCustomersNcConfigDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
// 获取用户姓名优先使用userPo中的userName如果为空则使用realname最后使用username
String userName = null;
if (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null) {
userName = loginUser.getUserPo().getUserName();
} else if (loginUser.getRealname() != null) {
userName = loginUser.getRealname();
} else {
userName = loginUser.getUsername();
}
// 获取登录人id
Long userId = loginUser.getUserid();
if (settlementCustomersNcConfigDTO.getId() != null) {
if (userId != null) {
settlementCustomersNcConfigDO.setUpdateBy(userId);
} else {
settlementCustomersNcConfigDO.setUpdateBy(0L);
}
settlementCustomersNcConfigDO.setUpdateByName(userName);
settlementCustomersNcConfigDO.setUpdateTime(new Date());
} else {
if (userId != null) {
settlementCustomersNcConfigDO.setCreateBy(userId);
settlementCustomersNcConfigDO.setUpdateBy(userId);
} else {
settlementCustomersNcConfigDO.setCreateBy(0L);
settlementCustomersNcConfigDO.setUpdateBy(0L);
}
settlementCustomersNcConfigDO.setCreateByName(userName);
settlementCustomersNcConfigDO.setUpdateByName(userName);
settlementCustomersNcConfigDO.setCreateTime(new Date());
settlementCustomersNcConfigDO.setUpdateTime(new Date());
settlementCustomersNcConfigDO.setDelFlag(1);
}
return settlementCustomersNcConfigDO;
}
}
@@ -0,0 +1,71 @@
package com.mhd.bms.interfaces.assembler.settlementCustomersParameters;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import com.mhd.bms.interfaces.dto.settlementCustomersParameters.SettlementCustomersParametersDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 结算对象参数Assembler
*
* @author gen
* @date 2024-06-17
*/
@Component
public class SettlementCustomersParametersAssembler {
/**
* 转换实体
*/
public SettlementCustomersParametersDO toDO(SettlementCustomersParametersDTO settlementCustomersParametersDTO) {
SettlementCustomersParametersDO settlementCustomersParametersDO = new SettlementCustomersParametersDO();
// 拷贝
BeanUtils.copyProperties(settlementCustomersParametersDTO, settlementCustomersParametersDO, IgnoreNullUtil.getNullPropertyNames(settlementCustomersParametersDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
// 获取用户姓名优先使用userPo中的userName如果为空则使用realname最后使用username
String userName = null;
if (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null) {
userName = loginUser.getUserPo().getUserName();
} else if (loginUser.getRealname() != null) {
userName = loginUser.getRealname();
} else {
userName = loginUser.getUsername();
}
// 获取登录人id
Long userId = loginUser.getUserid();
if (settlementCustomersParametersDTO.getId() != null) {
if (userId != null) {
settlementCustomersParametersDO.setUpdateBy(userId);
} else {
settlementCustomersParametersDO.setUpdateBy(0L);
}
settlementCustomersParametersDO.setUpdateByName(userName);
settlementCustomersParametersDO.setUpdateTime(new Date());
} else {
if (userId != null) {
settlementCustomersParametersDO.setCreateBy(userId);
settlementCustomersParametersDO.setUpdateBy(userId);
} else {
settlementCustomersParametersDO.setCreateBy(0L);
settlementCustomersParametersDO.setUpdateBy(0L);
}
settlementCustomersParametersDO.setCreateByName(userName);
settlementCustomersParametersDO.setUpdateByName(userName);
settlementCustomersParametersDO.setCreateTime(new Date());
settlementCustomersParametersDO.setUpdateTime(new Date());
settlementCustomersParametersDO.setDelFlag(1);
}
return settlementCustomersParametersDO;
}
}
@@ -1,5 +1,8 @@
package com.mhd.bms.interfaces.dto.settlementCustomers;
import com.mhd.bms.domain.settlementCustomersNcConfig.entity.SettlementCustomersNcConfig;
import com.mhd.bms.interfaces.dto.settlementCustomersNcConfig.SettlementCustomersNcConfigDTO;
import com.mhd.bms.interfaces.dto.settlementCustomersParameters.SettlementCustomersParametersDTO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
@@ -130,4 +133,11 @@ public class SettlementCustomersDTO extends BaseVOEntity{
@ApiModelProperty("单据类型编码")
private String documentTypeCode;
@ApiModelProperty(name = "组织代码")
private String orgCode;
@ApiModelProperty("结算对象参数")
private List<SettlementCustomersParametersDTO> settlementCustomersParametersDTOList;
@ApiModelProperty("结算对象nc配置")
private List<SettlementCustomersNcConfigDTO> settlementCustomersNcConfigDTOList;
}
@@ -0,0 +1,78 @@
package com.mhd.bms.interfaces.dto.settlementCustomersNcConfig;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 结算对象NC配置对象 settlement_customers_nc_config
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersNcConfigDTO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("nc编码")
@Excel(name = "nc编码")
private String ncCode;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethod;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerType;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfig;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String ncSettleMethodName;
@ApiModelProperty("仓库温层类型")
@Excel(name = "仓库温层类型")
private String warehouseTempLayerTypeName;
@ApiModelProperty("散租计费配置")
@Excel(name = "散租计费配置")
private String scatterRentBillingConfigName;
@ApiModelProperty("欠租期上限 (月)")
@Excel(name = "欠租期上限 (月)")
private Integer oweRentMaxMonth;
@ApiModelProperty("账期 (天)")
@Excel(name = "账期 (天)")
private Integer accountPeriodDay;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("ids(批量删除用)")
private String ids;
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.dto.settlementCustomersParameters;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 结算对象参数对象 settlement_customers_parameters
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersParametersDTO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算对象编码")
@Excel(name = "结算对象编码")
private String settlementCustomersCode;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementEntityId;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementEntity;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("参数内容")
@Excel(name = "参数内容")
private String content;
@ApiModelProperty("参数名称")
@Excel(name = "参数名称")
private String parametersName;
@ApiModelProperty("ids(批量删除用)")
private String ids;
}
@@ -0,0 +1,91 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.settlementCustomersNcConfig.SettlementCustomersNcConfigApplicationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.settlementCustomersNcConfig.SettlementCustomersNcConfigDTO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO;
import com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO;
import com.mhd.bms.interfaces.assembler.settlementCustomersNcConfig.SettlementCustomersNcConfigAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 结算对象NC配置Api
*
* @author gen
* @date 2024-06-17
*/
@Api(tags = "结算对象NC配置")
@RestController
@RequestMapping("/settlementCustomersNcConfigApi")
public class SettlementCustomersNcConfigApi extends BaseController {
@Autowired
private SettlementCustomersNcConfigApplicationService settlementCustomersNcConfigApplicationService;
@Resource
private SettlementCustomersNcConfigAssembler settlementCustomersNcConfigAssembler;
/**
* 分页查询结算对象NC配置列表
*/
@ApiOperation("查询结算对象NC配置列表")
@GetMapping("/list")
public TableDataInfo list(SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO) {
SettlementCustomersNcConfigDO settlementCustomersNcConfigDO = new SettlementCustomersNcConfigDO();
BeanUtils.copyProperties(settlementCustomersNcConfigDTO, settlementCustomersNcConfigDO);
startPage();
List<SettlementCustomersNcConfigPO> list = settlementCustomersNcConfigApplicationService.queryList(settlementCustomersNcConfigDO);
return getDataTable(list);
}
/**
* 保存结算对象NC配置
*/
@ApiOperation("保存结算对象NC配置")
@PostMapping("/save")
public AjaxResult save(@RequestBody SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO) {
try {
// 转换实体
SettlementCustomersNcConfigDO settlementCustomersNcConfigDO = settlementCustomersNcConfigAssembler.toDO(settlementCustomersNcConfigDTO);
if (settlementCustomersNcConfigDTO.getId() != null) {
return toAjax(settlementCustomersNcConfigApplicationService.update(settlementCustomersNcConfigDO));
} else {
return toAjax(settlementCustomersNcConfigApplicationService.insert(settlementCustomersNcConfigDO));
}
} catch (Exception e) {
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
/**
* 批量删除结算对象NC配置
*/
@ApiOperation("批量删除结算对象NC配置")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO) {
try {
settlementCustomersNcConfigApplicationService.deleteByIds(settlementCustomersNcConfigDTO);
return AjaxResult.success("操作成功");
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
/**
* 获取结算对象NC配置详细信息
*/
@ApiOperation("获取结算对象NC配置")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(SettlementCustomersNcConfigDTO settlementCustomersNcConfigDTO) {
return AjaxResult.success(settlementCustomersNcConfigApplicationService.getInfo(settlementCustomersNcConfigDTO.getId()));
}
}
@@ -0,0 +1,92 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.mhd.bms.application.server.settlementCustomersParameters.SettlementCustomersParametersApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.settlementCustomersParameters.SettlementCustomersParametersDTO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO;
import com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO;
import com.mhd.bms.interfaces.assembler.settlementCustomersParameters.SettlementCustomersParametersAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 结算对象参数Api
*
* @author gen
* @date 2024-06-17
*/
@RestController
@RequestMapping("/settlementCustomersParametersApi")
public class SettlementCustomersParametersApi extends BaseController {
@Autowired
private SettlementCustomersParametersApplicationService settlementCustomersParametersApplicationService;
@Resource
private SettlementCustomersParametersAssembler settlementCustomersParametersAssembler;
/**
* 分页查询结算对象参数列表
*/
@ApiOperation("查询结算对象参数列表")
@GetMapping("/list")
public TableDataInfo list(SettlementCustomersParametersDTO settlementCustomersParametersDTO) {
SettlementCustomersParametersDO settlementCustomersParametersDO = new SettlementCustomersParametersDO();
BeanUtils.copyProperties(settlementCustomersParametersDTO, settlementCustomersParametersDO);
startPage();
List<SettlementCustomersParametersPO> list = settlementCustomersParametersApplicationService.queryList(settlementCustomersParametersDO);
return getDataTable(list);
}
/**
* 保存结算对象参数
*/
@ApiOperation("保存结算对象参数")
@PostMapping("/save")
public AjaxResult save(@RequestBody SettlementCustomersParametersDTO settlementCustomersParametersDTO) {
try {
// 转换实体
SettlementCustomersParametersDO settlementCustomersParametersDO = settlementCustomersParametersAssembler.toDO(settlementCustomersParametersDTO);
if (settlementCustomersParametersDTO.getId() != null) {
return toAjax(settlementCustomersParametersApplicationService.update(settlementCustomersParametersDO));
} else {
return toAjax(settlementCustomersParametersApplicationService.insert(settlementCustomersParametersDO));
}
} catch (Exception e) {
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
/**
* 批量删除结算对象参数
*/
@ApiOperation("批量删除结算对象参数")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody SettlementCustomersParametersDTO settlementCustomersParametersDTO) {
try {
settlementCustomersParametersApplicationService.deleteByIds(settlementCustomersParametersDTO);
return AjaxResult.success("操作成功");
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
/**
* 获取结算对象参数详细信息
*/
@ApiOperation("获取结算对象参数")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(SettlementCustomersParametersDTO settlementCustomersParametersDTO) {
return AjaxResult.success(settlementCustomersParametersApplicationService.getInfo(settlementCustomersParametersDTO.getId()));
}
}
@@ -43,6 +43,7 @@
<result property="documentType" column="document_type" />
<result property="documentTypeCode" column="document_type_code" />
<result property="businessCreateTime" column="business_create_time" />
<result property="orgCode" column="org_code" />
</resultMap>
<sql id="business_document_where">
@@ -115,6 +116,7 @@
bd.business_state,
bd.document_type,
bd.document_type_code,
a.org_code,
bd.create_time as business_create_time
from settlement_customers a
left join "NGWL_TEST_USER"."USER_SHIPPER" b on a.settlement_entity_id = b.user_id
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.bms.domain.settlementCustomersNcConfig.repository.mapper.SettlementCustomersNcConfigMapper">
<resultMap type="com.mhd.bms.domain.settlementCustomersNcConfig.repository.po.SettlementCustomersNcConfigPO" id="SettlementCustomersNcConfigResult">
<result property="id" column="id" />
<result property="settlementCustomersId" column="settlement_customers_id" />
<result property="topOrganizationId" column="top_organization_id" />
<result property="organizationId" column="organization_id" />
<result property="organizationName" column="organization_name" />
<result property="ncCode" column="nc_code" />
<result property="ncSettleMethod" column="nc_settle_method" />
<result property="warehouseTempLayerType" column="warehouse_temp_layer_type" />
<result property="scatterRentBillingConfig" column="scatter_rent_billing_config" />
<result property="ncSettleMethodName" column="nc_settle_method_name" />
<result property="warehouseTempLayerTypeName" column="warehouse_temp_layer_type_name" />
<result property="scatterRentBillingConfigName" column="scatter_rent_billing_config_name" />
<result property="oweRentMaxMonth" column="owe_rent_max_month" />
<result property="accountPeriodDay" column="account_period_day" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="createByName" column="create_by_name" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="updateByName" column="update_by_name" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="settlement_customers_nc_config_columns">
a.id,
a.settlement_customers_id,
a.top_organization_id,
a.organization_id,
a.organization_name,
a.nc_code,
a.nc_settle_method,
a.warehouse_temp_layer_type,
a.scatter_rent_billing_config,
a.nc_settle_method_name,
a.warehouse_temp_layer_type_name,
a.scatter_rent_billing_config_name,
a.owe_rent_max_month,
a.account_period_day,
a.remark,
a.create_time,
a.create_by,
a.create_by_name,
a.update_time,
a.update_by,
a.update_by_name,
a.del_flag
</sql>
<select id="queryList" parameterType="com.mhd.bms.domain.settlementCustomersNcConfig.repository.todo.SettlementCustomersNcConfigDO"
resultMap="SettlementCustomersNcConfigResult">
select
<include refid="settlement_customers_nc_config_columns"/>
from settlement_customers_nc_config a
where a.del_flag = 1
<if test="settlementCustomersNcConfigDO.settlementCustomersId != null">
and a.settlement_customers_id = #{settlementCustomersNcConfigDO.settlementCustomersId}
</if>
<if test="settlementCustomersNcConfigDO.ncCode != null and settlementCustomersNcConfigDO.ncCode != ''">
and a.nc_code like concat('%', #{settlementCustomersNcConfigDO.ncCode}, '%')
</if>
<if test="settlementCustomersNcConfigDO.ncSettleMethod != null and settlementCustomersNcConfigDO.ncSettleMethod != ''">
and a.nc_settle_method = #{settlementCustomersNcConfigDO.ncSettleMethod}
</if>
<if test="settlementCustomersNcConfigDO.warehouseTempLayerType != null and settlementCustomersNcConfigDO.warehouseTempLayerType != ''">
and a.warehouse_temp_layer_type = #{settlementCustomersNcConfigDO.warehouseTempLayerType}
</if>
<if test="settlementCustomersNcConfigDO.organizationId != null">
and a.organization_id = #{settlementCustomersNcConfigDO.organizationId}
</if>
<if test="settlementCustomersNcConfigDO.topOrganizationId != null">
and a.top_organization_id = #{settlementCustomersNcConfigDO.topOrganizationId}
</if>
<if test="settlementCustomersNcConfigDO.createTimeStart != null and settlementCustomersNcConfigDO.createTimeStart != ''">
AND date_format(a.create_time,'%Y-%m-%d') <![CDATA[>=]]> #{settlementCustomersNcConfigDO.createTimeStart}
</if>
<if test="settlementCustomersNcConfigDO.createTimeEnd != null and settlementCustomersNcConfigDO.createTimeEnd != ''">
AND date_format(a.create_time,'%Y-%m-%d') <![CDATA[<=]]> #{settlementCustomersNcConfigDO.createTimeEnd}
</if>
ORDER BY a.create_time IS NULL, a.create_time DESC
</select>
</mapper>
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.bms.domain.settlementCustomersParameters.repository.mapper.SettlementCustomersParametersMapper">
<resultMap type="com.mhd.bms.domain.settlementCustomersParameters.repository.po.SettlementCustomersParametersPO" id="SettlementCustomersParametersResult">
<result property="id" column="id" />
<result property="settlementCustomersId" column="settlement_customers_id" />
<result property="topOrganizationId" column="top_organization_id" />
<result property="organizationId" column="organization_id" />
<result property="organizationName" column="organization_name" />
<result property="settlementCustomersCode" column="settlement_customers_code" />
<result property="settlementEntityId" column="settlement_entity_id" />
<result property="settlementEntity" column="settlement_entity" />
<result property="contractNumber" column="contract_number" />
<result property="contractManageId" column="contract_manage_id" />
<result property="content" column="content" />
<result property="parametersName" column="parameters_name" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="createByName" column="create_by_name" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="updateByName" column="update_by_name" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="settlement_customers_parameters_columns">
a.id,
a.settlement_customers_id,
a.top_organization_id,
a.organization_id,
a.organization_name,
a.settlement_customers_code,
a.settlement_entity_id,
a.settlement_entity,
a.contract_number,
a.contract_manage_id,
a.content,
a.parameters_name,
a.create_time,
a.create_by,
a.create_by_name,
a.update_time,
a.update_by,
a.update_by_name,
a.del_flag
</sql>
<select id="queryList" parameterType="com.mhd.bms.domain.settlementCustomersParameters.repository.todo.SettlementCustomersParametersDO"
resultMap="SettlementCustomersParametersResult">
select
<include refid="settlement_customers_parameters_columns"/>
from settlement_customers_parameters a
where a.del_flag = 1
<if test="settlementCustomersParametersDO.settlementCustomersId != null">
and a.settlement_customers_id = #{settlementCustomersParametersDO.settlementCustomersId}
</if>
<if test="settlementCustomersParametersDO.settlementCustomersCode != null and settlementCustomersParametersDO.settlementCustomersCode != ''">
and a.settlement_customers_code like concat('%', #{settlementCustomersParametersDO.settlementCustomersCode}, '%')
</if>
<if test="settlementCustomersParametersDO.contractNumber != null and settlementCustomersParametersDO.contractNumber != ''">
and a.contract_number like concat('%', #{settlementCustomersParametersDO.contractNumber}, '%')
</if>
<if test="settlementCustomersParametersDO.parametersName != null and settlementCustomersParametersDO.parametersName != ''">
and a.parameters_name like concat('%', #{settlementCustomersParametersDO.parametersName}, '%')
</if>
<if test="settlementCustomersParametersDO.organizationId != null">
and a.organization_id = #{settlementCustomersParametersDO.organizationId}
</if>
<if test="settlementCustomersParametersDO.topOrganizationId != null">
and a.top_organization_id = #{settlementCustomersParametersDO.topOrganizationId}
</if>
<if test="settlementCustomersParametersDO.createTimeStart != null and settlementCustomersParametersDO.createTimeStart != ''">
AND date_format(a.create_time,'%Y-%m-%d') <![CDATA[>=]]> #{settlementCustomersParametersDO.createTimeStart}
</if>
<if test="settlementCustomersParametersDO.createTimeEnd != null and settlementCustomersParametersDO.createTimeEnd != ''">
AND date_format(a.create_time,'%Y-%m-%d') <![CDATA[<=]]> #{settlementCustomersParametersDO.createTimeEnd}
</if>
ORDER BY a.create_time IS NULL, a.create_time DESC
</select>
</mapper>