Browse Source

优化 海运价 判断规则,优化车队修改需求

阿伏兔 4 years ago
parent
commit
4788a4154a
26 changed files with 508 additions and 531 deletions
  1. 2 6
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/basicData/TCorpsController.java
  2. 17 9
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/quotation/TSeapriceController.java
  3. 8 3
      ruoyi-admin/src/main/resources/application.yml
  4. 37 0
      ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/domain/FTmsaccbillsFees.java
  5. 5 7
      ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/domain/FTmsaccbillsitems.java
  6. 8 0
      ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/mapper/FTmsaccbillsitemsMapper.java
  7. 3 9
      ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/service/impl/FTmsaccbillsServiceImpl.java
  8. 130 272
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/VehicleLedgerExcel.java
  9. 7 2
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/mapper/FtmsorderbillscarsMapper.java
  10. 24 14
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java
  11. 50 51
      ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsMapper.xml
  12. 35 1
      ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsitemsMapper.xml
  13. 52 109
      ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillscarsMapper.xml
  14. 1 0
      ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillsfeesMapper.xml
  15. 1 1
      ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/ITCorpsService.java
  16. 1 20
      ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TCorpsServiceImpl.java
  17. 24 0
      ruoyi-warehouse/src/main/java/com/ruoyi/quotation/domain/TSeaprice.java
  18. 11 0
      ruoyi-warehouse/src/main/java/com/ruoyi/quotation/domain/TSeapriceitem.java
  19. 1 1
      ruoyi-warehouse/src/main/java/com/ruoyi/quotation/mapper/TSeapriceMapper.java
  20. 7 0
      ruoyi-warehouse/src/main/java/com/ruoyi/quotation/mapper/TSeapriceitemMapper.java
  21. 7 1
      ruoyi-warehouse/src/main/java/com/ruoyi/quotation/service/ITSeapriceService.java
  22. 53 14
      ruoyi-warehouse/src/main/java/com/ruoyi/quotation/service/impl/TSeapriceServiceImpl.java
  23. 1 1
      ruoyi-warehouse/src/main/resources/mapper/basicData/TCorpsMapper.xml
  24. 17 7
      ruoyi-warehouse/src/main/resources/mapper/quotation/TSeapriceMapper.xml
  25. 5 1
      ruoyi-warehouse/src/main/resources/mapper/quotation/TSeapriceitemMapper.xml
  26. 1 2
      ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

+ 2 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/basicData/TCorpsController.java

