Просмотр исходного кода

添加仓库 仓储费类型字段,添加确认入库出库 必填仓库id,解决车队对账失败问题

阿伏兔 4 лет назад
Родитель
Сommit
aadc370201

+ 11 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/controller/fleet/orderPlan/ftmsorderbillscntrsController.java

@@ -1,29 +1,22 @@
 package com.ruoyi.web.controller.fleet.orderPlan;
 
-import java.util.List;
-import java.util.Map;
-
 import com.ruoyi.common.annotation.DataScope;
-import com.ruoyi.orderPlan.domain.Ftmsorderbills;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillscntrs;
-import com.ruoyi.orderPlan.service.IftmsorderbillsService;
-import com.ruoyi.orderPlan.service.IftmsorderbillscntrsService;
-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.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.orderPlan.domain.Ftmsorderbills;
+import com.ruoyi.orderPlan.domain.Ftmsorderbillscntrs;
+import com.ruoyi.orderPlan.service.IftmsorderbillsService;
+import com.ruoyi.orderPlan.service.IftmsorderbillscntrsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 箱型箱量Controller
@@ -57,7 +50,6 @@ public class ftmsorderbillscntrsController extends BaseController {
     @DataScope(deptAlias = "d", userAlias = "u")
     @GetMapping("/list")
     public TableDataInfo list(Ftmsorderbills ftmsorderbills) {
-        ftmsorderbills.setInvoiceType("scheduling");
         startPage();
         List<Map<String, Object>> mapList = ftmsorderbillsService.selectftmsorderbillsMapList(ftmsorderbills);
         return getDataTable(mapList);

+ 35 - 3
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/Ftmsorderbills.java

@@ -214,6 +214,15 @@ public class Ftmsorderbills extends BaseEntity {
     @Excel(name = "状态(1新建,2暂存,6提交)")
     private Long billStatus;
 
+    /** 车队派车列表页默认未完成状态1,2查看全部状态数据 */
+    private Long planStatus;
+
+    /** 计划下达列表页默认未完成状态1,2查看全部状态数据 */
+    private Long incompleteStatus;
+
+    /** 业务调度下达列表页默认未完成状态1,2查看全部状态数据 */
+    private Long dispatchStatus;
+
     /** 删除状态 */
     private String delFlag;
 
@@ -224,7 +233,7 @@ public class Ftmsorderbills extends BaseEntity {
     /**
      * 派车状态
      */
-    private String planBillStatus;
+    private Long planBillStatus;
 
     /**
      * 接单状态
@@ -299,12 +308,35 @@ public class Ftmsorderbills extends BaseEntity {
         this.isFleet = isFleet;
     }
 
+    public Long getPlanStatus() {
+        return planStatus;
+    }
+
+    public Long getDispatchStatus() {
+        return dispatchStatus;
+    }
+
+    public void setDispatchStatus(Long dispatchStatus) {
+        this.dispatchStatus = dispatchStatus;
+    }
+
+    public void setPlanStatus(Long planStatus) {
+        this.planStatus = planStatus;
+    }
+
+    public Long getIncompleteStatus() {
+        return incompleteStatus;
+    }
+
+    public void setIncompleteStatus(Long incompleteStatus) {
+        this.incompleteStatus = incompleteStatus;
+    }
 
-    public String getPlanBillStatus() {
+    public Long getPlanBillStatus() {
         return planBillStatus;
     }
 
-    public void setPlanBillStatus(String planBillStatus) {
+    public void setPlanBillStatus(Long planBillStatus) {
         this.planBillStatus = planBillStatus;
     }
 

+ 2 - 5
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillsServiceImpl.java

@@ -1,7 +1,5 @@
 package com.ruoyi.orderPlan.service.impl;
 
-import java.util.*;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -12,21 +10,20 @@ import com.ruoyi.basicData.mapper.TCorpsMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.orderPlan.domain.*;
 import com.ruoyi.orderPlan.mapper.*;
 import com.ruoyi.orderPlan.service.IftmsorderbillsService;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillsfees;
-import com.ruoyi.orderPlan.mapper.FtmsorderbillsfeesMapper;
 import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
 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.util.*;
+
 /**
  * 订单主Service业务层处理
  *

+ 3 - 2
ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsitemsMapper.xml

@@ -69,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectItemsMapById" resultType="java.util.Map">
         SELECT
             item.id itemId,
+            item.f_srcid fSrcid,
             t.id fSrcpid,
             c.f_name fFeesName,
             car.mblno fMblno,
@@ -84,8 +85,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             car.driver_name driverName,
             f.f_name fFeeName,
             w.f_feeid fFeeid,
-            w.f_amount fAmount,
-            w.f_amount fAmt
+            item.f_amtdr fAmtdr,
+	        item.f_amt fAmt
         FROM
             F_TMSACCBILLS tm
             LEFT JOIN F_TMSACCBILLSITEMS item ON tm.id = item.f_pid

+ 42 - 36
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillsMapper.xml

@@ -168,42 +168,48 @@
             LEFT JOIN sys_user a ON a.user_id = f.trans_user_id
             LEFT JOIN t_goods g ON g.f_id = f.goods_id
             LEFT JOIN sys_user u ON u.user_name = f.create_by
-        WHERE
-            f.id != ''
-        <if test="corpId != null and corpId != ''">
-            AND f.corp_id = #{corpId}
-        </if>
-        <if test="actId != null and actId != 0">
-            AND f.act_id = #{actId}
-        </if>
-        <if test="billType != null and billType != ''">
-            AND f.bill_type = #{billType}
-        </if>
-        <if test="transType != null and transType != ''">
-            AND f.trans_type = #{transType}
-        </if>
-        <if test="transProp != null and transProp != ''">
-            AND f.trans_prop = #{transProp}
-        </if>
-        <if test="goodsId != null and goodsId != 0">
-            AND f.goods_id = #{goodsId}
-        </if>
-        <if test="invoiceType != null and invoiceType == 'scheduling'">
-            AND f.bill_status &gt;= 6
-        </if>
-        <if test="mblno != null and mblno != ''">
-            AND f.mblno LIKE "%${mblno}%"
-        </if>
-        <if test="loadAddr != null and loadAddr != ''">
-            AND f.load_addr LIKE "%${loadAddr}%"
-        </if>
-        <if test="mdLoadAddr != null and mdLoadAddr != ''">
-            AND f.md_load_addr LIKE "%${mdLoadAddr}%"
-        </if>
-        <if test="unLoadAddr != null and unLoadAddr != ''">
-            AND f.un_load_addr LIKE "%${unLoadAddr}%"
-        </if>
-        ${params.dataScope}
+        <where>
+            <if test="corpId != null and corpId != ''">
+                AND f.corp_id = #{corpId}
+            </if>
+            <if test="actId != null and actId != 0">
+                AND f.act_id = #{actId}
+            </if>
+            <if test="billType != null and billType != ''">
+                AND f.bill_type = #{billType}
+            </if>
+            <if test="transType != null and transType != ''">
+                AND f.trans_type = #{transType}
+            </if>
+            <if test="transProp != null and transProp != ''">
+                AND f.trans_prop = #{transProp}
+            </if>
+            <if test="goodsId != null and goodsId != 0">
+                AND f.goods_id = #{goodsId}
+            </if>
+            <if test="incompleteStatus != null and incompleteStatus != 2">
+                AND f.bill_status &lt; 6
+            </if>
+            <if test="dispatchStatus != null and dispatchStatus != 2">
+                AND f.bill_status &gt;= 6 AND f.bill_status &lt; 60
+            </if>
+            <if test="dispatchStatus != null and dispatchStatus == 2">
+                AND f.bill_status &gt;= 6
+            </if>
+            <if test="mblno != null and mblno != ''">
+                AND f.mblno LIKE "%${mblno}%"
+            </if>
+            <if test="loadAddr != null and loadAddr != ''">
+                AND f.load_addr LIKE "%${loadAddr}%"
+            </if>
+            <if test="mdLoadAddr != null and mdLoadAddr != ''">
+                AND f.md_load_addr LIKE "%${mdLoadAddr}%"
+            </if>
+            <if test="unLoadAddr != null and unLoadAddr != ''">
+                AND f.un_load_addr LIKE "%${unLoadAddr}%"
+            </if>
+            ${params.dataScope}
+        </where>
         ORDER BY f.bill_status, f.id asc
     </select>
 

+ 7 - 7
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillsplansMapper.xml

@@ -112,8 +112,7 @@
             LEFT JOIN sys_user p ON p.user_id = f.plan_user_id
             LEFT JOIN sys_user a ON a.user_id = f.trans_user_id
             LEFT JOIN t_goods g ON g.f_id = f.goods_id
-        WHERE
-            plan.bill_status >= 6
+        <where>
             <if test="corpId != null and corpId != ''">
                 AND f.corp_id = #{corpId}
             </if>
@@ -132,8 +131,11 @@
             <if test="goodsId != null and goodsId != 0">
                 AND f.goods_id = #{goodsId}
             </if>
-            <if test="planBillStatus != null and planBillStatus != ''">
-                AND plan.bill_status = #{planBillStatus}
+            <if test="planBillStatus != null and planBillStatus == 2">
+                AND plan.bill_status &gt;= 6
+            </if>
+            <if test="planBillStatus != null and planBillStatus != 2">
+                AND plan.bill_status &gt;= 6 AND plan.bill_status &lt; 60
             </if>
             <if test="mblno != null and mblno != ''">
                 AND f.mblno LIKE "%${mblno}%"
@@ -147,9 +149,7 @@
             <if test="unLoadAddr != null and unLoadAddr != ''">
                 AND f.un_load_addr LIKE "%${unLoadAddr}%"
             </if>
-            <if test="billStatus != null and billStatus != ''">
-                AND f.bill_status LIKE "%${billStatus}%"
-            </if>
+        </where>
         ORDER BY plan.bill_status, plan.id asc
     </select>
 

+ 12 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehouseBills.java

@@ -6,8 +6,6 @@ import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.shipping.domain.TVoyage;
 import com.ruoyi.shipping.domain.TWarehousebillsCntr;
 import com.ruoyi.shipping.domain.TWarehousebillsCntritems;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -547,6 +545,10 @@ public class TWarehouseBills extends BaseEntity {
     @Excel(name = "审批提交次数")
     private Long fTimes;
 
+    /** 仓储费计费类型 */
+    @Excel(name = "仓储费计费类型")
+    private String fChargetype;
+
     /**
      * 校验时间戳
      */
@@ -1608,6 +1610,14 @@ public class TWarehouseBills extends BaseEntity {
         this.fDateChanged = fDateChanged;
     }
 
+    public String getfChargetype() {
+        return fChargetype;
+    }
+
+    public void setfChargetype(String fChargetype) {
+        this.fChargetype = fChargetype;
+    }
+
     @Override
     public String toString() {
         return "TWarehouseBills{" +

+ 8 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehousebillsitemsMapper.java

@@ -6,6 +6,7 @@ import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -130,4 +131,11 @@ public interface TWarehousebillsitemsMapper extends BaseMapper<TWarehousebillsit
     public int selectItemFStatusByFPid(Long fId);
 
     public TWarehousebillsitems selectItemQtyByFPid(Long fPid);
+
+    /**
+     *  根据主表id查询明细最小日期
+     * @param fId
+     * @return
+     */
+    public Date selecMinBsDateByFPid(Long fId);
 }

+ 53 - 14
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -149,6 +149,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     private TWarehouseAgreementServiceImpl tWarehouseAgreementService;
 
     @Autowired
+    private TWarehouseAgreementitemsMapper tWarehouseAgreementitemsMapper;
+
+    @Autowired
     private TWarehousebillsCntritemsMapper tWarehousebillsCntritemsMapper;
 
 
@@ -564,12 +567,28 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         } else {
             JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
             List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
+            Date mixDate = new Date();
+            int totalCount = warehousebillsitemsList.size();
+            if (totalCount >= 1) {
+                Date minDate = warehousebillsitemsList.get(0).getfBsdate();
+                for (int i = 0; i < totalCount; i++) {
+                    Date date = warehousebillsitemsList.get(i).getfBsdate();
+                    if (minDate.before(date)) {
+                        minDate = date;
+                    }
+                }
+                mixDate = minDate;
+            }
             for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
                 boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType);
                 // 仓储计费日期
                 wbItem.setfBilltype(billsType);
                 if ("SJRK".equals(billsType)) {
-                    wbItem.setfChargedate(warehouseBills.getfChargedate());
+                    if ("0".equals(warehouseBills.getfChargetype())) {
+                        wbItem.setfChargedate(warehouseBills.getfChargedate());
+                    } else {
+                        wbItem.setfChargedate(mixDate);
+                    }
                     wbItem.setfBillingway(warehouseBills.getfBillingway());
                     wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
                 }
@@ -581,7 +600,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     // 添加主表 业务单号
                     wbItem.setfBillno(warehouseBills.getfBillno());
                     if (!warehouseStatus) {
-//                        wbItem.setfMblno(warehouseBills.getfMblno());
                         wbItem.setfBillstatus(1L);
                     } else {
                         wbItem.setfBillstatus(10L);
@@ -1046,10 +1064,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             isApprove = true;
         }
         TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
-        SysConfig warehouseConfig = queryWarehouseConfig(billsType);
-        if (StringUtils.isNull(warehouseConfig)) {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return AjaxResult.error("系统参数异常,未找到接单审批流参数");
+        if ("SJRK".equals(billsType) || "SJCK".equals(billsType)) {
+            SysConfig warehouseConfig = queryWarehouseConfig(billsType);
+            if (StringUtils.isNull(warehouseConfig)) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("系统参数异常,未找到接单审批流参数");
+            }
         }
         if ("0".equals(sysConfig.getConfigValue()) && (warehouseBills.getWarehouseStatus() == 4L || warehouseBills.getWarehouseStatus() == 5L)) {
             return AjaxResult.error("接单审批正在进行中,无法进行提交");
@@ -1777,13 +1797,15 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         boolean isApprove = false;
         SysUser user = SecurityUtils.getLoginUser().getUser();
         Long actId = queryWarehouseActId(billsType);
-        SysConfig sysConfig = queryWarehouseConfig(billsType);
-        if (StringUtils.isNull(sysConfig)) {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return AjaxResult.error("系统参数异常,未找到开启审批流参数");
-        }
-        if ("0".equals(sysConfig.getConfigValue())) {
-            isApprove = true;
+        if ("SJRK".equals(billsType) || "SJCK".equals(billsType)) {
+            SysConfig sysConfig = queryWarehouseConfig(billsType);
+            if (StringUtils.isNull(sysConfig)) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("系统参数异常,未找到开启审批流参数");
+            }
+            if ("0".equals(sysConfig.getConfigValue())) {
+                isApprove = true;
+            }
         }
         TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
         if (isApprove) {
@@ -2861,6 +2883,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         boolean businessStatus = "场地直装".equals(tWarehouseBills.getfBusinessType());
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
+        Date time = new Date();
+        if ("1".equals(tWarehouseBills.getfChargetype())) {
+            time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehouseBills.getfId());
+        }
         int i = 1;
         for (TWarehousebillsitems item : warehousebillsitemsList) {
             // 查询是否可以修改
@@ -2869,6 +2895,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("更新库存明细第" + i + "行失败,已处理,请刷新网页");
             }
+            if (StringUtils.isNull(item.getfWarehouselocid())) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("库存明细第" + i + "行未找到库区");
+            }
             if (!businessStatus) {
                 // 查询库容量  是否可入库
                 int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
@@ -2876,11 +2906,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
                 }
+
                 item.setfOriginalbilldate(item.getfBsdate());
                 item.setfBillingway(tWarehouseBills.getfBillingway());
-                item.setfChargedate(item.getfBsdate());
+                if ("0".equals(tWarehouseBills.getfChargetype())) {
+                    time = item.getfBsdate();
+                }
+                item.setfChargedate(time);
                 TGoods goods = tGoodsMapper.selectTGoodsById(item.getfGoodsid());
                 if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(item.getfCntrno())) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     return AjaxResult.error("仓库明细第"+i+"行未找到箱号");
                 }
                 TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item, goods.getIfCntrno());
