wujianwei
2025-08-07 b62f5881e2d0976738c38fd373ede43d92c32cbf
新增待入账明细前后端
8个文件已添加
1541 ■■■■■ 已修改文件
service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java 356 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/IPendingSettlementBusinessService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml 371 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/api/cwgl/pendingSettlementBusiness.ts 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.cwgl.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.utils.file.DownloadExportUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.cwgl.domain.PendingSettlementBusiness;
import com.ruoyi.cwgl.service.IPendingSettlementBusinessService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 待入账业务Controller
 *
 * @author ruoyi
 * @date 2025-08-07
 */
@RestController
@RequestMapping("/cwgl/pendingSettlementBusiness")
public class PendingSettlementBusinessController extends BaseController
{
    @Autowired
    private IPendingSettlementBusinessService pendingSettlementBusinessService;
    /**
     * 查询待入账业务列表
     */
    @PreAuthorize("@ss.hasPermi('cwgl:pendingSettlementBusiness:list')")
    @GetMapping("/list")
    public TableDataInfo list(PendingSettlementBusiness pendingSettlementBusiness)
    {
        startPage();
        List<PendingSettlementBusiness> list = pendingSettlementBusinessService.selectPendingSettlementBusinessList(pendingSettlementBusiness);
        return getDataTable(list);
    }
    /**
     * 导出待入账业务列表
     * @param pendingSettlementBusiness 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('cwgl:pendingSettlementBusiness:export')")
    @Log(title = "待入账业务", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(PendingSettlementBusiness pendingSettlementBusiness,String exportKey)
    {
        pendingSettlementBusinessService.export(pendingSettlementBusiness,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取待入账业务详细信息
     */
    @PreAuthorize("@ss.hasPermi('cwgl:pendingSettlementBusiness:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(pendingSettlementBusinessService.selectPendingSettlementBusinessById(id));
    }
    /**
     * 新增待入账业务
     */
    @PreAuthorize("@ss.hasPermi('cwgl:pendingSettlementBusiness:add')")
    @Log(title = "待入账业务", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody PendingSettlementBusiness pendingSettlementBusiness)
    {
        return toAjax(pendingSettlementBusinessService.insertPendingSettlementBusiness(pendingSettlementBusiness));
    }
    /**
     * 修改待入账业务
     */
    @PreAuthorize("@ss.hasPermi('cwgl:pendingSettlementBusiness:edit')")
    @Log(title = "待入账业务", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody PendingSettlementBusiness pendingSettlementBusiness)
    {
        return toAjax(pendingSettlementBusinessService.updatePendingSettlementBusiness(pendingSettlementBusiness));
    }
    /**
     * 删除待入账业务
     */
    @PreAuthorize("@ss.hasPermi('cwgl:pendingSettlementBusiness:remove')")
    @Log(title = "待入账业务", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(pendingSettlementBusinessService.deletePendingSettlementBusinessByIds(ids));
    }
}
service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java
New file
@@ -0,0 +1,356 @@
package com.ruoyi.cwgl.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 待入账业务对象 pending_settlement_business
 *
 * @author ruoyi
 * @date 2025-08-07
 */