@@ -8,15 +8,11 @@ import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.framework.web.service.TokenService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -119,8 +115,8 @@ public class TCorpsController extends BaseController {
     @Log(title = "客户详情", businessType = BusinessType.UPDATE)
     @PutMapping
     @RepeatSubmit
-    public AjaxResult edit(@RequestParam("corps") String tCorps, @RequestParam("attach") String attach) {
-        return tCorpsService.updateTCorps(tCorps, attach);
+    public AjaxResult edit(@RequestBody TCorps tCorps) {
+        return tCorpsService.updateTCorps(tCorps);
     }
 
     /**

+ 17 - 9
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/quotation/TSeapriceController.java

@@ -13,7 +13,6 @@ import com.ruoyi.quotation.service.ITSeapriceService;
 import com.ruoyi.system.domain.SysCheckCode;
 import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -60,7 +59,7 @@ public class TSeapriceController extends BaseController
     /**
      * 查询海运报价列表信息
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:list')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:list')")
     @GetMapping("/query")
     public TableDataInfo queryItem(TSeaprice tSeaprice)
     {
@@ -70,9 +69,18 @@ public class TSeapriceController extends BaseController
     }
 
     /**
+     *  查询app 必要的基础资料
+     * @return
+     */
+    @GetMapping("/appBasicInformation")
+    public AjaxResult getAppBasicInformation() {
+        return tSeapriceService.getAppBasicInformation();
+    }
+
+    /**
      * 导出海运价主列表
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:export')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:export')")
     @Log(title = "海运价主", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult export(TSeaprice tSeaprice)
@@ -85,7 +93,7 @@ public class TSeapriceController extends BaseController
     /**
      * 获取海运价主详细信息
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:query')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:query')")
     @GetMapping(value = "/{fId}")
     public AjaxResult getInfo(@PathVariable("fId") Long fId)
     {
@@ -135,7 +143,7 @@ public class TSeapriceController extends BaseController
     /**
      * 保存海运价主
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:add')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:add')")
     @Log(title = "海运价主", businessType = BusinessType.INSERT)
     @PostMapping("/saveSeaprice")
     @RepeatSubmit
@@ -152,7 +160,7 @@ public class TSeapriceController extends BaseController
     /**
      * 新增海运价主
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:add')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:add')")
     @Log(title = "海运价主", businessType = BusinessType.INSERT)
     @PostMapping("/addSeaprice")
     @RepeatSubmit
@@ -169,7 +177,7 @@ public class TSeapriceController extends BaseController
     /**
      * 修改海运价主
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:edit')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:edit')")
     @Log(title = "海运价主", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody TSeaprice tSeaprice)
@@ -180,11 +188,11 @@ public class TSeapriceController extends BaseController
     /**
      * 删除海运价主
      */
-    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:remove')")
+//    @PreAuthorize("@ss.hasPermi('warehouse:seaprice:remove')")
     @Log(title = "海运价主", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{fIds}")
     public AjaxResult remove(@PathVariable Long[] fIds)
     {
-        return toAjax(tSeapriceService.deleteTSeapriceByIds(fIds));
+        return tSeapriceService.deleteTSeapriceByIds(fIds);
     }
 }

+ 8 - 3
ruoyi-admin/src/main/resources/application.yml

@@ -87,9 +87,14 @@ wechat:
     # 微信公众号token有效时间(天)
     expireTime: 7200
     # 微信公众号的应用id
-    appId:  wx85e10d1b0cc19a77
+    appId:  wx2fda0438d280bd40
+#    appId:  wx85e10d1b0cc19a77
     # 密钥      公众号密钥 a9cc9b497e2d077f6b4a1b54e0817fb3
-    secret: f646cebf205cc0274e01bae898b266ea
+    secret: a9cc9b497e2d077f6b4a1b54e0817fb3
+#    secret: f646cebf205cc0274e01bae898b266ea
+    # 密钥      模板id
+    # PkeerRaAwBYrwvvrbKrXiGzYok0tehLa9huVxQ6vkco
+    templateId: 9ZTvMwwbvOL9Sy245oBJtrB9jfGOLLmsntzPvJ_dYfg
     # 获取基础access_token的接口
     accessTokenUrl:  https://api.weixin.qq.com/cgi-bin/token
     # 创建菜单的接口
@@ -130,7 +135,7 @@ token:
     # 令牌密钥
     secret: abcdefghijklmnopqrstuvwxyz
     # 令牌有效期(默认30分钟)
-    expireTime: 360
+    expireTime: 600
     # 微信令牌有效期(默认7天)
     wechatExpireTime: 7
 

+ 37 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/domain/FTmsaccbillsFees.java

@@ -3,6 +3,7 @@ package com.ruoyi.orderManagement.finance.domain;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.annotation.Excel;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -103,6 +104,10 @@ public class FTmsaccbillsFees {
         this.timeExamine = timeExamine;
     }
 
+    /**
+     *  接单日期区间
+     */
+    public List<String> acceptDateList;
 
     /**
      * 查询时间区间 对账日期
@@ -240,4 +245,36 @@ public class FTmsaccbillsFees {
     public void setfBilltype(String fBilltype) {
         this.fBilltype = fBilltype;
     }
+
+    public List<String> getAcceptDateList() {
+        return acceptDateList;
+    }
+
+    public void setAcceptDateList(List<String> acceptDateList) {
+        this.acceptDateList = acceptDateList;
+    }
+
+    @Override
+    public String toString() {
+        return "FTmsaccbillsFees{" +
+                "fCorpid=" + fCorpid +
+                ", fToCorpid=" + fToCorpid +
+                ", fMblno='" + fMblno + '\'' +
+                ", fDc='" + fDc + '\'' +
+                ", fFeeid=" + Arrays.toString(fFeeid) +
+                ", fBsdate=" + fBsdate +
+                ", fAccbilldate=" + fAccbilldate +
+                ", fStatementNo='" + fStatementNo + '\'' +
+                ", fReconciliation='" + fReconciliation + '\'' +
+                ", fBillstatus='" + fBillstatus + '\'' +
+                ", fMarks='" + fMarks + '\'' +
+                ", fProductName='" + fProductName + '\'' +
+                ", fBusinessType=" + Arrays.toString(fBusinessType) +
+                ", fBilltype='" + fBilltype + '\'' +
+                ", timeExamine=" + timeExamine +
+                ", acceptDateList=" + acceptDateList +
+                ", timeReconci=" + timeReconci +
+                ", timeInterval=" + timeInterval +
+                '}';
+    }
 }

+ 5 - 7
ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/domain/FTmsaccbillsitems.java

@@ -1,12 +1,10 @@
 package com.ruoyi.orderManagement.finance.domain;
 
-import java.math.BigDecimal;
-
-import lombok.Data;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
 
 /**
  * 财务明细对象 F_TMSACCBILLSITEMS
@@ -42,9 +40,9 @@ public class FTmsaccbillsitems extends BaseEntity {
     private Long fSrcid;
 
     /**
-     * orderbillsplans表
+     * 运单号
      */
-    @Excel(name = "orderbillsplans表")
+    @Excel(name = "运单号")
     private String orderNo;
 
     /**

+ 8 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/mapper/FTmsaccbillsitemsMapper.java

@@ -4,6 +4,7 @@ import com.ruoyi.orderManagement.finance.domain.FTmsaccbillsitems;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -65,4 +66,11 @@ public interface FTmsaccbillsitemsMapper
     int deleteByFPid(Long fId);
 
     int tfeeDoFollowUpdate(@Param("fPid") Long fPid, @Param("fettle") Long fettle);
+
+    /**
+     *  查询财务明细数据
+     * @param id    明细id
+     * @return  结果
+     */
+    public List<Map<String, Object>> selectItemsMapById(Long id);
 }

+ 3 - 9
ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/service/impl/FTmsaccbillsServiceImpl.java

@@ -7,10 +7,8 @@ import com.ruoyi.basicData.domain.TFees;
 import com.ruoyi.basicData.mapper.TCorpsMapper;
 import com.ruoyi.basicData.mapper.TFeesMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.orderManagement.finance.domain.FTmsaccbills;
@@ -19,11 +17,8 @@ import com.ruoyi.orderManagement.finance.domain.FTmsaccbillsitems;
 import com.ruoyi.orderManagement.finance.mapper.FTmsaccbillsMapper;
 import com.ruoyi.orderManagement.finance.mapper.FTmsaccbillsitemsMapper;
 import com.ruoyi.orderManagement.finance.service.IFTmsaccbillsService;
-import com.ruoyi.orderPlan.domain.Ftmsorderbills;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillscars;
 import com.ruoyi.orderPlan.mapper.FtmsorderbillsMapper;
 import com.ruoyi.orderPlan.mapper.FtmsorderbillscarsMapper;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillsfees;
 import com.ruoyi.orderPlan.mapper.FtmsorderbillsfeesMapper;
 import com.ruoyi.system.service.ISysDictDataService;
 import com.ruoyi.warehouseBusiness.domain.BillnoDel;
@@ -87,10 +82,9 @@ public class FTmsaccbillsServiceImpl implements IFTmsaccbillsService {
             corpsId.add(fTmsaccbills.getfCorpid());
         }
         // 查询从表数据
-        FTmsaccbillsitems fTmsaccbillsitems = new FTmsaccbillsitems();
+        /*FTmsaccbillsitems fTmsaccbillsitems = new FTmsaccbillsitems();
         fTmsaccbillsitems.setFPid(fId);
         List<FTmsaccbillsitems> fTmsaccbillsitemsList = fTmsaccbillsitemsMapper.selectFTmsaccbillsitemsList(fTmsaccbillsitems);
-        List<Map<String, Object>> feeDoList = new ArrayList<>();
         if (StringUtils.isNotEmpty(fTmsaccbillsitemsList)) {
             for (FTmsaccbillsitems fees : fTmsaccbillsitemsList) {
                 Map<String, Object> map1 = new HashMap<>();
@@ -141,7 +135,7 @@ public class FTmsaccbillsServiceImpl implements IFTmsaccbillsService {
                 map1.put("unLoadDate", ftmsorderbills.getUnLoadDate()); //计费截止日期
                 feeDoList.add(map1);
             }
-        }
+        }*/
         List<TCorps> corpsList = new ArrayList<>();
         List<Long> corpsIdList = StringUtils.integerDeduplication(corpsId);
         for (Long corpId : corpsIdList) {
@@ -161,7 +155,7 @@ public class FTmsaccbillsServiceImpl implements IFTmsaccbillsService {
         map.put("tFee", fTmsaccbills);
         map.put("corps", corpsList);
         map.put("feesList", feesList);
-        map.put("feeDoList", feeDoList);
+        map.put("feeDoList", fTmsaccbillsitemsMapper.selectItemsMapById(fId));
         return map;
     }
 

+ 130 - 272
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/VehicleLedgerExcel.java

@@ -12,98 +12,59 @@ public class VehicleLedgerExcel {
 
     private Long id;
 
-    @Excel(name = "提单号")
-    private String mblno;
+    @Excel(name = "车牌号")
+    private String carregNo;
 
-    @Excel(name = "装卸日期")
-    private String mdLoadDate;
+    @Excel(name = "运单号")
+    private String orderNo;
 
-    @Excel(name = "贸易方式")
-    private String billType;
+    @Excel(name = "接单日期")
+    private String acceptDate;
 
-    @Excel(name = "运输方式")
-    private String transType;
+    @Excel(name = "运输性质")
+    private String billType;
 
-    @Excel(name = "托运人")
-    private String corpId;
+    @Excel(name = "进口提单号")
+    private String inMblno;
 
-    @Excel(name = "船名")
-    private String ysl;
+    @Excel(name = "提箱地点")
+    private String loadAddr;
 
-    @Excel(name = "航次")
-    private String voy;
+    @Excel(name = "卸货地点")
+    private String mdLoadAddr;
 
-    @Excel(name = "量")
+    @Excel(name = "量")
     private Long cntrQty;
 
-    @Excel(name = "柜型")
+    @Excel(name = "箱形")
     private String cntrId;
 
-    @Excel(name = "品名")
-    private String goodsId;
-
-    @Excel(name = "重量")
-    private BigDecimal cntrWeight;
-
-    @Excel(name = "起运港")
-    private String polId;
+    @Excel(name = "船名航次")
+    private String boxVolume;
 
-    @Excel(name = "目的港")
-    private String podId;
-
-    @Excel(name = "提箱场站")
-    private String loadAddr;
-
-    @Excel(name = "装货地")
-    private String mdLoadAddr;
-
-    @Excel(name = "卸货地")
-    private String unLoadAddr;
-
-    @Excel(name = "车号")
-    private String carregNo;
+    @Excel(name = "出口提单号")
+    private String outMblno;
 
     @Excel(name = "司机")
     private String driverName;
 
-    @Excel(name = "运单号")
-    private String orderNo;
-
-    @Excel(name = "司机电话")
-    private String driverTel;
+    @Excel(name = "费用名称")
+    private String fleetId;
 
-    @Excel(name = "状态")
-    private String orderName;
+    @Excel(name = "应收运费")
+    private BigDecimal shippingDr;
 
-    @Excel(name = "接单日期")
-    private String acceptDate;
-
-    @Excel(name = "提箱日期")
-    private String loadDate;
-
-    @Excel(name = "还柜日期")
-    private String unLoadDate;
-
-    @Excel(name = "应收结算金额")
-    private BigDecimal amtDr;
-
-    @Excel(name = "应付结算金额")
-    private BigDecimal amtCr;
+    @Excel(name = "应收其他")
+    private BigDecimal otherDr;
 
-    @Excel(name = "已收结算金额")
-    private BigDecimal stlAmtDr;
+    @Excel(name = "应付运费")
+    private BigDecimal shippingCr;
 
-    @Excel(name = "已付结算金额")
-    private BigDecimal stlAmtCr;
+    @Excel(name = "应付其他")
+    private BigDecimal otherCr;
 
-    @Excel(name = "业务利润")
-    private BigDecimal profitBill;
-
-    @Excel(name = "车利润")
-    private BigDecimal profitCar;
-
-    @Excel(name = "单据类型")
-    private String billKind;
+    @Excel(name = "利润")
+    private BigDecimal profit;
 
     /**
      *  检索条件:结算单位
@@ -135,60 +96,41 @@ public class VehicleLedgerExcel {
      */
     private String invStatus;
 
-    public String getBillKind() {
-        return billKind;
-    }
-
-    public void setBillKind(String billKind) {
-        this.billKind = billKind;
-    }
-
-    public Long gettCorpId() {
-        return tCorpId;
-    }
-
-    public void settCorpId(Long tCorpId) {
-        this.tCorpId = tCorpId;
-    }
-
-    public List<String> getAcceptDateList() {
-        return acceptDateList;
-    }
-
-    public void setAcceptDateList(List<String> acceptDateList) {
-        this.acceptDateList = acceptDateList;
-    }
+    /**
+     *  检索条件:主运单号
+     */
+    private String mBillNo;
 
-    public List<String> getAccchkDateList() {
-        return accchkDateList;
+    public Long getId() {
+        return id;
     }
 
-    public void setAccchkDateList(List<String> accchkDateList) {
-        this.accchkDateList = accchkDateList;
+    public void setId(Long id) {
+        this.id = id;
     }
 
-    public String getMblno() {
-        return mblno;
+    public String getCarregNo() {
+        return carregNo;
     }
 
-    public void setMblno(String mblno) {
-        this.mblno = mblno;
+    public void setCarregNo(String carregNo) {
+        this.carregNo = carregNo;
     }
 
-    public Long getId() {
-        return id;
+    public String getOrderNo() {
+        return orderNo;
     }
 
-    public void setId(Long id) {
-        this.id = id;
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
     }
 
-    public String getMdLoadDate() {
-        return mdLoadDate;
+    public String getAcceptDate() {
+        return acceptDate;
     }
 
-    public void setMdLoadDate(String mdLoadDate) {
-        this.mdLoadDate = mdLoadDate;
+    public void setAcceptDate(String acceptDate) {
+        this.acceptDate = acceptDate;
     }
 
     public String getBillType() {
@@ -199,36 +141,28 @@ public class VehicleLedgerExcel {
         this.billType = billType;
     }
 
-    public String getTransType() {
-        return transType;
+    public String getInMblno() {
+        return inMblno;
     }
 
-    public void setTransType(String transType) {
-        this.transType = transType;
+    public void setInMblno(String inMblno) {
+        this.inMblno = inMblno;
     }
 
-    public String getCorpId() {
-        return corpId;
-    }
-
-    public void setCorpId(String corpId) {
-        this.corpId = corpId;
-    }
-
-    public String getYsl() {
-        return ysl;
+    public String getLoadAddr() {
+        return loadAddr;
     }
 
-    public void setYsl(String ysl) {
-        this.ysl = ysl;
+    public void setLoadAddr(String loadAddr) {
+        this.loadAddr = loadAddr;
     }
 
-    public String getVoy() {
-        return voy;
+    public String getMdLoadAddr() {
+        return mdLoadAddr;
     }
 
-    public void setVoy(String voy) {
-        this.voy = voy;
+    public void setMdLoadAddr(String mdLoadAddr) {
+        this.mdLoadAddr = mdLoadAddr;
     }
 
     public Long getCntrQty() {
@@ -247,68 +181,20 @@ public class VehicleLedgerExcel {
         this.cntrId = cntrId;
     }
 
-    public String getGoodsId() {
-        return goodsId;
-    }
-
-    public void setGoodsId(String goodsId) {
-        this.goodsId = goodsId;
-    }
-
-    public BigDecimal getCntrWeight() {
-        return cntrWeight;
-    }
-
-    public void setCntrWeight(BigDecimal cntrWeight) {
-        this.cntrWeight = cntrWeight;
-    }
-
-    public String getPolId() {
-        return polId;
-    }
-
-    public void setPolId(String polId) {
-        this.polId = polId;
-    }
-
-    public String getPodId() {
-        return podId;
-    }
-
-    public void setPodId(String podId) {
-        this.podId = podId;
-    }
-
-    public String getLoadAddr() {
-        return loadAddr;
-    }
-
-    public void setLoadAddr(String loadAddr) {
-        this.loadAddr = loadAddr;
+    public String getBoxVolume() {
+        return boxVolume;
     }
 
-    public String getMdLoadAddr() {
-        return mdLoadAddr;
+    public void setBoxVolume(String boxVolume) {
+        this.boxVolume = boxVolume;
     }
 
-    public void setMdLoadAddr(String mdLoadAddr) {
-        this.mdLoadAddr = mdLoadAddr;
-    }
-
-    public String getUnLoadAddr() {
-        return unLoadAddr;
+    public String getOutMblno() {
+        return outMblno;
     }
 
-    public void setUnLoadAddr(String unLoadAddr) {
-        this.unLoadAddr = unLoadAddr;
-    }
-
-    public String getCarregNo() {
-        return carregNo;
-    }
-
-    public void setCarregNo(String carregNo) {
-        this.carregNo = carregNo;
+    public void setOutMblno(String outMblno) {
+        this.outMblno = outMblno;
     }
 
     public String getDriverName() {
@@ -319,100 +205,76 @@ public class VehicleLedgerExcel {
         this.driverName = driverName;
     }
 
-    public String getOrderNo() {
-        return orderNo;
-    }
-
-    public void setOrderNo(String orderNo) {
-        this.orderNo = orderNo;
+    public String getFleetId() {
+        return fleetId;
     }
 
-    public String getDriverTel() {
-        return driverTel;
+    public void setFleetId(String fleetId) {
+        this.fleetId = fleetId;
     }
 
-    public void setDriverTel(String driverTel) {
-        this.driverTel = driverTel;
+    public BigDecimal getShippingDr() {
+        return shippingDr;
     }
 
-    public String getOrderName() {
-        return orderName;
+    public void setShippingDr(BigDecimal shippingDr) {
+        this.shippingDr = shippingDr;
     }
 
-    public void setOrderName(String orderName) {
-        this.orderName = orderName;
+    public BigDecimal getOtherDr() {
+        return otherDr;
     }
 
-    public String getAcceptDate() {
-        return acceptDate;
+    public void setOtherDr(BigDecimal otherDr) {
+        this.otherDr = otherDr;
     }
 
-    public void setAcceptDate(String acceptDate) {
-        this.acceptDate = acceptDate;
+    public BigDecimal getShippingCr() {
+        return shippingCr;
     }
 
-    public String getLoadDate() {
-        return loadDate;
+    public void setShippingCr(BigDecimal shippingCr) {
+        this.shippingCr = shippingCr;
     }
 
-    public void setLoadDate(String loadDate) {
-        this.loadDate = loadDate;
+    public BigDecimal getOtherCr() {
+        return otherCr;
     }
 
-    public String getUnLoadDate() {
-        return unLoadDate;
+    public void setOtherCr(BigDecimal otherCr) {
+        this.otherCr = otherCr;
     }
 
-    public void setUnLoadDate(String unLoadDate) {
-        this.unLoadDate = unLoadDate;
+    public BigDecimal getProfit() {
+        return profit;
     }
 
-    public BigDecimal getAmtDr() {
-        return amtDr;
+    public void setProfit(BigDecimal profit) {
+        this.profit = profit;
     }
 
-    public void setAmtDr(BigDecimal amtDr) {
-        this.amtDr = amtDr;
-    }
-
-    public BigDecimal getAmtCr() {
-        return amtCr;
-    }
-
-    public void setAmtCr(BigDecimal amtCr) {
-        this.amtCr = amtCr;
-    }
-
-    public BigDecimal getStlAmtDr() {
-        return stlAmtDr;
-    }
-
-    public void setStlAmtDr(BigDecimal stlAmtDr) {
-        this.stlAmtDr = stlAmtDr;
-    }
-
-    public BigDecimal getStlAmtCr() {
-        return stlAmtCr;
+    public Long gettCorpId() {
+        return tCorpId;
     }
 
-    public void setStlAmtCr(BigDecimal stlAmtCr) {
-        this.stlAmtCr = stlAmtCr;
+    public void settCorpId(Long tCorpId) {
+        this.tCorpId = tCorpId;
     }
 
-    public BigDecimal getProfitBill() {
-        return profitBill;
+    public List<String> getAcceptDateList() {
+        return acceptDateList;
     }
 
-    public void setProfitBill(BigDecimal profitBill) {
-        this.profitBill = profitBill;
+    public void setAcceptDateList(List<String> acceptDateList) {
+        this.acceptDateList = acceptDateList;
     }
 
-    public BigDecimal getProfitCar() {
-        return profitCar;
+    public List<String> getAccchkDateList() {
+        return accchkDateList;
     }
 
-    public void setProfitCar(BigDecimal profitCar) {
-        this.profitCar = profitCar;
+    public void setAccchkDateList(List<String> accchkDateList) {
+        this.accchkDateList = accchkDateList;
     }
 
     public String getStlStatus() {
@@ -439,40 +301,36 @@ public class VehicleLedgerExcel {
         this.invStatus = invStatus;
     }
 
+    public String getmBillNo() {
+        return mBillNo;
+    }
+
+    public void setmBillNo(String mBillNo) {
+        this.mBillNo = mBillNo;
+    }
+
     @Override
     public String toString() {
         return "VehicleLedgerExcel{" +
                 "id=" + id +
-                ", mblno='" + mblno + '\'' +
-                ", mdLoadDate='" + mdLoadDate + '\'' +
+                ", carregNo='" + carregNo + '\'' +
+                ", orderNo='" + orderNo + '\'' +
+                ", acceptDate='" + acceptDate + '\'' +
                 ", billType='" + billType + '\'' +
-                ", transType='" + transType + '\'' +
-                ", corpId='" + corpId + '\'' +
-                ", ysl='" + ysl + '\'' +
-                ", voy='" + voy + '\'' +
-                ", cntrQty=" + cntrQty +
-                ", cntrId='" + cntrId + '\'' +
-                ", goodsId='" + goodsId + '\'' +
-                ", cntrWeight=" + cntrWeight +
-                ", polId='" + polId + '\'' +
-                ", podId='" + podId + '\'' +
+                ", inMblno='" + inMblno + '\'' +
                 ", loadAddr='" + loadAddr + '\'' +
                 ", mdLoadAddr='" + mdLoadAddr + '\'' +
-                ", unLoadAddr='" + unLoadAddr + '\'' +
-                ", carregNo='" + carregNo + '\'' +
+                ", cntrQty=" + cntrQty +
+                ", cntrId='" + cntrId + '\'' +
+                ", boxVolume='" + boxVolume + '\'' +
+                ", outMblno='" + outMblno + '\'' +
                 ", driverName='" + driverName + '\'' +
-                ", orderNo='" + orderNo + '\'' +
-                ", driverTel='" + driverTel + '\'' +
-                ", orderName='" + orderName + '\'' +
-                ", acceptDate='" + acceptDate + '\'' +
-                ", loadDate='" + loadDate + '\'' +
-                ", unLoadDate='" + unLoadDate + '\'' +
-                ", amtDr=" + amtDr +
-                ", amtCr=" + amtCr +
-                ", stlAmtDr=" + stlAmtDr +
-                ", stlAmtCr=" + stlAmtCr +
-                ", profitBill=" + profitBill +
-                ", profitCar=" + profitCar +
+                ", fleetId='" + fleetId + '\'' +
+                ", shippingDr=" + shippingDr +
+                ", otherDr=" + otherDr +
+                ", shippingCr=" + shippingCr +
+                ", otherCr=" + otherCr +
+                ", profit=" + profit +
                 ", tCorpId=" + tCorpId +
                 ", acceptDateList=" + acceptDateList +
                 ", accchkDateList=" + accchkDateList +

+ 7 - 2
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/mapper/FtmsorderbillscarsMapper.java

@@ -1,8 +1,6 @@
 package com.ruoyi.orderPlan.mapper;
 
-import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.orderPlan.domain.*;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -221,4 +219,11 @@ public interface FtmsorderbillscarsMapper {
      * @param id
      */
     public void deleteFollowUpBusinessByCarId(Long id);
+
+    /**
+     *  查询从单信息
+     * @param billKind    主单
+     * @return  结果
+     */
+    public Map<String, Object> selectTmsorderbillsCarsByBillKind(String billKind);
 }

+ 24 - 14
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java

@@ -1,11 +1,5 @@
 package com.ruoyi.orderPlan.service.impl;
 
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.basicData.domain.TCorps;
@@ -22,6 +16,7 @@ import com.ruoyi.finance.mapper.TFeeDoMapper;
 import com.ruoyi.framework.web.service.WechatService;
 import com.ruoyi.orderPlan.domain.*;
 import com.ruoyi.orderPlan.mapper.*;
+import com.ruoyi.orderPlan.service.IftmsorderbillscarsService;
 import com.ruoyi.system.mapper.SysRoleMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.mapper.SysUserRoleMapper;
@@ -29,14 +24,17 @@ import com.ruoyi.warehouseBusiness.domain.BillnoDel;
 import com.ruoyi.warehouseBusiness.mapper.BillnoDelMapper;
 import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
 import lombok.extern.slf4j.Slf4j;
-import com.ruoyi.orderPlan.service.IftmsorderbillscarsService;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillsfees;
-import com.ruoyi.orderPlan.mapper.FtmsorderbillsfeesMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 车队派车Service业务层处理
  *
@@ -234,7 +232,15 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
     public Map<String, Object> selectDriver(Ftmsorderbillscars ftmsorderbillscars) {
         Map<String, Object> map = new HashMap<>();
         Long id = ftmsorderbillscars.getId();
-        map.put("cars", ftmsorderbillscarsMapper.selectTmsorderbillsCarsByDriver(id));
+        Map<String, Object> carsMap = ftmsorderbillscarsMapper.selectTmsorderbillsCarsByDriver(id);
+        if (StringUtils.isNotNull(carsMap)) {
+            String billKind = carsMap.get("billKind").toString();
+            if (StringUtils.isNotEmpty(billKind) && "MM".equalsIgnoreCase(billKind)) {
+                String mBillNo = carsMap.get("mBillNo").toString();
+                map.put("carsTable", ftmsorderbillscarsMapper.selectTmsorderbillsCarsByBillKind(mBillNo));
+            }
+        }
+        map.put("cars", carsMap);
         Ftmsorderbillsattachs ftmsorderbillsattachs = new Ftmsorderbillsattachs();
         map.put("feesList", ftmsorderbillsfeesMapper.selectFTmsorderbillsfeesByPId(id));
         ftmsorderbillsattachs.setPId(id);
@@ -513,6 +519,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         if (StringUtils.isNull(tmsorderbillscars)) {
             return AjaxResult.error("未找到运单信息,请确认是否存在该运单");
         }
+        if (!"MH".equals(tmsorderbillscars.getBillKind())) {
+            return AjaxResult.error("该运单不是分单无法撤销");
+        }
         if (tmsorderbillscars.getOrderStatus() > 80L || tmsorderbillscars.getBillStatus() > 6) {
             return AjaxResult.error("该运单已回单或已完成无法撤销配载");
         }
@@ -524,12 +533,12 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         if (ftmsorderbillscars.getOrderStatus() > 80L || ftmsorderbillscars.getBillStatus() > 6) {
             return AjaxResult.error("该运单已回单或已完成无法撤销配载");
         }
-        ftmsorderbillscars.setmBillNo(null);
+        ftmsorderbillscars.setmBillNo(ftmsorderbillscars.getOrderNo());
         ftmsorderbillscars.setBillKind("NN");
         ftmsorderbillscars.setUpdateTime(new Date());
         ftmsorderbillscars.setUpdateBy(SecurityUtils.getUsername());
         ftmsorderbillscarsMapper.updateftmsorderbillscars(ftmsorderbillscars);
-        tmsorderbillscars.setmBillNo(null);
+        tmsorderbillscars.setmBillNo(tmsorderbillscars.getOrderNo());
         tmsorderbillscars.setBillKind("NN");
         tmsorderbillscars.setUpdateTime(new Date());
         tmsorderbillscars.setUpdateBy(SecurityUtils.getUsername());
@@ -562,7 +571,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         if (orderNoCars.getOrderStatus() > 80L) {
             return AjaxResult.error("该配载的运单已回单无法配载");
         }
-        if (!"NN".equals(orderNoCars.getBillKind()) || StringUtils.isNotNull(orderNoCars.getmBillNo())) {
+        if (!"NN".equals(orderNoCars.getBillKind())) {
             return AjaxResult.error("配载失败,所选配载的运单已被配载");
         }
         tmsorderbillscars.setBillKind("MH");
@@ -571,7 +580,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         tmsorderbillscars.setUpdateBy(SecurityUtils.getUsername());
         ftmsorderbillscarsMapper.updateftmsorderbillscars(tmsorderbillscars);
         orderNoCars.setBillKind("MM");
-        orderNoCars.setmBillNo(null);
+        orderNoCars.setmBillNo(orderNoCars.getOrderNo());
         orderNoCars.setUpdateTime(new Date());
         orderNoCars.setUpdateBy(SecurityUtils.getUsername());
         ftmsorderbillscarsMapper.updateftmsorderbillscars(orderNoCars);
@@ -882,6 +891,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         Date time = new Date();
         String billNo = billnoSerialServiceImpl.getSerialNumber("SJLSH", time);
         ftmsorderbillscars.setOrderNo(billNo);
+        ftmsorderbillscars.setmBillNo(billNo);
         ftmsorderbillscars.setMblno(tmsorderbills.getMblno());
         ftmsorderbillscars.setOrgId(ftmsorderbillsplans.getOrgId());
         if (ftmsorderbillsplansMapper.updateftmsorderbillsplans(ftmsorderbillsplans) <= 0) {

+ 50 - 51
ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsMapper.xml

@@ -201,39 +201,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="fTmsaccbillsListAccamount" resultType="java.util.Map">
         SELECT
-            t.id AS fSrcpid,
-            c1.f_name AS fName,
+            t.id fSrcpid,
+            c.f_name fFeesName,
+            car.mblno fMblno,
+            car.order_no orderNo,
+            car.carreg_no carregNo,
+            '对账' billType,
+            date_format( car.accept_date, '%Y-%m-%d' ) AS acceptDate,
+            t.load_addr loadAddr,
+            t.md_load_addr mdLoadAddr,
             w.f_id AS fSrcid,
-            c.f_name AS fFeesName,
-            w.act_id AS fBilltype,
-            t.mblno AS fMblno,
-            t.bill_type AS fBusinessType,
-            g.f_name AS fProductName,
-            w.create_time AS fBsdate,
-            dict.dict_label AS billType,
-            ifnull( w.f_amount, 0 ) - ifnull( w.f_accamount, 0 ) AS fAmtdr,
-            ifnull( w.f_amount, 0 ) - ifnull( w.f_accamount, 0 ) AS fAmt,
-            f.f_name AS fFeeName,
             w.f_dc AS fSrcdc,
-            w.f_qty AS fQty,
-            w.f_unitprice AS fUnitprice,
-            w.f_amount AS fAmount,
-            w.f_feeUnitid AS fFeeUnitid,
-            t.load_date AS loadDate,
-            t.un_load_date AS unLoadDate,
-            date_format( car.load_date, '%Y-%m-%d' ) AS carLoadDate
+            w.f_qty fQty,
+            cntr.dict_label cntrId,
+            car.driver_name driverName,
+            f.f_name fFeeName,
+            w.f_feeid fFeeid,
+            w.f_amount fAmount,
+            w.f_amount fAmt
         FROM
-            F_TMSORDERBILLSFEES w
+            F_TMSORDERBILLS t
+            LEFT JOIN F_TMSORDERBILLSCARS car ON car.org_id = t.id
+            LEFT JOIN F_TMSORDERBILLSFEES w ON car.id = w.f_pid
+            LEFT JOIN t_corps c ON w.f_corpid = c.f_id
+            LEFT JOIN sys_dict_data cntr ON cntr.dict_value = car.cntr_id
+            AND cntr.dict_type = 'data_cntrId'
             LEFT JOIN t_fees f ON w.f_feeid = f.f_id
-            LEFT JOIN t_corps AS c ON w.f_corpid = c.f_id
-            LEFT JOIN F_TMSORDERBILLS AS t ON w.org_id = t.id
-            LEFT JOIN t_goods g ON g.f_id = t.goods_id
-            LEFT JOIN t_corps AS c1 ON t.corp_id = c1.f_id
-            LEFT JOIN F_TMSORDERBILLSCARS car ON car.id = w.f_pid
-            LEFT JOIN sys_dict_data dict ON dict.dict_value = t.bill_type
         <where>
-            dict.status = '0'
-            AND dict.dict_type = 'data_billType'
+            cntr.status = '0'
             <if test="fCorpid != null  and fCorpid != ''">and t.corp_id = #{ fCorpid} </if>
             <if test="fToCorpid != null  and fToCorpid != ''">and w.f_corpid = #{ fToCorpid} </if>
             <if test="fMblno != null  and fMblno != ''">and w.f_mblno  like concat('%', #{ fMblno}, '%') </if>
@@ -274,6 +269,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test=' timeReconci != null and  timeReconci[1] != null and  timeReconci[1]!= ""'>
                 and w.f_accamount_date &lt;= #{ timeReconci[1]}
             </if>
+            <if test=' acceptDateList != null and  acceptDateList[0] != null and  acceptDateList[0]!= ""'>
+                and car.accept_date &gt;= #{ acceptDateList[0]}
+            </if>
+            <if test=' acceptDateList != null and  acceptDateList[1] != null and  acceptDateList[1]!= ""'>
+                and car.accept_date &lt;= #{ acceptDateList[1]}
+            </if>
             <if test=" fBusinessType != null  and  fBusinessType != '' ">
                 and  w.f_business_type in
                 <foreach collection=" fBusinessType" item="id" open="(" close=")" separator=",">
@@ -361,32 +362,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectFTmsaccbillsMapList" parameterType="FTmsaccbills" resultType="Map">
         SELECT
-            f.id AS fId,
-            f.f_billno AS fBillno,
-            f.f_ctrlcorpid AS fCtrlcorpid,
+            f.id fId,
+            f.f_billno fBillno,
             f.f_corpid AS fCorpid,
             c.f_name AS fCorpidName,
-            f.f_accbilldate AS fAccbilldate,
-            f.t_mblno AS tMblno,
-            f.charging_method AS chargingMethod,
-            f.f_amtdr AS fAmtdr,
-            f.f_amtcr AS fAmtcr,
-            f.bank AS bank,
-            f.f_billtype AS fBilltype,
-            f.invoice_no AS invoiceNo,
-            f.create_time AS createTime,
-            f.water_bill_no AS waterBillNo,
-            f.f_system_type AS fSystemType,
+            f.f_amtcr AS amt,
+            '对账金额',
+            f.create_by createBy,
+            f.f_accbilldate fAccbilldate,
+            f.create_time createTime,
             CASE
-            WHEN  f.f_billstatus = '1' THEN '保存'
-            WHEN  f.f_billstatus = '2' THEN '暂存'
-            WHEN  f.f_billstatus = '3' THEN '审批驳回'
-            WHEN  f.f_billstatus = '4' THEN '提交审核'
-            WHEN  f.f_billstatus = '5' THEN '审核中'
-            WHEN  f.f_billstatus = '6' THEN '审核完成'
+            f.f_billstatus
+            WHEN '1' THEN
+            '保存'
+            WHEN '2' THEN
+            '暂存'
+            WHEN '3' THEN
+            '审批驳回'
+            WHEN '4' THEN
+            '提交审核'
+            WHEN '5' THEN
+            '审核中'
+            WHEN '6' THEN
+            '审核完成'
             END AS fBillstatus,
-            f.f_remarks AS fRemarks,
-            f.create_by AS createBy
+            f.f_remarks fRemarks
         FROM
             F_TMSACCBILLS f
             LEFT JOIN t_corps AS c ON f.f_corpid = c.f_id
@@ -405,5 +405,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
-
 </mapper>

+ 35 - 1
ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsitemsMapper.xml

@@ -65,7 +65,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectFTmsaccbillsitemsVo"/>
         where id = #{id}
     </select>
-        
+
+    <select id="selectItemsMapById" resultType="java.util.Map">
+        SELECT DISTINCT
+            t.id fSrcpid,
+            c.f_name fFeesName,
+            car.mblno fMblno,
+            car.order_no orderNo,
+            car.carreg_no carregNo,
+            '对账' billType,
+            date_format( car.accept_date, '%Y-%m-%d' ) AS acceptDate,
+            t.load_addr loadAddr,
+            t.md_load_addr mdLoadAddr,
+            w.f_dc AS fSrcdc,
+            w.f_qty fQty,
+            cntr.dict_label cntrId,
+            car.driver_name driverName,
+            f.f_name fFeeName,
+            w.f_feeid fFeeid,
+            w.f_amount fAmount,
+            w.f_amount fAmt
+        FROM
+            F_TMSACCBILLS tm
+            LEFT JOIN F_TMSACCBILLSITEMS item ON tm.id = item.f_pid
+            LEFT JOIN F_TMSORDERBILLS t ON t.id = item.f_srcpid
+            LEFT JOIN F_TMSORDERBILLSCARS car ON car.org_id = t.id
+            LEFT JOIN F_TMSORDERBILLSFEES w ON item.f_srcid = w.f_id
+            LEFT JOIN t_corps c ON w.f_corpid = c.f_id
+            LEFT JOIN sys_dict_data cntr ON cntr.dict_value = car.cntr_id
+            AND cntr.dict_type = 'data_cntrId'
+            AND cntr.status = '0'
+            LEFT JOIN t_fees f ON w.f_feeid = f.f_id
+        WHERE
+            tm.id = #{id}
+    </select>
+
     <insert id="insertFTmsaccbillsitems" parameterType="FTmsaccbillsitems" useGeneratedKeys="true" keyProperty="id">
         insert into F_TMSACCBILLSITEMS
         <trim prefix="(" suffix=")" suffixOverrides=",">

+ 52 - 109
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillscarsMapper.xml

@@ -818,57 +818,9 @@
     <select id="queryLedgerList" parameterType="com.ruoyi.orderPlan.domain.VehicleLedgerExcel" resultType="com.ruoyi.orderPlan.domain.VehicleLedgerExcel">
         SELECT
             c.id,
-            c.order_no orderNo,
-            c.mblno,
             c.carreg_no carregNo,
-            driver.f_name driverName,
-            c.driver_tel driverTel,
-            CASE
-            c.order_status
-            WHEN 10 THEN
-            '车队安排'
-            WHEN 20 THEN
-            '司机受理'
-            WHEN 40 THEN
-            '提箱'
-            WHEN 50 THEN
-            '装卸货'
-            WHEN 60 THEN
-            '还卸柜'
-            WHEN 80 THEN
-            '回单'
-            END orderName,
-            c.order_status orderStatus,
-            p.f_name corpId,
-            CASE
-            t.bill_type
-            WHEN 1 THEN
-            '进口'
-            WHEN 2 THEN
-            '出口'
-            WHEN 3 THEN
-            '内贸'
-            WHEN 4 THEN
-            '其他'
-            END billType,
-            CASE
-            t.trans_type
-            WHEN 1 THEN
-            '集装箱'
-            WHEN 2 THEN
-            '搭建'
-            WHEN 3 THEN
-            '散货'
-            END transType,
-            CASE
-            t.trans_type
-            WHEN 1 THEN
-            '重去重回'
-            WHEN 2 THEN
-            '重去空回'
-            WHEN 3 THEN
-            '空去重回'
-            END transProp,
+            c.order_no orderNo,
+            date_format( c.accept_date, '%Y-%m-%d' ) AS acceptDate,
             CASE
             c.bill_kind
             WHEN 'NN' THEN
@@ -877,69 +829,31 @@
             '主单'
             WHEN 'MH' THEN
             '从单'
-            END billKind,
-            c.m_bill_no mBillNo,
-            g.f_name goodsId,
-            c.cntr_weight cntrWeight,
-            t.qty_plan qtyPlan,
-            t.weight_plan weightPlan,
-            t.ysl,
-            t.voy,
+            END billType,
+            c.mblno inMblno,
             t.load_addr loadAddr,
-            t.load_date tLoadDate,
-            t.load_attn loadAttn,
-            t.load_attntel loadAttntel,
             t.md_load_addr mdLoadAddr,
-            t.md_load_date tMdLoadDate,
-            t.md_load_attn mdLoadAttn,
-            t.md_load_attn_tel mdLoadAttnTel,
-            t.un_load_addr unLoadAddr,
-            t.un_load_date tUnLoadDate,
-            t.un_load_attn unLoadAttn,
-            t.un_load_attn_tel unLoadAttnTel,
-            dic.dict_label cntrId,
-            pol.f_name polId,
-            pod.f_name podId,
-            c.accept_date acceptDate,
-            c.cntr_qty cntrQty,
-            c.off_data offData,
-            c.load_date loadDate,
-            c.md_load_date mdLoadDate,
-            c.un_load_date unLoadDate,
-            c.waybill_date waybillDate,
-            c.waybill_remarks waybillRemarks,
-            c.oil_amt oilAmt,
-            c.cost_oth costOth,
-            c.driverbonus driverbonus,
-            c.cost_remarks costRemarks,
-            c.costom_amt_06 costomAmt06,
-            c.costom_amt_05 costomAmt05,
-            c.costom_amt_04 costomAmt04,
-            c.costom_amt_03 costomAmt03,
-            c.costom_amt_02 costomAmt02,
-            c.costom_amt_01 costomAmt01,
-            c.costom_str_02 costomStr02,
-            c.costom_str_01 costomStr01,
-            c.amt_dr amtDr,
-            c.amt_dr amtCr,
-            c.stl_amt_dr stlAmtDr,
-            c.stl_amt_cr stlAmtCr,
-            c.profit_bill profitBill,
-            c.profit_car profitCar
+            SUM( c.cntr_qty ) cntrQty,
+            cntr.dict_label cntrId,
+            GROUP_CONCAT( ysl, voy ) boxVolume,
+            IF
+            ( c.bill_kind = 'MM', c.mblno, NULL ) outMblno,
+            c.driver_name driverName,
+            '费用名称' fleetId,
+            sum( CASE WHEN f.f_feeid = 61 AND f.f_dc = 'D' THEN f_amount ELSE 0 END ) shippingDr,
+            sum( CASE WHEN f.f_feeid != 61 AND f.f_dc = 'D' THEN f_amount ELSE 0 END ) otherDr,
+            sum( CASE WHEN f.f_feeid = 61 AND f.f_dc = 'C' THEN f_amount ELSE 0 END ) shippingCr,
+            sum( CASE WHEN f.f_feeid != 61 AND f.f_dc = 'C' THEN f_amount ELSE 0 END ) otherCr,
+            ( sum( CASE f.f_dc WHEN 'D' THEN f_amount ELSE 0 END ) - sum( CASE f.f_dc WHEN 'C' THEN f_amount ELSE 0 END )) profit
         FROM
             F_TMSORDERBILLS t
-            LEFT JOIN F_TMSORDERBILLSCARS c ON t.id = c.org_id
-            LEFT JOIN t_corps p ON p.f_id = t.corp_id
-            LEFT JOIN t_corps fleet ON fleet.f_id = c.carcor_pid
-            LEFT JOIN t_goods g ON g.f_id = t.goods_id
-            LEFT JOIN t_address pol ON pol.f_id = t.pol_id
-            AND pol.f_types = 1
-            LEFT JOIN t_address pod ON pod.f_id = t.pod_id
-            AND pod.f_types = 1
-            LEFT JOIN sys_dict_data dic ON dic.dict_value = c.cntr_id
-            AND dic.dict_type = 'data_cntrId'
-            LEFT JOIN t_corps driver ON driver.f_id = c.driver_user_id
+            LEFT JOIN F_TMSORDERBILLSCARS c ON c.org_id = t.id
+            AND c.bill_kind != 'MH'
+            LEFT JOIN F_TMSORDERBILLSFEES f ON f.f_pid = c.id
+            LEFT JOIN sys_dict_data cntr ON cntr.dict_value = c.cntr_id
+            AND cntr.dict_type = 'data_cntrId'
         <where>
+            c.id != ''
             <if test='tCorpId != null'>and c.corp_id = #{tCorpId}</if>
             <if test='stlStatus != null and stlStatus == "T"'>and (c.stl_amt_dr != 0 or c.stl_amt_cr != 0)</if>
             <if test='stlStatus != null and stlStatus == "F"'>and c.stl_amt_dr = 0 and c.stl_amt_cr = 0</if>
@@ -959,8 +873,37 @@
             <if test='accchkDateList != null and accchkDateList[1] != null and accchkDateList[1]!= ""'>
                 and c.accchk_date_dr &lt;= #{accchkDateList[1]}
             </if>
+            <if test="orderNo != null  and orderNo != ''"> and c.order_no like concat('%', #{orderNo}, '%')</if>
+            <if test="mBillNo != null  and mBillNo != ''"> and c.m_bill_no like concat('%', #{mBillNo}, '%')</if>
+            <if test="carregNo != null  and carregNo != ''"> and c.carreg_no like concat('%', #{carregNo}, '%')</if>
         </where>
-        ORDER BY c.id desc
+        GROUP BY t.id
+    </select>
+
+    <select id="selectTmsorderbillsCarsByBillKind" resultType="Map">
+        SELECT
+            corp.f_name corpName,
+            c.carreg_no carregNo,
+        CASE
+                c.bill_kind
+                WHEN 'NN' THEN
+                '直单'
+                WHEN 'MM' THEN
+                '主单'
+                WHEN 'MH' THEN
+                '从单'
+            END billType,
+            c.accept_date acceptDate,
+            c.mblno,
+            t.load_addr loadAddr,
+            t.un_load_addr unLoadAddr
+        FROM
+            F_TMSORDERBILLS t
+            LEFT JOIN F_TMSORDERBILLSCARS c ON c.org_id = t.id
+            LEFT JOIN t_corps corp ON corp.f_id = c.corp_id
+        WHERE
+	        c.bill_kind = 'MH'
+	        AND c.m_bill_no = #{billKind}
     </select>
 
     <insert id="insertftmsorderbillscars" parameterType="ftmsorderbillscars" useGeneratedKeys="true" keyProperty="id">

+ 1 - 0
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillsfeesMapper.xml

@@ -108,6 +108,7 @@
             <if test="fStltypeid != null ">and f_stltypeid = #{fStltypeid}</if>
             <if test="remarks != null  and remarks != ''">and remarks = #{remarks}</if>
         </where>
+        ORDER BY f_dc DESC
     </select>
 
     <select id="selectFTmsorderbillsfeesById" parameterType="Long" resultMap="FTmsorderbillsfeesResult">

+ 1 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/ITCorpsService.java

@@ -45,7 +45,7 @@ public interface ITCorpsService {
      * @param tCorps 客户详情
      * @return 结果
      */
-    public AjaxResult updateTCorps(String tCorps, String attach);
+    public AjaxResult updateTCorps(TCorps tCorps);
 
     /**
      * 批量删除客户详情

+ 1 - 20
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TCorpsServiceImpl.java

@@ -277,13 +277,11 @@ public class TCorpsServiceImpl implements ITCorpsService {
     /**
      * 修改客户详情
      *
-     * @param corps 客户详情
      * @return 结果
      */
     @Override
     @Transactional
-    public AjaxResult updateTCorps(String corps, String attach) {
-        TCorps tCorps = JSONArray.parseObject(corps, TCorps.class);
+    public AjaxResult updateTCorps(TCorps tCorps) {
         TWarehouseBills tWarehouseBill =new TWarehouseBills();
         tWarehouseBill.setfCorpid(tCorps.getfId());
         List<TWarehouseBills>   tWarehouseBillList=tWarehouseBillsMapper.selectTWarehousebillsList(tWarehouseBill);
@@ -292,23 +290,6 @@ public class TCorpsServiceImpl implements ITCorpsService {
         }
         tCorps.setUpdateTime(DateUtils.getNowDate());
         tCorpsMapper.updateTCorps(tCorps);
-        tEnclosureMapper.deleteByFPid(tCorps.getfId());
-        if (StringUtils.isNotEmpty(attach) && !"[]".equals(attach)) {
-            JSONArray jsonArray = JSONArray.parseArray(attach);
-            List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonArray.toJSONString(), TEnclosure.class);
-            int line = 1;
-            for (TEnclosure t : tEnclosureList) {
-                if (StringUtils.isEmpty(t.getfUrl())) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("附件表第" + line + "行数据未找到附件地址");
-                }
-                t.setfPid(tCorps.getfId());
-                t.setCreateTime(new Date());
-                t.setCreateBy(SecurityUtils.getUsername());
-                tEnclosureMapper.insertTEnclosure(t);
-                line++;
-            }
-        }
         return AjaxResult.success();
     }
 

+ 24 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/quotation/domain/TSeaprice.java

@@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 海运价主对象 t_seaprice
@@ -56,6 +57,9 @@ public class TSeaprice extends BaseEntity
     @Excel(name = "备注")
     private String remarks;
 
+    /** 折合后的rmb */
+    private BigDecimal rmb;
+
     /** 筛选条件箱类型 */
     private String fSpecification;
 
@@ -77,6 +81,9 @@ public class TSeaprice extends BaseEntity
     /** 需要删除的固定费用表 */
     private Long[] deleteItem1;
 
+    /** 需要删除的固定费用表 */
+    private List<String> validdateList;
+
     public void setfId(Long fId) 
     {
         this.fId = fId;
@@ -223,6 +230,22 @@ public class TSeaprice extends BaseEntity
         this.fDateChanged = fDateChanged;
     }
 
+    public List<String> getValiddateList() {
+        return validdateList;
+    }
+
+    public void setValiddateList(List<String> validdateList) {
+        this.validdateList = validdateList;
+    }
+
+    public BigDecimal getRmb() {
+        return rmb;
+    }
+
+    public void setRmb(BigDecimal rmb) {
+        this.rmb = rmb;
+    }
+
     @Override
     public String toString() {
         return "TSeaprice{" +
@@ -243,6 +266,7 @@ public class TSeaprice extends BaseEntity
                 ", exrate=" + exrate +
                 ", deleteItem0=" + Arrays.toString(deleteItem0) +
                 ", deleteItem1=" + Arrays.toString(deleteItem1) +
+                ", validdateList=" + validdateList +
                 '}';
     }
 }

+ 11 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/quotation/domain/TSeapriceitem.java

@@ -71,6 +71,9 @@ public class TSeapriceitem extends BaseEntity
     /** 删除状态 */
     private String delFlag;
 
+    /** 删除状态 */
+    private BigDecimal rmb;
+
     public void setfId(Long fId) 
     {
         this.fId = fId;
@@ -198,6 +201,14 @@ public class TSeapriceitem extends BaseEntity
         return delFlag;
     }
 
+    public BigDecimal getRmb() {
+        return rmb;
+    }
+
+    public void setRmb(BigDecimal rmb) {
+        this.rmb = rmb;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 1 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/quotation/mapper/TSeapriceMapper.java

@@ -89,7 +89,7 @@ public interface TSeapriceMapper
      * @param tSeaprice 条件
      * @return  结果
      */
-    public List<TSeapriceitem> selectSeapriceItem(TSeaprice tSeaprice);
+    public List<Map<String, Object>> selectSeapriceItem(TSeaprice tSeaprice);
 
     /**
      * 动态查询海运费、汇率

+ 7 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/quotation/mapper/TSeapriceitemMapper.java

@@ -59,4 +59,11 @@ public interface TSeapriceitemMapper
      * @return 结果
      */
     public int deleteTSeapriceitemByIds(Long[] fIds);
+
+    /**
+     *  根据父id删除对应明细数据
+     * @param fPid  父id
+     * @return  结果
+     */
+    public int deleteTSeapriceitemByfPid(Long fPid);
 }

+ 7 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/quotation/service/ITSeapriceService.java

@@ -60,7 +60,7 @@ public interface ITSeapriceService
      * @param fIds 需要删除的海运价主ID
      * @return 结果
      */
-    public int deleteTSeapriceByIds(Long[] fIds);
+    public AjaxResult deleteTSeapriceByIds(Long[] fIds);
 
     /**
      * 删除海运价主信息
@@ -88,4 +88,10 @@ public interface ITSeapriceService
      * @return  结果
      */
     public AjaxResult changeSelectShippingFee(TSeaprice tSeaprice);
+
+    /**
+     *  查询所需基础资料
+     * @return
+     */
+    public AjaxResult getAppBasicInformation();
 }

+ 53 - 14
ruoyi-warehouse/src/main/java/com/ruoyi/quotation/service/impl/TSeapriceServiceImpl.java

@@ -2,6 +2,8 @@ package com.ruoyi.quotation.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.basicData.domain.TCorps;
+import com.ruoyi.basicData.mapper.TCorpsMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -11,6 +13,7 @@ import com.ruoyi.quotation.domain.TSeapriceitem;
 import com.ruoyi.quotation.mapper.TSeapriceMapper;
 import com.ruoyi.quotation.mapper.TSeapriceitemMapper;
 import com.ruoyi.quotation.service.ITSeapriceService;
+import com.ruoyi.system.mapper.SysDictDataMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -33,9 +36,15 @@ import java.util.stream.Collectors;
 public class TSeapriceServiceImpl implements ITSeapriceService
 {
     @Autowired
+    private TCorpsMapper tCorpsMapper;
+
+    @Autowired
     private TSeapriceMapper tSeapriceMapper;
 
     @Autowired
+    private SysDictDataMapper sysDictDataMapper;
+
+    @Autowired
     private TSeapriceitemMapper tSeapriceitemMapper;
 
     /**
@@ -93,6 +102,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
     @Override
     @Transactional
     public AjaxResult saveTSeaprice(String tSeaprice, String tSeapriceItem, String tSeapriceFlees) {
+        Map<String, Object> map = new HashMap<>();
         TSeaprice seaprice = JSONArray.parseObject(tSeaprice, TSeaprice.class);
         // 校验必填项
         AjaxResult ajaxResult = checkSeaprice(seaprice);
@@ -124,6 +134,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
             tSeapriceMapper.insertTSeaprice(seaprice);
             fId = seaprice.getfId();
         }
+        map.put("seaprice", seaprice);
         if (StringUtils.isNotEmpty(tSeapriceItem) && !"[]".equalsIgnoreCase(tSeapriceItem)) {
             JSONArray parseArray = JSONArray.parseArray(tSeapriceItem);
             List<TSeapriceitem> tSeapriceitems = JSONObject.parseArray(parseArray.toJSONString(), TSeapriceitem.class);
@@ -140,12 +151,13 @@ public class TSeapriceServiceImpl implements ITSeapriceService
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("海运费中存在重复费用,请确认");
             }
-            insertOrUpdateItem(tSeapriceitems, fId, "0");
-            String itemCode = ajaxResult.get("code").toString();
+            AjaxResult insertOrUpdateItem = insertOrUpdateItem(tSeapriceitems, fId, "0");
+            String itemCode = insertOrUpdateItem.get("code").toString();
             if ("500".equals(itemCode)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return ajaxResult;
             }
+            map.put("itemList", tSeapriceitems);
         }
         if (StringUtils.isNotEmpty(tSeapriceFlees) && !"[]".equalsIgnoreCase(tSeapriceFlees)) {
             JSONArray parseArray = JSONArray.parseArray(tSeapriceFlees);
@@ -163,14 +175,15 @@ public class TSeapriceServiceImpl implements ITSeapriceService
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("杂费表中存在重复费用,请确认");
             }
-            insertOrUpdateItem(tSeapriceitems, fId, "1");
-            String itemCode = ajaxResult.get("code").toString();
+            AjaxResult insertOrUpdateItem = insertOrUpdateItem(tSeapriceitems, fId, "1");
+            String itemCode = insertOrUpdateItem.get("code").toString();
             if ("500".equals(itemCode)) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return ajaxResult;
             }
+            map.put("itemList2", tSeapriceitems);
         }
-        return AjaxResult.success(seaprice);
+        return AjaxResult.success(map);
     }
 
     /**
@@ -197,8 +210,12 @@ public class TSeapriceServiceImpl implements ITSeapriceService
         Long timestamp = DateUtils.getTimestamp(new Date());
         seaprice.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
         if (StringUtils.isNotNull(seaprice.getfId())) {
-            tSeapriceitemMapper.deleteTSeapriceitemByIds(seaprice.getDeleteItem0());
-            tSeapriceitemMapper.deleteTSeapriceitemByIds(seaprice.getDeleteItem1());
+            if (StringUtils.isNotNull(seaprice.getDeleteItem0())) {
+                tSeapriceitemMapper.deleteTSeapriceitemByIds(seaprice.getDeleteItem0());
+            }
+            if (StringUtils.isNotNull(seaprice.getDeleteItem1())) {
+                tSeapriceitemMapper.deleteTSeapriceitemByIds(seaprice.getDeleteItem1());
+            }
             seaprice.setUpdateTime(new Date());
             seaprice.setUpdateBy(SecurityUtils.getUsername());
             tSeapriceMapper.updateTSeaprice(seaprice);
@@ -209,7 +226,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
             tSeapriceMapper.insertTSeaprice(seaprice);
             fId = seaprice.getfId();
         }
-        if (StringUtils.isEmpty(tSeapriceItem) || !"[]".equalsIgnoreCase(tSeapriceItem)) {
+        if (StringUtils.isEmpty(tSeapriceItem) || "[]".equalsIgnoreCase(tSeapriceItem)) {
             return AjaxResult.error("未找到海运费信息");
         } else {
             JSONArray parseArray = JSONArray.parseArray(tSeapriceItem);
@@ -234,7 +251,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
                 return ajaxResult;
             }
         }
-        if (StringUtils.isEmpty(tSeapriceFlees) || !"[]".equalsIgnoreCase(tSeapriceFlees)) {
+        if (StringUtils.isEmpty(tSeapriceFlees) || "[]".equalsIgnoreCase(tSeapriceFlees)) {
             return AjaxResult.error("未找到杂费信息");
         } else {
             JSONArray parseArray = JSONArray.parseArray(tSeapriceFlees);
@@ -268,6 +285,9 @@ public class TSeapriceServiceImpl implements ITSeapriceService
     @Override
     public AjaxResult calculateOceanFreight(TSeaprice tSeaprice) {
         Map<String, Object> map = new HashMap<>();
+        if (StringUtils.isNull(tSeaprice.getfQty()) || tSeaprice.getfQty() == 0L) {
+            return AjaxResult.error("请维护箱量");
+        }
         // 求出海运费金额
         tSeaprice.setfType("0");
         tSeaprice.setfValiddate(new Date());
@@ -278,7 +298,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
         // 海运费金额合计 * 数量
         oceanAmt = oceanAmt.multiply(new BigDecimal(tSeaprice.getfQty()));
         // 海运费 * 数量 + 其他运费合计
-        otherAmt = otherAmt.add(tSeaprice.getExrate().multiply(new BigDecimal(tSeaprice.getfQty())));
+        otherAmt = otherAmt.add(tSeaprice.getRmb().multiply(new BigDecimal(tSeaprice.getfQty())));
         // (海运费合计 + 其他运费合计) / 2
         map.put("amt", oceanAmt.add(otherAmt).divide(new BigDecimal(tSeaprice.getfQty()),2,BigDecimal.ROUND_HALF_UP));
         /*BigDecimal amt = oceanAmt.multiply(new BigDecimal(tSeaprice.getfQty())).add(tSeaprice.getExrate().multiply(new BigDecimal(tSeaprice.getfQty()))).add(otherAmt);
@@ -299,6 +319,20 @@ public class TSeapriceServiceImpl implements ITSeapriceService
     }
 
     /**
+     *  查询所需基础资料
+     * @return
+     */
+    @Override
+    public AjaxResult getAppBasicInformation() {
+        Map<String, Object> map = new HashMap<>();
+        map.put("billType", sysDictDataMapper.selectDictDataByType("data_billType"));
+        TCorps tCorps = new TCorps();
+        tCorps.setfTypeid("\"8\"");
+        map.put("corpList", tCorpsMapper.selectTCorpsList(tCorps));
+        return AjaxResult.success(map);
+    }
+
+    /**
      *  校验主表必填项是否填写
      * @param seaprice
      * @return
@@ -358,7 +392,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
             item.setfType(fType);
             if (StringUtils.isNull(item.getfId())) {
                 item.setCreateTime(new Date());
-                item.setUpdateBy(SecurityUtils.getUsername());
+                item.setCreateBy(SecurityUtils.getUsername());
                 tSeapriceitemMapper.insertTSeapriceitem(item);
             } else {
                 item.setUpdateTime(new Date());
@@ -366,7 +400,7 @@ public class TSeapriceServiceImpl implements ITSeapriceService
                 tSeapriceitemMapper.updateTSeapriceitem(item);
             }
         }
-        return AjaxResult.success();
+        return AjaxResult.success(tSeapriceitems);
     }
 
     /**
@@ -389,9 +423,14 @@ public class TSeapriceServiceImpl implements ITSeapriceService
      * @return 结果
      */
     @Override
-    public int deleteTSeapriceByIds(Long[] fIds)
+    @Transactional
+    public AjaxResult deleteTSeapriceByIds(Long[] fIds)
     {
-        return tSeapriceMapper.deleteTSeapriceByIds(fIds);
+        for (Long l : fIds) {
+            tSeapriceitemMapper.deleteTSeapriceitemByfPid(l);
+            tSeapriceMapper.deleteTSeapriceById(l);
+        }
+        return AjaxResult.success();
     }
 
     /**

+ 1 - 1
ruoyi-warehouse/src/main/resources/mapper/basicData/TCorpsMapper.xml

@@ -151,7 +151,7 @@
     </select>
 
     <select id="selectCustomerDriverList" parameterType="TCorps" resultMap="TCorpsResult">
-        SELECT
+        SELECT DISTINCT
             c.f_id,
             c.f_pid,
             c.f_typeid,

+ 17 - 7
ruoyi-warehouse/src/main/resources/mapper/quotation/TSeapriceMapper.xml

@@ -32,9 +32,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="fCorpid != null "> and f_corpid = #{fCorpid}</if>
             <if test="polId != null "> and pol_id = #{polId}</if>
             <if test="podId != null "> and pod_id = #{podId}</if>
-            <if test="fValiddate != null "> and f_validdate = #{fValiddate}</if>
             <if test="fBillstatus != null "> and f_billstatus = #{fBillstatus}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test='validdateList != null and validdateList[0] != null and validdateList[0]!= ""'>
+                and f_validdate &gt;= #{validdateList[0]}
+            </if>
+            <if test='validdateList != null and validdateList[1] != null and validdateList[1]!= ""'>
+                and f_validdate &lt;= #{validdateList[1]}
+            </if>
         </where>
     </select>
     
@@ -107,21 +112,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND s.f_type = #{fType}
     </select>
 
-    <select id="selectSeapriceItem" parameterType="TSeaprice" resultType="com.ruoyi.quotation.domain.TSeapriceitem">
+    <select id="selectSeapriceItem" parameterType="TSeaprice" resultType="Map">
        SELECT
-            s.f_id fId,
-            s.f_feeid fFeeid,
+            f.f_name fFeeid,
         IF
-            ( ${fType} = '0', s.${fSpecification}, s.f_unitprice ) fUnitprice
+            ( s.f_type = '0', s.${fSpecification}, s.f_unitprice ) fUnitprice
         FROM
             t_seaprice t
             LEFT JOIN t_seapriceitem s ON s.f_pid = t.f_id
+            LEFT JOIN t_fees f ON f.f_id = s.f_feeid
         WHERE
             t.f_billtype = #{fBilltype}
             AND t.f_corpid = #{fCorpid}
             AND t.f_validdate &gt;= #{fValiddate}
             AND t.f_billstatus = 0
             AND t.del_flag = '0'
+            AND f.f_name != '海运费'
+        ORDER BY s.f_type, s.f_id asc
     </select>
 
     <select id="selectShippingFee" parameterType="TSeaprice" resultType="com.ruoyi.quotation.domain.TSeapriceitem">
@@ -129,17 +136,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             s.f_id fId,
             s.f_feeid fFeeid,
             IFNULL(s.${fSpecification}, 0) fUnitprice,
-            IFNULL(s.f_exrate, 0) fExrate
+            IFNULL(s.f_exrate, 0) fExrate,
+            IFNULL(IFNULL(s.${fSpecification}, 0) * IFNULL(s.f_exrate, 0), 0) rmb
         FROM
             t_seaprice t
             LEFT JOIN t_seapriceitem s ON s.f_pid = t.f_id
+            LEFT JOIN t_fees f ON f.f_id = s.f_feeid
         WHERE
             t.f_billtype = #{fBilltype}
             AND t.f_corpid = #{fCorpid}
             AND t.f_validdate &gt;= #{fValiddate}
             AND t.f_billstatus = 0
             AND t.del_flag = '0'
-        ORDER BY t.f_id asc LIMIT 0, 1
+            AND f.f_name = '海运费'
+            ORDER BY s.f_id asc LIMIT 0, 1
     </select>
 
     <insert id="insertTSeaprice" parameterType="TSeaprice" useGeneratedKeys="true" keyProperty="fId">

+ 5 - 1
ruoyi-warehouse/src/main/resources/mapper/quotation/TSeapriceitemMapper.xml

@@ -132,5 +132,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{fId}
         </foreach>
     </delete>
-    
+
+    <delete id="deleteTSeapriceitemByfPid" parameterType="Long">
+        delete from t_seapriceitem where f_pid = #{fPid}
+    </delete>
+
 </mapper>

+ 1 - 2
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -1967,9 +1967,8 @@
             left join sys_user u on w.f_storekeeper = u.user_name
             left join sys_dept d on w.f_bsdeptid = d.dept_id
         where
-            w.f_id != ''
+            IF( w.f_planqty IS NOT NULL, w.f_planqty != w.f_qty, w.f_id != '')
             and w.f_billtype = #{fBilltype}
-            AND w.f_planqty != f_qty
             AND w.f_billstatus != 6
         <if test="fMblno != null ">and w.f_mblno like concat('%', #{fMblno}, '%')</if>
         <if test="fItemsStatus != null ">and w.f_items_status = #{fItemsStatus}</if>