From b62f5881e2d0976738c38fd373ede43d92c32cbf Mon Sep 17 00:00:00 2001 From: wujianwei <wjw@11.com> Date: 星期四, 07 八月 2025 10:22:29 +0800 Subject: [PATCH] 新增待入账明细前后端 --- ui/admin-ui3/src/api/cwgl/pendingSettlementBusiness.ts | 67 ++ service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java | 356 +++++++++++++ ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue | 268 ++++++++++ service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java | 87 +++ service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java | 108 ++++ service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java | 182 +++++++ service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml | 371 ++++++++++++++ service/src/main/java/com/ruoyi/cwgl/service/IPendingSettlementBusinessService.java | 102 +++ 8 files changed, 1,541 insertions(+), 0 deletions(-) diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java b/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java new file mode 100644 index 0000000..47c07c8 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java @@ -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; + +/** + * 寰呭叆璐︿笟鍔ontroller + * + * @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)); + } +} diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java b/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java new file mode 100644 index 0000000..223ca5d --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java @@ -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; + + + /** 鎵胯繍鍟唅d */ + @Excel(name = "鎵胯繍鍟唅d") + + @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; + + +} diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java new file mode 100644 index 0000000..aab25fa --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java @@ -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; + + +/** + * 寰呭叆璐︿笟鍔apper鎺ュ彛 + * + * @author ruoyi + * @date 2025-08-07 + */ +public interface PendingSettlementBusinessMapper extends BaseMapper<PendingSettlementBusiness> +{ + /** + * 鏌ヨ寰呭叆璐︿笟鍔� + * + * @param id 寰呭叆璐︿笟鍔D + * @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 寰呭叆璐︿笟鍔D + * @return 缁撴灉 + */ + public int deletePendingSettlementBusinessById(Integer id); + + /** + * 鎵归噺鍒犻櫎寰呭叆璐︿笟鍔� + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deletePendingSettlementBusinessByIds(Integer[] ids); +} diff --git a/service/src/main/java/com/ruoyi/cwgl/service/IPendingSettlementBusinessService.java b/service/src/main/java/com/ruoyi/cwgl/service/IPendingSettlementBusinessService.java new file mode 100644 index 0000000..e52250a --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/service/IPendingSettlementBusinessService.java @@ -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; +/** + * 寰呭叆璐︿笟鍔ervice鎺ュ彛 + * + * @author ruoyi + * @date 2025-08-07 + */ +public interface IPendingSettlementBusinessService extends IService<PendingSettlementBusiness> +{ + /** + * 鏌ヨ寰呭叆璐︿笟鍔� + * + * @param id 寰呭叆璐︿笟鍔D + * @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 寰呭叆璐︿笟鍔D + * @return 缁撴灉 + */ + public int deletePendingSettlementBusinessById(Integer id); +} diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java new file mode 100644 index 0000000..385875d --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java @@ -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; + +/** + * 寰呭叆璐︿笟鍔ervice涓氬姟灞傚鐞� + * + * @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 寰呭叆璐︿笟鍔D + * @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 寰呭叆璐︿笟鍔D + * @return 缁撴灉 + */ + @Override + public int deletePendingSettlementBusinessById(Integer id) + { + return pendingSettlementBusinessMapper.deletePendingSettlementBusinessById(id); + } +} diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml new file mode 100644 index 0000000..55c70ec --- /dev/null +++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml @@ -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> \ No newline at end of file diff --git a/ui/admin-ui3/src/api/cwgl/pendingSettlementBusiness.ts b/ui/admin-ui3/src/api/cwgl/pendingSettlementBusiness.ts new file mode 100644 index 0000000..4942d23 --- /dev/null +++ b/ui/admin-ui3/src/api/cwgl/pendingSettlementBusiness.ts @@ -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); + }) +} diff --git a/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue b/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue new file mode 100644 index 0000000..5951eda --- /dev/null +++ b/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue @@ -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: '鎵胯繍鍟唅d', + }, + 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> -- Gitblit v1.8.0