@@ -3025,6 +3060,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("更新库存明细第" + i + "行失败,已处理,请刷新网页");
             }
+            if (StringUtils.isNull(wbItem.getfWarehouselocid())) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("库存明细第" + i + "行,未找到仓库信息");
+            }
             TGoods goods = tGoodsMapper.selectTGoodsById(wbItem.getfGoodsid());
             if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(wbItem.getfCntrno())) {
                 return AjaxResult.error("仓库明细第"+i+"行未找到箱号");

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

@@ -104,6 +104,7 @@
         <result property="warehouseStatus"    column="warehouse_status"    />
         <result property="fTimes"    column="f_times"    />
         <result property="fDateChanged" column="f_date_changed"/>
+        <result property="fChargetype" column="f_chargetype"/>
     </resultMap>
 
     <sql id="selectTWarehousebillsVo">
@@ -115,7 +116,7 @@
         f_loadportid, f_destportid, f_serviceitems, f_invoceobj, f_sign, f_detentioncargo, f_booksmarks, f_shippername, f_shipperattn, f_shippertel, f_consigneername,
         f_consigneeattn, f_consigneetel, f_insurance, f_insuranceamt, f_closedate, f_docmentdate, f_vslid, f_voyid, f_typeid, f_paymode, f_laneid, f_cntval,
         free_container_date, f_business_attribution, f_supervision_unit, f_declaration_elements, f_part_number, f_ifinspection, f_value, f_weighing_date,
-        f_ifsampling, send_sample_date, f_ifweight_recovery, weight_recovery_date, warehouse_status, f_times ,f_date_changed from t_warehousebills
+        f_ifsampling, send_sample_date, f_ifweight_recovery, weight_recovery_date, warehouse_status, f_times ,f_date_changed, f_chargetype from t_warehousebills
     </sql>
 
     <select id="selectTWarehousebillsList" parameterType="TWarehousebills" resultMap="TWarehousebillsResult">
@@ -210,6 +211,7 @@
             bill.f_netweight AS fNetweight,
             bill.create_time AS createTime,
             ware1.f_name AS fInwarehouseid,
+            bill.f_chargetype AS fChargetype,
             bill.create_by AS createBy,
             bill.f_grossweight AS fGrossweight,
             bill.f_product_name AS fProductName,
@@ -396,6 +398,7 @@
         ware.f_name AS fWarehouseid,
         bill.f_qty AS fQty,
         bill.f_cntval AS fCntval,
+        bill.f_chargetype AS fChargetype,
         bill.f_netweight AS fNetweight,
         bill.create_time AS createTime,
         ware1.f_name AS fInwarehouseid,
@@ -862,6 +865,7 @@
             <if test="warehouseStatus != null">warehouse_status,</if>
             <if test="fTimes != null">f_times,</if>
             <if test="fDateChanged != null">f_date_changed,</if>
+            <if test="fChargetype != null">f_chargetype,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fBillno != null">#{fBillno},</if>
@@ -962,6 +966,7 @@
             <if test="warehouseStatus != null">#{warehouseStatus},</if>
             <if test="fTimes != null">#{fTimes},</if>
             <if test="fDateChanged != null">#{fDateChanged},</if>
+            <if test="fChargetype != null">#{fChargetype},</if>
         </trim>
     </insert>
 
@@ -1066,6 +1071,7 @@
             <if test="warehouseStatus != null">warehouse_status = #{warehouseStatus},</if>
             <if test="fTimes != null">f_times = #{fTimes},</if>
             <if test="fDateChanged != null">f_date_changed = #{fDateChanged},</if>
+            <if test="fChargetype != null">f_chargetype = #{fChargetype},</if>
         </trim>
         where f_id = #{fId}
     </update>
@@ -1172,6 +1178,7 @@
             <if test="warehouseStatus != null">warehouse_status = #{warehouseStatus},</if>
             <if test="fTimes != null">f_times = #{fTimes},</if>
             <if test="fDateChanged != null">f_date_changed = #{fDateChanged},</if>
+            <if test="fChargetype != null">f_chargetype = #{fChargetype},</if>
         </trim>
         where f_id = #{fId}
     </update>

+ 9 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsitemsMapper.xml

@@ -666,6 +666,15 @@
             AND f_billstatus = 40
     </select>
 
+    <select id="selecMinBsDateByFPid" resultType="java.util.Date">
+        SELECT
+            MIN( f_bsdate )
+        FROM
+            t_warehousebillsitems
+        WHERE
+            f_pid = #{fId}
+    </select>
+
     <update id="warehouseItemFollowUpdate" parameterType="Long">
         update
             t_warehousebillsitems