@Data
public class PendingSettlementBusiness{
    /** ID */
        @TableField("id")
    private Integer id;
    /** 客户订单号 */
    @Excel(name = "客户订单号")
        @TableField("booking_no")
    private String bookingNo;
    /** 客户id */
    @Excel(name = "客户id")
        @TableField("customer_id")
    private String customerId;
    /** 承运商id */
    @Excel(name = "承运商id")
        @TableField("carrier_id")
    private String carrierId;
    /** 项目名称 */
    @Excel(name = "项目名称")
        @TableField("project_name")
    private String projectName;
    /** 调度单号 */
    @Excel(name = "调度单号")
        @TableField("dispatch_no")
    private String dispatchNo;
    /** 下单时间 */
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("created_time")
    private Date createdTime;
    /** 运输方式 */
    @Excel(name = "运输方式")
        @TableField("transport_mode")
    private String transportMode;
    /** 服务产品 */
    @Excel(name = "服务产品")
        @TableField("product_id")
    private String productId;
    /** 客户名称 */
    @Excel(name = "客户名称")
        @TableField("customer_name")
    private String customerName;
    /** 运营模式(自营/外协) */
    @Excel(name = "运营模式", readConverterExp = "自=营/外协")
        @TableField("operation_mode")
    private String operationMode;
    /** 承运商 */
    @Excel(name = "承运商")
        @TableField("carrier_name")
    private String carrierName;
    /** 出发地 */
    @Excel(name = "出发地")
        @TableField("departure_location")
    private String departureLocation;
    /** 目的地 */
    @Excel(name = "目的地")
        @TableField("arrival_location")
    private String arrivalLocation;
    /** 运输工具ID */
    @Excel(name = "运输工具ID")
        @TableField("vehicle_id")
    private String vehicleId;
    /** 车牌 */
    @Excel(name = "车牌")
        @TableField("license_plate_number")
    private String licensePlateNumber;
    /** 车型 */
    @Excel(name = "车型")
        @TableField("vehicle_type")
    private String vehicleType;
    /** 主驾驶员 */
    @Excel(name = "主驾驶员")
        @TableField("main_driver")
    private String mainDriver;
    /** 副驾驶员 */
    @Excel(name = "副驾驶员")
        @TableField("assistant_driver")
    private String assistantDriver;
    /** 提送货点数 */
    @Excel(name = "提送货点数")
        @TableField("point_num")
    private Integer pointNum;
    /** 业务联系人 */
    @Excel(name = "业务联系人")
        @TableField("business_contact")
    private String businessContact;
    /** 预估总收入 */
    @Excel(name = "预估总收入")
        @TableField("estimated_total_income")
    private BigDecimal estimatedTotalIncome;
    /** 预估总成本 */
    @Excel(name = "预估总成本")
        @TableField("estimated_total_cost")
    private BigDecimal estimatedTotalCost;
    /** 预估利润 */
    @Excel(name = "预估利润")
        @TableField("estimated_profit")
    private BigDecimal estimatedProfit;
    /** 电子锁 */
    @Excel(name = "电子锁")
        @TableField("electronic_lock")
    private String electronicLock;
    /** 复磅重量 */
    @Excel(name = "复磅重量")
        @TableField("re_weighing_weight")
    private BigDecimal reWeighingWeight;
    /** 件数 */
    @Excel(name = "件数")
        @TableField("quantity")
    private Integer quantity;
    /** 实际出发时间 */
    @Excel(name = "实际出发时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("actual_departure_time")
    private Date actualDepartureTime;
    /** 要求到达时间 */
    @Excel(name = "要求到达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("required_arrival_time")
    private Date requiredArrivalTime;
    /** 实际到达时间 */
    @Excel(name = "实际到达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("actual_arrival_time")
    private Date actualArrivalTime;
    /** 是否回程 */
    @Excel(name = "是否回程")
        @TableField("be_return")
    private String beReturn;
    /** 实发件数 */
    @Excel(name = "实发件数")
        @TableField("dispatch_quantity")
    private Integer dispatchQuantity;
    /** 实发重量(千克) */
    @Excel(name = "实发重量", readConverterExp = "千=克")
        @TableField("dispatch_weight")
    private BigDecimal dispatchWeight;
    /** 实发体积(立方) */
    @Excel(name = "实发体积(立方)")
        @TableField("dispatch_volume")
    private BigDecimal dispatchVolume;
    /** 空载里程(公里) */
    @Excel(name = "空载里程", readConverterExp = "公=里")
        @TableField("empty_mileage")
    private BigDecimal emptyMileage;
    /** 空载油耗(升) */
    @Excel(name = "空载油耗", readConverterExp = "升=")
        @TableField("empty_fuel")
    private BigDecimal emptyFuel;
    /** 重载里程(公里) */
    @Excel(name = "重载里程", readConverterExp = "公=里")
        @TableField("heavy_mileage")
    private BigDecimal heavyMileage;
    /** 重载油耗(升) */
    @Excel(name = "重载油耗", readConverterExp = "重载油耗(升)")
        @TableField("heavy_fuel")
    private BigDecimal heavyFuel;
    /** 是否按班次 */
    @Excel(name = "是否按班次")
        @TableField("be_scheduled")
    private String beScheduled;
    /** 快递单号 */
    @Excel(name = "快递单号")
        @TableField("tracking_no")
    private String trackingNo;
    /** 铅封号 */
    @Excel(name = "铅封号")
        @TableField("seal_no")
    private String sealNo;
    /** 班次号 */
    @Excel(name = "班次号")
        @TableField("schedule_no")
    private String scheduleNo;
    /** 运输状态 */
    @Excel(name = "运输状态")
        @TableField("transport_status")
    private String transportStatus;
    /** 预估账单ID */
    @Excel(name = "预估账单ID")
        @TableField("estimated_bill_id")
    private String estimatedBillId;
    /** 结算账单ID */
    @Excel(name = "结算账单ID")
        @TableField("settlement_bill_id")
    private String settlementBillId;
    /** 结算状态 */
    @Excel(name = "结算状态")
        @TableField("settlement_status")
    private String settlementStatus;
    /** 创建时间 */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
    /** 更新时间 */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
}
service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.cwgl.mapper;
import java.util.List;
import com.ruoyi.cwgl.domain.PendingSettlementBusiness;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 待入账业务Mapper接口
 *
 * @author ruoyi
 * @date 2025-08-07
 */
public interface PendingSettlementBusinessMapper  extends BaseMapper<PendingSettlementBusiness>
{
    /**
     * 查询待入账业务
     *
     * @param id 待入账业务ID
     * @return 待入账业务
     */
    public PendingSettlementBusiness selectPendingSettlementBusinessById(Integer id);
    /**
     * 查询待入账业务 记录数
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 待入账业务集合
     */
    public int selectPendingSettlementBusinessCount(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 查询待入账业务列表
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 待入账业务集合
     */
    public List<PendingSettlementBusiness> selectPendingSettlementBusinessList(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 新增待入账业务
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 结果
     */
    public int insertPendingSettlementBusiness(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 新增待入账业务[批量]
     *
     * @param pendingSettlementBusinesss 待入账业务
     * @return 结果
     */
    public int insertPendingSettlementBusinessBatch(List<PendingSettlementBusiness> pendingSettlementBusinesss);
    /**
     * 修改待入账业务
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 结果
     */
    public int updatePendingSettlementBusiness(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 修改待入账业务[批量]
     *
     * @param pendingSettlementBusinesss 待入账业务
     * @return 结果
     */
    public int updatePendingSettlementBusinessBatch(List<PendingSettlementBusiness> pendingSettlementBusinesss);
    /**
     * 删除待入账业务
     *
     * @param id 待入账业务ID
     * @return 结果
     */
    public int deletePendingSettlementBusinessById(Integer id);
    /**
     * 批量删除待入账业务
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePendingSettlementBusinessByIds(Integer[] ids);
}
service/src/main/java/com/ruoyi/cwgl/service/IPendingSettlementBusinessService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.cwgl.service;
import java.util.List;
import com.ruoyi.cwgl.domain.PendingSettlementBusiness;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 待入账业务Service接口
 *
 * @author ruoyi
 * @date 2025-08-07
 */
public interface IPendingSettlementBusinessService extends IService<PendingSettlementBusiness>
{
    /**
     * 查询待入账业务
     *
     * @param id 待入账业务ID
     * @return 待入账业务
     */
    public PendingSettlementBusiness selectPendingSettlementBusinessById(Integer id);
    /**
     * 查询待入账业务 记录数
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 待入账业务集合
     */
    public int selectPendingSettlementBusinessCount(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 查询待入账业务列表
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 待入账业务集合
     */
    public List<PendingSettlementBusiness> selectPendingSettlementBusinessList(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 查询待入账业务列表 异步 导出
     *
     * @param pendingSettlementBusiness 待入账业务
     * @param exportKey 导出功能的唯一标识
     * @return 待入账业务集合
     */
    public void export(PendingSettlementBusiness pendingSettlementBusiness, String exportKey) ;
    /**
     * 新增待入账业务
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 结果
     */
    public int insertPendingSettlementBusiness(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 新增待入账业务[批量]
     *
     * @param pendingSettlementBusinesss 待入账业务
     * @return 结果
     */
    public int insertPendingSettlementBusinessBatch(List<PendingSettlementBusiness> pendingSettlementBusinesss);
    /**
     * 修改待入账业务
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 结果
     */
    public int updatePendingSettlementBusiness(PendingSettlementBusiness pendingSettlementBusiness);
    /**
     * 修改待入账业务[批量]
     *
     * @param pendingSettlementBusinesss 待入账业务
     * @return 结果
     */
    public int updatePendingSettlementBusinessBatch(List<PendingSettlementBusiness> pendingSettlementBusinesss);
    /**
     * 批量删除待入账业务
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePendingSettlementBusinessByIds(String ids);
    /**
     * 批量删除待入账业务
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePendingSettlementBusinessByIds(Integer[] ids);
    /**
     * 删除待入账业务信息
     *
     * @param id 待入账业务ID
     * @return 结果
     */
    public int deletePendingSettlementBusinessById(Integer id);
}
service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java
New file
@@ -0,0 +1,182 @@
package com.ruoyi.cwgl.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.cwgl.mapper.PendingSettlementBusinessMapper;
import com.ruoyi.cwgl.domain.PendingSettlementBusiness;
import com.ruoyi.cwgl.service.IPendingSettlementBusinessService;
import com.ruoyi.common.core.text.Convert;
/**
 * 待入账业务Service业务层处理
 *
 * @author ruoyi
 * @date 2025-08-07
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class PendingSettlementBusinessServiceImpl  extends BaseService<PendingSettlementBusinessMapper, PendingSettlementBusiness> implements IPendingSettlementBusinessService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private PendingSettlementBusinessMapper pendingSettlementBusinessMapper;
    /**
     * 查询待入账业务
     *
     * @param id 待入账业务ID
     * @return 待入账业务
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public PendingSettlementBusiness selectPendingSettlementBusinessById(Integer id)
    {
        return pendingSettlementBusinessMapper.selectPendingSettlementBusinessById(id);
    }
    /**
     * 查询待入账业务 记录数
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 待入账业务集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectPendingSettlementBusinessCount(PendingSettlementBusiness pendingSettlementBusiness)
    {
        return pendingSettlementBusinessMapper.selectPendingSettlementBusinessCount(pendingSettlementBusiness);
    }
    /**
     * 查询待入账业务列表
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 待入账业务
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<PendingSettlementBusiness> selectPendingSettlementBusinessList(PendingSettlementBusiness pendingSettlementBusiness)
    {
        return pendingSettlementBusinessMapper.selectPendingSettlementBusinessList(pendingSettlementBusiness);
    }
    /**
     * 查询待入账业务列表 异步 导出
     *
     * @param pendingSettlementBusiness 待入账业务
     * @param exportKey 导出功能的唯一标识
     * @return 待入账业务集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(PendingSettlementBusiness pendingSettlementBusiness,String exportKey) {
        super.export(PendingSettlementBusiness.class,exportKey,"pendingSettlementBusinessData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectPendingSettlementBusinessList(pendingSettlementBusiness);
        });
    }
    /**
     * 新增待入账业务
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 结果
     */
    @Override
    public int insertPendingSettlementBusiness(PendingSettlementBusiness pendingSettlementBusiness)
    {
        pendingSettlementBusiness.setCreateTime(DateUtils.getNowDate());
        return pendingSettlementBusinessMapper.insertPendingSettlementBusiness(pendingSettlementBusiness);
    }
    /**
     * 新增待入账业务[批量]
     *
     * @param pendingSettlementBusinesss 待入账业务
     * @return 结果
     */
    @Override
    public int insertPendingSettlementBusinessBatch(List<PendingSettlementBusiness> pendingSettlementBusinesss)
    {
        int rows = pendingSettlementBusinessMapper.insertPendingSettlementBusinessBatch(pendingSettlementBusinesss);
        return rows;
    }
    /**
     * 修改待入账业务
     *
     * @param pendingSettlementBusiness 待入账业务
     * @return 结果
     */
    @Override
    public int updatePendingSettlementBusiness(PendingSettlementBusiness pendingSettlementBusiness)
    {
        pendingSettlementBusiness.setUpdateTime(DateUtils.getNowDate());
        return pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
    }
    /**
     * 修改待入账业务[批量]
     *
     * @param pendingSettlementBusinesss 待入账业务
     * @return 结果
     */
    @Override
    public int updatePendingSettlementBusinessBatch(List<PendingSettlementBusiness> pendingSettlementBusinesss){
        return pendingSettlementBusinessMapper.updatePendingSettlementBusinessBatch(pendingSettlementBusinesss);
    }
    /**
     * 删除待入账业务对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePendingSettlementBusinessByIds(String ids)
    {
        return deletePendingSettlementBusinessByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除待入账业务对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePendingSettlementBusinessByIds(Integer[] ids)
    {
        return pendingSettlementBusinessMapper.deletePendingSettlementBusinessByIds(ids);
    }
    /**
     * 删除待入账业务信息
     *
     * @param id 待入账业务ID
     * @return 结果
     */
    @Override
    public int deletePendingSettlementBusinessById(Integer id)
    {
        return pendingSettlementBusinessMapper.deletePendingSettlementBusinessById(id);
    }
}
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
New file
@@ -0,0 +1,371 @@
<?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.ruoyi.cwgl.mapper.PendingSettlementBusinessMapper">
    <resultMap type="com.ruoyi.cwgl.domain.PendingSettlementBusiness" id="PendingSettlementBusinessResult">
        <result property="id"    column="id"    />
        <result property="bookingNo"    column="booking_no"    />
        <result property="customerId"    column="customer_id"    />
        <result property="carrierId"    column="carrier_id"    />
        <result property="projectName"    column="project_name"    />
        <result property="dispatchNo"    column="dispatch_no"    />
        <result property="createdTime"    column="created_time"    />
        <result property="transportMode"    column="transport_mode"    />
        <result property="productId"    column="product_id"    />
        <result property="customerName"    column="customer_name"    />
        <result property="operationMode"    column="operation_mode"    />
        <result property="carrierName"    column="carrier_name"    />
        <result property="departureLocation"    column="departure_location"    />
        <result property="arrivalLocation"    column="arrival_location"    />
        <result property="vehicleId"    column="vehicle_id"    />
        <result property="licensePlateNumber"    column="license_plate_number"    />
        <result property="vehicleType"    column="vehicle_type"    />
        <result property="mainDriver"    column="main_driver"    />
        <result property="assistantDriver"    column="assistant_driver"    />
        <result property="pointNum"    column="point_num"    />
        <result property="businessContact"    column="business_contact"    />
        <result property="estimatedTotalIncome"    column="estimated_total_income"    />
        <result property="estimatedTotalCost"    column="estimated_total_cost"    />
        <result property="estimatedProfit"    column="estimated_profit"    />
        <result property="electronicLock"    column="electronic_lock"    />
        <result property="reWeighingWeight"    column="re_weighing_weight"    />
        <result property="quantity"    column="quantity"    />
        <result property="actualDepartureTime"    column="actual_departure_time"    />
        <result property="requiredArrivalTime"    column="required_arrival_time"    />
        <result property="actualArrivalTime"    column="actual_arrival_time"    />
        <result property="beReturn"    column="be_return"    />
        <result property="dispatchQuantity"    column="dispatch_quantity"    />
        <result property="dispatchWeight"    column="dispatch_weight"    />
        <result property="dispatchVolume"    column="dispatch_volume"    />
        <result property="emptyMileage"    column="empty_mileage"    />
        <result property="emptyFuel"    column="empty_fuel"    />
        <result property="heavyMileage"    column="heavy_mileage"    />
        <result property="heavyFuel"    column="heavy_fuel"    />
        <result property="beScheduled"    column="be_scheduled"    />
        <result property="trackingNo"    column="tracking_no"    />
        <result property="sealNo"    column="seal_no"    />
        <result property="scheduleNo"    column="schedule_no"    />
        <result property="transportStatus"    column="transport_status"    />
        <result property="estimatedBillId"    column="estimated_bill_id"    />
        <result property="settlementBillId"    column="settlement_bill_id"    />
        <result property="settlementStatus"    column="settlement_status"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>
    <sql id="selectPendingSettlementBusinessVo">
        select thisTab.id, thisTab.booking_no, thisTab.customer_id, thisTab.carrier_id, thisTab.project_name, thisTab.dispatch_no, thisTab.created_time, thisTab.transport_mode, thisTab.product_id, thisTab.customer_name, thisTab.operation_mode, thisTab.carrier_name, thisTab.departure_location, thisTab.arrival_location, thisTab.vehicle_id, thisTab.license_plate_number, thisTab.vehicle_type, thisTab.main_driver, thisTab.assistant_driver, thisTab.point_num, thisTab.business_contact, thisTab.estimated_total_income, thisTab.estimated_total_cost, thisTab.estimated_profit, thisTab.electronic_lock, thisTab.re_weighing_weight, thisTab.quantity, thisTab.actual_departure_time, thisTab.required_arrival_time, thisTab.actual_arrival_time, thisTab.be_return, thisTab.dispatch_quantity, thisTab.dispatch_weight, thisTab.dispatch_volume, thisTab.empty_mileage, thisTab.empty_fuel, thisTab.heavy_mileage, thisTab.heavy_fuel, thisTab.be_scheduled, thisTab.tracking_no, thisTab.seal_no, thisTab.schedule_no, thisTab.transport_status, thisTab.estimated_bill_id, thisTab.settlement_bill_id, thisTab.settlement_status, thisTab.create_time, thisTab.update_time from pending_settlement_business AS thisTab
    </sql>
    <sql id="selectPendingSettlementBusinessVoCount">
        select count(0) from pending_settlement_business as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="bookingNo != null  and bookingNo != ''"> and thisTab.booking_no = #{bookingNo}</if>
        <if test="customerId != null  and customerId != ''"> and thisTab.customer_id = #{customerId}</if>
        <if test="carrierId != null  and carrierId != ''"> and thisTab.carrier_id = #{carrierId}</if>
        <if test="projectName != null  and projectName != ''"> and  thisTab.project_name like concat('%', #{projectName}, '%')</if>
        <if test="dispatchNo != null  and dispatchNo != ''"> and thisTab.dispatch_no = #{dispatchNo}</if>
        <if test="createdTime != null "> and thisTab.created_time = #{createdTime}</if>
        <if test="transportMode != null  and transportMode != ''"> and thisTab.transport_mode = #{transportMode}</if>
        <if test="productId != null  and productId != ''"> and thisTab.product_id = #{productId}</if>
        <if test="customerName != null  and customerName != ''"> and  thisTab.customer_name like concat('%', #{customerName}, '%')</if>
        <if test="operationMode != null  and operationMode != ''"> and thisTab.operation_mode = #{operationMode}</if>
        <if test="carrierName != null  and carrierName != ''"> and  thisTab.carrier_name like concat('%', #{carrierName}, '%')</if>
        <if test="departureLocation != null  and departureLocation != ''"> and thisTab.departure_location = #{departureLocation}</if>
        <if test="arrivalLocation != null  and arrivalLocation != ''"> and thisTab.arrival_location = #{arrivalLocation}</if>
        <if test="vehicleId != null  and vehicleId != ''"> and thisTab.vehicle_id = #{vehicleId}</if>
        <if test="licensePlateNumber != null  and licensePlateNumber != ''"> and thisTab.license_plate_number = #{licensePlateNumber}</if>
        <if test="vehicleType != null  and vehicleType != ''"> and thisTab.vehicle_type = #{vehicleType}</if>
        <if test="mainDriver != null  and mainDriver != ''"> and thisTab.main_driver = #{mainDriver}</if>
        <if test="assistantDriver != null  and assistantDriver != ''"> and thisTab.assistant_driver = #{assistantDriver}</if>
        <if test="pointNum != null "> and thisTab.point_num = #{pointNum}</if>
        <if test="businessContact != null  and businessContact != ''"> and thisTab.business_contact = #{businessContact}</if>
        <if test="estimatedTotalIncome != null "> and thisTab.estimated_total_income = #{estimatedTotalIncome}</if>
        <if test="estimatedTotalCost != null "> and thisTab.estimated_total_cost = #{estimatedTotalCost}</if>
        <if test="estimatedProfit != null "> and thisTab.estimated_profit = #{estimatedProfit}</if>
        <if test="electronicLock != null  and electronicLock != ''"> and thisTab.electronic_lock = #{electronicLock}</if>
        <if test="reWeighingWeight != null "> and thisTab.re_weighing_weight = #{reWeighingWeight}</if>
        <if test="quantity != null "> and thisTab.quantity = #{quantity}</if>
        <if test="actualDepartureTimeBegin != null and actualDepartureTimeBegin != '' and actualDepartureTimeEnd != null and actualDepartureTimeEnd != ''"> and  thisTab.actual_departure_time between #{actualDepartureTimeBegin} and #{actualDepartureTimeEnd}</if>
        <if test="requiredArrivalTimeBegin != null and requiredArrivalTimeBegin != '' and requiredArrivalTimeEnd != null and requiredArrivalTimeEnd != ''"> and  thisTab.required_arrival_time between #{requiredArrivalTimeBegin} and #{requiredArrivalTimeEnd}</if>
        <if test="actualArrivalTimeBegin != null and actualArrivalTimeBegin != '' and actualArrivalTimeEnd != null and actualArrivalTimeEnd != ''"> and  thisTab.actual_arrival_time between #{actualArrivalTimeBegin} and #{actualArrivalTimeEnd}</if>
        <if test="beReturn != null  and beReturn != ''"> and thisTab.be_return = #{beReturn}</if>
        <if test="dispatchQuantity != null "> and thisTab.dispatch_quantity = #{dispatchQuantity}</if>
        <if test="dispatchWeight != null "> and thisTab.dispatch_weight = #{dispatchWeight}</if>
        <if test="dispatchVolume != null "> and thisTab.dispatch_volume = #{dispatchVolume}</if>
        <if test="emptyMileage != null "> and thisTab.empty_mileage = #{emptyMileage}</if>
        <if test="emptyFuel != null "> and thisTab.empty_fuel = #{emptyFuel}</if>
        <if test="heavyMileage != null "> and thisTab.heavy_mileage = #{heavyMileage}</if>
        <if test="heavyFuel != null "> and thisTab.heavy_fuel = #{heavyFuel}</if>
        <if test="beScheduled != null  and beScheduled != ''"> and thisTab.be_scheduled = #{beScheduled}</if>
        <if test="trackingNo != null  and trackingNo != ''"> and thisTab.tracking_no = #{trackingNo}</if>
        <if test="sealNo != null  and sealNo != ''"> and thisTab.seal_no = #{sealNo}</if>
        <if test="scheduleNo != null  and scheduleNo != ''"> and thisTab.schedule_no = #{scheduleNo}</if>
        <if test="transportStatus != null  and transportStatus != ''"> and thisTab.transport_status = #{transportStatus}</if>
        <if test="estimatedBillId != null  and estimatedBillId != ''"> and thisTab.estimated_bill_id = #{estimatedBillId}</if>
        <if test="settlementBillId != null  and settlementBillId != ''"> and thisTab.settlement_bill_id = #{settlementBillId}</if>
        <if test="settlementStatus != null  and settlementStatus != ''"> and thisTab.settlement_status = #{settlementStatus}</if>
    </sql>
    <!--查询-->
    <select id="selectPendingSettlementBusinessById" parameterType="Integer" resultMap="PendingSettlementBusinessResult">
        <include refid="selectPendingSettlementBusinessVo"/>
        where id = #{id}
    </select>
    <select id="selectPendingSettlementBusinessCount" parameterType="com.ruoyi.cwgl.domain.PendingSettlementBusiness" resultType="int">
        <include refid="selectPendingSettlementBusinessVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectPendingSettlementBusinessList" parameterType="com.ruoyi.cwgl.domain.PendingSettlementBusiness" resultMap="PendingSettlementBusinessResult">
        <include refid="selectPendingSettlementBusinessVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertPendingSettlementBusiness" parameterType="com.ruoyi.cwgl.domain.PendingSettlementBusiness"  useGeneratedKeys="true" keyProperty="id">
        insert into pending_settlement_business
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="bookingNo != null">booking_no,</if>
            <if test="customerId != null">customer_id,</if>
            <if test="carrierId != null">carrier_id,</if>
            <if test="projectName != null">project_name,</if>
            <if test="dispatchNo != null and dispatchNo != ''">dispatch_no,</if>
            <if test="createdTime != null">created_time,</if>
            <if test="transportMode != null">transport_mode,</if>
            <if test="productId != null">product_id,</if>
            <if test="customerName != null">customer_name,</if>
            <if test="operationMode != null">operation_mode,</if>
            <if test="carrierName != null">carrier_name,</if>
            <if test="departureLocation != null">departure_location,</if>
            <if test="arrivalLocation != null">arrival_location,</if>
            <if test="vehicleId != null">vehicle_id,</if>
            <if test="licensePlateNumber != null">license_plate_number,</if>
            <if test="vehicleType != null">vehicle_type,</if>
            <if test="mainDriver != null">main_driver,</if>
            <if test="assistantDriver != null">assistant_driver,</if>
            <if test="pointNum != null">point_num,</if>
            <if test="businessContact != null">business_contact,</if>
            <if test="estimatedTotalIncome != null">estimated_total_income,</if>
            <if test="estimatedTotalCost != null">estimated_total_cost,</if>
            <if test="estimatedProfit != null">estimated_profit,</if>
            <if test="electronicLock != null">electronic_lock,</if>
            <if test="reWeighingWeight != null">re_weighing_weight,</if>
            <if test="quantity != null">quantity,</if>
            <if test="actualDepartureTime != null">actual_departure_time,</if>
            <if test="requiredArrivalTime != null">required_arrival_time,</if>
            <if test="actualArrivalTime != null">actual_arrival_time,</if>
            <if test="beReturn != null">be_return,</if>
            <if test="dispatchQuantity != null">dispatch_quantity,</if>
            <if test="dispatchWeight != null">dispatch_weight,</if>
            <if test="dispatchVolume != null">dispatch_volume,</if>
            <if test="emptyMileage != null">empty_mileage,</if>
            <if test="emptyFuel != null">empty_fuel,</if>
            <if test="heavyMileage != null">heavy_mileage,</if>
            <if test="heavyFuel != null">heavy_fuel,</if>
            <if test="beScheduled != null">be_scheduled,</if>
            <if test="trackingNo != null">tracking_no,</if>
            <if test="sealNo != null">seal_no,</if>
            <if test="scheduleNo != null">schedule_no,</if>
            <if test="transportStatus != null">transport_status,</if>
            <if test="estimatedBillId != null">estimated_bill_id,</if>
            <if test="settlementBillId != null">settlement_bill_id,</if>
            <if test="settlementStatus != null">settlement_status,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateTime != null">update_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="bookingNo != null">#{bookingNo},</if>
            <if test="customerId != null">#{customerId},</if>
            <if test="carrierId != null">#{carrierId},</if>
            <if test="projectName != null">#{projectName},</if>
            <if test="dispatchNo != null and dispatchNo != ''">#{dispatchNo},</if>
            <if test="createdTime != null">#{createdTime},</if>
            <if test="transportMode != null">#{transportMode},</if>
            <if test="productId != null">#{productId},</if>
            <if test="customerName != null">#{customerName},</if>
            <if test="operationMode != null">#{operationMode},</if>
            <if test="carrierName != null">#{carrierName},</if>
            <if test="departureLocation != null">#{departureLocation},</if>
            <if test="arrivalLocation != null">#{arrivalLocation},</if>
            <if test="vehicleId != null">#{vehicleId},</if>
            <if test="licensePlateNumber != null">#{licensePlateNumber},</if>
            <if test="vehicleType != null">#{vehicleType},</if>
            <if test="mainDriver != null">#{mainDriver},</if>
            <if test="assistantDriver != null">#{assistantDriver},</if>
            <if test="pointNum != null">#{pointNum},</if>
            <if test="businessContact != null">#{businessContact},</if>
            <if test="estimatedTotalIncome != null">#{estimatedTotalIncome},</if>
            <if test="estimatedTotalCost != null">#{estimatedTotalCost},</if>
            <if test="estimatedProfit != null">#{estimatedProfit},</if>
            <if test="electronicLock != null">#{electronicLock},</if>
            <if test="reWeighingWeight != null">#{reWeighingWeight},</if>
            <if test="quantity != null">#{quantity},</if>
            <if test="actualDepartureTime != null">#{actualDepartureTime},</if>
            <if test="requiredArrivalTime != null">#{requiredArrivalTime},</if>
            <if test="actualArrivalTime != null">#{actualArrivalTime},</if>
            <if test="beReturn != null">#{beReturn},</if>
            <if test="dispatchQuantity != null">#{dispatchQuantity},</if>
            <if test="dispatchWeight != null">#{dispatchWeight},</if>
            <if test="dispatchVolume != null">#{dispatchVolume},</if>
            <if test="emptyMileage != null">#{emptyMileage},</if>
            <if test="emptyFuel != null">#{emptyFuel},</if>
            <if test="heavyMileage != null">#{heavyMileage},</if>
            <if test="heavyFuel != null">#{heavyFuel},</if>
            <if test="beScheduled != null">#{beScheduled},</if>
            <if test="trackingNo != null">#{trackingNo},</if>
            <if test="sealNo != null">#{sealNo},</if>
            <if test="scheduleNo != null">#{scheduleNo},</if>
            <if test="transportStatus != null">#{transportStatus},</if>
            <if test="estimatedBillId != null">#{estimatedBillId},</if>
            <if test="settlementBillId != null">#{settlementBillId},</if>
            <if test="settlementStatus != null">#{settlementStatus},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateTime != null">#{updateTime},</if>
         </trim>
    </insert>
    <insert id="insertPendingSettlementBusinessBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into pending_settlement_business
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,booking_no,customer_id,carrier_id,project_name,dispatch_no,created_time,transport_mode,product_id,customer_name,operation_mode,carrier_name,departure_location,arrival_location,vehicle_id,license_plate_number,vehicle_type,main_driver,assistant_driver,point_num,business_contact,estimated_total_income,estimated_total_cost,estimated_profit,electronic_lock,re_weighing_weight,quantity,actual_departure_time,required_arrival_time,actual_arrival_time,be_return,dispatch_quantity,dispatch_weight,dispatch_volume,empty_mileage,empty_fuel,heavy_mileage,heavy_fuel,be_scheduled,tracking_no,seal_no,schedule_no,transport_status,estimated_bill_id,settlement_bill_id,settlement_status,create_time,update_time,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.bookingNo},#{item.customerId},#{item.carrierId},#{item.projectName},#{item.dispatchNo},#{item.createdTime},#{item.transportMode},#{item.productId},#{item.customerName},#{item.operationMode},#{item.carrierName},#{item.departureLocation},#{item.arrivalLocation},#{item.vehicleId},#{item.licensePlateNumber},#{item.vehicleType},#{item.mainDriver},#{item.assistantDriver},#{item.pointNum},#{item.businessContact},#{item.estimatedTotalIncome},#{item.estimatedTotalCost},#{item.estimatedProfit},#{item.electronicLock},#{item.reWeighingWeight},#{item.quantity},#{item.actualDepartureTime},#{item.requiredArrivalTime},#{item.actualArrivalTime},#{item.beReturn},#{item.dispatchQuantity},#{item.dispatchWeight},#{item.dispatchVolume},#{item.emptyMileage},#{item.emptyFuel},#{item.heavyMileage},#{item.heavyFuel},#{item.beScheduled},#{item.trackingNo},#{item.sealNo},#{item.scheduleNo},#{item.transportStatus},#{item.estimatedBillId},#{item.settlementBillId},#{item.settlementStatus},#{item.createTime},#{item.updateTime},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updatePendingSettlementBusiness" parameterType="com.ruoyi.cwgl.domain.PendingSettlementBusiness">
        update pending_settlement_business
        <trim prefix="SET" suffixOverrides=",">
            <if test="bookingNo != null">booking_no = #{bookingNo},</if>
            <if test="customerId != null">customer_id = #{customerId},</if>
            <if test="carrierId != null">carrier_id = #{carrierId},</if>
            <if test="projectName != null">project_name = #{projectName},</if>
            <if test="dispatchNo != null and dispatchNo != ''">dispatch_no = #{dispatchNo},</if>
            <if test="createdTime != null">created_time = #{createdTime},</if>
            <if test="transportMode != null">transport_mode = #{transportMode},</if>
            <if test="productId != null">product_id = #{productId},</if>
            <if test="customerName != null">customer_name = #{customerName},</if>
            <if test="operationMode != null">operation_mode = #{operationMode},</if>
            <if test="carrierName != null">carrier_name = #{carrierName},</if>
            <if test="departureLocation != null">departure_location = #{departureLocation},</if>
            <if test="arrivalLocation != null">arrival_location = #{arrivalLocation},</if>
            <if test="vehicleId != null">vehicle_id = #{vehicleId},</if>
            <if test="licensePlateNumber != null">license_plate_number = #{licensePlateNumber},</if>
            <if test="vehicleType != null">vehicle_type = #{vehicleType},</if>
            <if test="mainDriver != null">main_driver = #{mainDriver},</if>
            <if test="assistantDriver != null">assistant_driver = #{assistantDriver},</if>
            <if test="pointNum != null">point_num = #{pointNum},</if>
            <if test="businessContact != null">business_contact = #{businessContact},</if>
            <if test="estimatedTotalIncome != null">estimated_total_income = #{estimatedTotalIncome},</if>
            <if test="estimatedTotalCost != null">estimated_total_cost = #{estimatedTotalCost},</if>
            <if test="estimatedProfit != null">estimated_profit = #{estimatedProfit},</if>
            <if test="electronicLock != null">electronic_lock = #{electronicLock},</if>
            <if test="reWeighingWeight != null">re_weighing_weight = #{reWeighingWeight},</if>
            <if test="quantity != null">quantity = #{quantity},</if>
            <if test="actualDepartureTime != null">actual_departure_time = #{actualDepartureTime},</if>
            <if test="requiredArrivalTime != null">required_arrival_time = #{requiredArrivalTime},</if>
            <if test="actualArrivalTime != null">actual_arrival_time = #{actualArrivalTime},</if>
            <if test="beReturn != null">be_return = #{beReturn},</if>
            <if test="dispatchQuantity != null">dispatch_quantity = #{dispatchQuantity},</if>
            <if test="dispatchWeight != null">dispatch_weight = #{dispatchWeight},</if>
            <if test="dispatchVolume != null">dispatch_volume = #{dispatchVolume},</if>
            <if test="emptyMileage != null">empty_mileage = #{emptyMileage},</if>
            <if test="emptyFuel != null">empty_fuel = #{emptyFuel},</if>
            <if test="heavyMileage != null">heavy_mileage = #{heavyMileage},</if>
            <if test="heavyFuel != null">heavy_fuel = #{heavyFuel},</if>
            <if test="beScheduled != null">be_scheduled = #{beScheduled},</if>
            <if test="trackingNo != null">tracking_no = #{trackingNo},</if>
            <if test="sealNo != null">seal_no = #{sealNo},</if>
            <if test="scheduleNo != null">schedule_no = #{scheduleNo},</if>
            <if test="transportStatus != null">transport_status = #{transportStatus},</if>
            <if test="estimatedBillId != null">estimated_bill_id = #{estimatedBillId},</if>
            <if test="settlementBillId != null">settlement_bill_id = #{settlementBillId},</if>
            <if test="settlementStatus != null">settlement_status = #{settlementStatus},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updatePendingSettlementBusinessBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update pending_settlement_business
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.bookingNo != null">booking_no = #{item.bookingNo},</if>
                <if test="item.customerId != null">customer_id = #{item.customerId},</if>
                <if test="item.carrierId != null">carrier_id = #{item.carrierId},</if>
                <if test="item.projectName != null">project_name = #{item.projectName},</if>
                <if test="item.dispatchNo != null and item.dispatchNo != ''">dispatch_no = #{item.dispatchNo},</if>
                <if test="item.createdTime != null">created_time = #{item.createdTime},</if>
                <if test="item.transportMode != null">transport_mode = #{item.transportMode},</if>
                <if test="item.productId != null">product_id = #{item.productId},</if>
                <if test="item.customerName != null">customer_name = #{item.customerName},</if>
                <if test="item.operationMode != null">operation_mode = #{item.operationMode},</if>
                <if test="item.carrierName != null">carrier_name = #{item.carrierName},</if>
                <if test="item.departureLocation != null">departure_location = #{item.departureLocation},</if>
                <if test="item.arrivalLocation != null">arrival_location = #{item.arrivalLocation},</if>
                <if test="item.vehicleId != null">vehicle_id = #{item.vehicleId},</if>
                <if test="item.licensePlateNumber != null">license_plate_number = #{item.licensePlateNumber},</if>
                <if test="item.vehicleType != null">vehicle_type = #{item.vehicleType},</if>
                <if test="item.mainDriver != null">main_driver = #{item.mainDriver},</if>
                <if test="item.assistantDriver != null">assistant_driver = #{item.assistantDriver},</if>
                <if test="item.pointNum != null">point_num = #{item.pointNum},</if>
                <if test="item.businessContact != null">business_contact = #{item.businessContact},</if>
                <if test="item.estimatedTotalIncome != null">estimated_total_income = #{item.estimatedTotalIncome},</if>
                <if test="item.estimatedTotalCost != null">estimated_total_cost = #{item.estimatedTotalCost},</if>
                <if test="item.estimatedProfit != null">estimated_profit = #{item.estimatedProfit},</if>
                <if test="item.electronicLock != null">electronic_lock = #{item.electronicLock},</if>
                <if test="item.reWeighingWeight != null">re_weighing_weight = #{item.reWeighingWeight},</if>
                <if test="item.quantity != null">quantity = #{item.quantity},</if>
                <if test="item.actualDepartureTime != null">actual_departure_time = #{item.actualDepartureTime},</if>
                <if test="item.requiredArrivalTime != null">required_arrival_time = #{item.requiredArrivalTime},</if>
                <if test="item.actualArrivalTime != null">actual_arrival_time = #{item.actualArrivalTime},</if>
                <if test="item.beReturn != null">be_return = #{item.beReturn},</if>
                <if test="item.dispatchQuantity != null">dispatch_quantity = #{item.dispatchQuantity},</if>
                <if test="item.dispatchWeight != null">dispatch_weight = #{item.dispatchWeight},</if>
                <if test="item.dispatchVolume != null">dispatch_volume = #{item.dispatchVolume},</if>
                <if test="item.emptyMileage != null">empty_mileage = #{item.emptyMileage},</if>
                <if test="item.emptyFuel != null">empty_fuel = #{item.emptyFuel},</if>
                <if test="item.heavyMileage != null">heavy_mileage = #{item.heavyMileage},</if>
                <if test="item.heavyFuel != null">heavy_fuel = #{item.heavyFuel},</if>
                <if test="item.beScheduled != null">be_scheduled = #{item.beScheduled},</if>
                <if test="item.trackingNo != null">tracking_no = #{item.trackingNo},</if>
                <if test="item.sealNo != null">seal_no = #{item.sealNo},</if>
                <if test="item.scheduleNo != null">schedule_no = #{item.scheduleNo},</if>
                <if test="item.transportStatus != null">transport_status = #{item.transportStatus},</if>
                <if test="item.estimatedBillId != null">estimated_bill_id = #{item.estimatedBillId},</if>
                <if test="item.settlementBillId != null">settlement_bill_id = #{item.settlementBillId},</if>
                <if test="item.settlementStatus != null">settlement_status = #{item.settlementStatus},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deletePendingSettlementBusinessById" parameterType="Integer">
        delete from pending_settlement_business where id = #{id}
    </delete>
    <delete id="deletePendingSettlementBusinessByIds" parameterType="Integer">
        delete from pending_settlement_business where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
ui/admin-ui3/src/api/cwgl/pendingSettlementBusiness.ts
New file
@@ -0,0 +1,67 @@
import request,{download,requestType} from "@/utils/request";
import {BaseEntityInterface} from "@/utils/globalInterface";
export interface PendingSettlementBusinessI extends BaseEntityInterface{
            id ?:  number   ,            bookingNo ?:  string   ,            customerId ?:  string   ,            carrierId ?:  string   ,            projectName ?:  string   ,            dispatchNo ?:  string   ,            createdTime ?:  string   ,            transportMode ?:  string   ,            productId ?:  string   ,            customerName ?:  string   ,            operationMode ?:  string   ,            carrierName ?:  string   ,            departureLocation ?:  string   ,            arrivalLocation ?:  string   ,            vehicleId ?:  string   ,            licensePlateNumber ?:  string   ,            vehicleType ?:  string   ,            mainDriver ?:  string   ,            assistantDriver ?:  string   ,            pointNum ?:  number   ,            businessContact ?:  string   ,            estimatedTotalIncome ?:  string   ,            estimatedTotalCost ?:  string   ,            estimatedProfit ?:  string   ,            electronicLock ?:  string   ,            reWeighingWeight ?:  string   ,            quantity ?:  number   ,            actualDepartureTime ?:  string   ,            requiredArrivalTime ?:  string   ,            actualArrivalTime ?:  string   ,            beReturn ?:  string   ,            dispatchQuantity ?:  number   ,            dispatchWeight ?:  string   ,            dispatchVolume ?:  string   ,            emptyMileage ?:  string   ,            emptyFuel ?:  string   ,            heavyMileage ?:  string   ,            heavyFuel ?:  string   ,            beScheduled ?:  string   ,            trackingNo ?:  string   ,            sealNo ?:  string   ,            scheduleNo ?:  string   ,            transportStatus ?:  string   ,            estimatedBillId ?:  string   ,            settlementBillId ?:  string   ,            settlementStatus ?:  string   ,            createTime ?:  string   ,            updateTime ?:  string       }
/**
 * 查询待入账业务列表
 */
export const listPendingSettlementBusiness:requestType = (query) => {
    return request({
        url: '/cwgl/pendingSettlementBusiness/list',
        method:'get',
        params:query
    })
}
/**
 * 查询待入账业务详细
 */
export const getPendingSettlementBusiness:requestType = (id) => {
    return request({
        url: '/cwgl/pendingSettlementBusiness/' + id,
        method:'get'
    })
}
/**
 * 新增待入账业务
 */
export const addPendingSettlementBusiness:requestType = (data) => {
    return request({
        url: '/cwgl/pendingSettlementBusiness',
        method: 'post',
        data
    })
}
/**
 * 修改待入账业务
 */
export const updatePendingSettlementBusiness:requestType = (data) => {
    return request({
        url: '/cwgl/pendingSettlementBusiness',
        method: 'put',
        data
    })
}
/**
 * 删除待入账业务
 */
export const delPendingSettlementBusiness:requestType = (id) => {
    return request({
        url: '/cwgl/pendingSettlementBusiness/' + id,
        method: 'delete'
    })
}
/**
 * 导出待入账业务
 */
export const exportPendingSettlementBusiness:requestType = (query) => {
    return new Promise<any>(()=>{
        download('/cwgl/pendingSettlementBusiness/export',query);
    })
}
ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue
New file
@@ -0,0 +1,268 @@
<template>
  <basicContainer >
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
        :data="tableData"
        :page="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crudRef"
        @row-update="rowUpdate"
        @row-save="rowSave"
        @refresh-change="refreshChange"
        @row-del="rowDel"
        @search-change="searchChange"
        @search-reset="searchReset"
        @selection-change="selectionChange"
        @current-change="currentChange"
        @size-change="sizeChange"
        @on-load="onLoad"
    >
      <template #menu-left>
        <el-button
            type="success"
            icon="Edit"
            :disabled="pageF.single"
            v-hasPermi="['cwgl:pendingSettlementBusiness:edit']"
            @click="handleUpdate">修改
        </el-button>
        <el-button
            type="danger"
            icon="Delete"
            :disabled="pageF.multiple"
            @click="handleDelete"
            v-hasPermi="['cwgl:pendingSettlementBusiness:remove']"
        >删除
        </el-button>
        <el-button
            type="warning"
            plain
            icon="Download"
            @click="handleExport"
            v-hasPermi="['cwgl:pendingSettlementBusiness:export']"
        >导出
        </el-button>
      </template>
    </avue-crud>
  </basicContainer>
</template>
<script setup name="pendingSettlementBusiness" lang="ts">
  import {PendingSettlementBusinessI,addPendingSettlementBusiness, delPendingSettlementBusiness, exportPendingSettlementBusiness, getPendingSettlementBusiness, listPendingSettlementBusiness, updatePendingSettlementBusiness} from "@/api/cwgl/pendingSettlementBusiness";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["cwgl:pendingSettlementBusiness:add"]),
      delBtn: hasPermission(["cwgl:pendingSettlementBusiness:remove"]),
      editBtn: hasPermission(["cwgl:pendingSettlementBusiness:edit"]),
      viewBtn: hasPermission(["cwgl:pendingSettlementBusiness:query"]),
    }
  })
  const data = reactive({
    form:<PendingSettlementBusinessI>{},
    queryParams:<PendingSettlementBusinessI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'PendingSettlementBusiness',
    rowKey: 'id',
    column: {
                                id: {
          label: 'ID',
                            },
                                bookingNo: {
          label: '客户订单号',
                            },
                                customerId: {
          label: '客户id',
                            },
                                carrierId: {
          label: '承运商id',
                            },
                                projectName: {
          label: '项目名称',
                            },
                                dispatchNo: {
          label: '调度单号',
                                rules: [
              {
                required: true,
                message: "调度单号不能为空", trigger: "blur" }
            ],                  },
                                createdTime: {
          label: '下单时间',
                            },
                                transportMode: {
          label: '运输方式',
                            },
                                productId: {
          label: '服务产品',
                            },
                                customerName: {
          label: '客户名称',
                            },
                                operationMode: {
          label: '运营模式',
                            },
                                carrierName: {
          label: '承运商',
                            },
                                departureLocation: {
          label: '出发地',
                            },
                                arrivalLocation: {
          label: '目的地',
                            },
                                vehicleId: {
          label: '运输工具ID',
                            },
                                licensePlateNumber: {
          label: '车牌',
                            },
                                vehicleType: {
          label: '车型',
                            },
                                mainDriver: {
          label: '主驾驶员',
                            },
                                assistantDriver: {
          label: '副驾驶员',
                            },
                                pointNum: {
          label: '提送货点数',
                            },
                                businessContact: {
          label: '业务联系人',
                            },
                                estimatedTotalIncome: {
          label: '预估总收入',
                            },
                                estimatedTotalCost: {
          label: '预估总成本',
                            },
                                estimatedProfit: {
          label: '预估利润',
                            },
                                electronicLock: {
          label: '电子锁',
                            },
                                reWeighingWeight: {
          label: '复磅重量',
                            },
                                quantity: {
          label: '件数',
                            },
                                actualDepartureTime: {
          label: '实际出发时间',
                            },
                                requiredArrivalTime: {
          label: '要求到达时间',
                            },
                                actualArrivalTime: {
          label: '实际到达时间',
                            },
                                beReturn: {
          label: '是否回程',
                            },
                                dispatchQuantity: {
          label: '实发件数',
                            },
                                dispatchWeight: {
          label: '实发重量',
                            },
                                dispatchVolume: {
          label: '实发体积(立方)',
                            },
                                emptyMileage: {
          label: '空载里程',
                            },
                                emptyFuel: {
          label: '空载油耗',
                            },
                                heavyMileage: {
          label: '重载里程',
                            },
                                heavyFuel: {
          label: '重载油耗',
                            },
                                beScheduled: {
          label: '是否按班次',
                            },
                                trackingNo: {
          label: '快递单号',
                            },
                                sealNo: {
          label: '铅封号',
                            },
                                scheduleNo: {
          label: '班次号',
                            },
                                transportStatus: {
          label: '运输状态',
                            },
                                estimatedBillId: {
          label: '预估账单ID',
                            },
                                settlementBillId: {
          label: '结算账单ID',
                            },
                                settlementStatus: {
          label: '结算状态',
                            },
                                createTime: {
          label: '创建时间',
                                rules: [
              {
                required: true,
                message: "创建时间不能为空", trigger: "blur" }
            ],                  },
                                updateTime: {
          label: '更新时间',
                                rules: [
              {
                required: true,
                message: "更新时间不能为空", trigger: "blur" }
            ]                  },
          }
  })
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listPendingSettlementBusiness,
    getDetailApi:getPendingSettlementBusiness,
    exportApi:exportPendingSettlementBusiness,
    deleteApi:delPendingSettlementBusiness,
    addApi:addPendingSettlementBusiness,
    updateApi:updatePendingSettlementBusiness,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    }
  })
</script>