Browse Source

Merge branch 'dev'

# Conflicts:
#	ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml
lazhaoqian 3 years ago
parent
commit
718cd6d534

+ 11 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehousebillsitems.java

@@ -339,7 +339,17 @@ public class TWarehousebillsitems extends BaseEntity {
 
     //报关单号
     private String fCustomno;
-    
+    //修改日期
+    private Date bsdate;
+
+    public Date getBsdate() {
+        return bsdate;
+    }
+
+    public void setBsdate(Date bsdate) {
+        this.bsdate = bsdate;
+    }
+
     /**
      * 场地直装,D:入库明细 C 出库明细
      */

+ 48 - 5
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -628,7 +628,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 }
                 if ("SJRK".equals(billsType)) {
                     if ("1".equals(warehouseBills.getfChargetype())) {
-                        wbItem.setfChargedate(warehouseBills.getfBsdate());
+                        wbItem.setfChargedate(wbItem.getfBsdate());
                     } else if ("0".equals(warehouseBills.getfChargetype())){
                         Date fchargedate = tWarehousebillsitemsMapper.getFchargedate(fPid);
                         if (fchargedate != null){
@@ -641,7 +641,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
                 }
                 if (null != wbItem.getfId()) {
-                    wbItem.setUpdateTime(new Date());
+                    wbItem.setUpdateTime(wbItem.getfBsdate());
                     wbItem.setUpdateBy(loginUser.getUser().getUserName());
                     tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
                 } else {
@@ -2898,17 +2898,32 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
         // 查询最新明细表
         TWarehousebillsitems warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
+        String billsType = warehousebillsitems.getfBilltype();
+        if ("SJRK".equals(billsType)  && "0".equals(warehouseBills.getfChargetype()) && tWarehousebillsitems.getBsdate() != null ){
+            boolean fchargedate = this.getFchargedate(warehousebillsitems.getfPid(), tWarehousebillsitems.getBsdate());
+            if (fchargedate == false){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("入库日期不能小于最小仓储费计算日期");
+            }
+        }
         Date time = new Date();
         if (StringUtils.isNotEmpty(warehouseBills.getfChargetype()) && "0".equals(warehouseBills.getfChargetype())) {
             time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehousebillsitems.getfPid());
+            if (tWarehousebillsitems.getBsdate() !=null){
+                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
+            }
         }else if (StringUtils.isNotEmpty(warehouseBills.getfChargetype()) && "1".equals(warehouseBills.getfChargetype())){
-            time = warehousebillsitems.getfBsdate();
+            if (tWarehousebillsitems.getBsdate()!= null){
+                time = tWarehousebillsitems.getBsdate();
+                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
+            }else {
+                time = warehousebillsitems.getfBsdate();
+            }
         }
         tWarehousebillsitems.setfChargedate(time);//仓储费计算日期
         if (StringUtils.isNull(warehousebillsitems) || warehousebillsitems.getfBillstatus() != 30L) {
             return AjaxResult.error("请确认是该明细数据是否存在,或该明细数据状态异常");
         }
-        String billsType = warehousebillsitems.getfBilltype();
         TGoods goods = tGoodsMapper.selectTGoodsById(warehousebillsitems.getfGoodsid());
         if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(warehousebillsitems.getfCntrno())) {
             return AjaxResult.error("仓库明细第未找到箱号");
@@ -2969,7 +2984,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehousebillsitems.setfBillstatus(40L);
             tWarehousebillsitems.setUpdateTime(new Date());
             tWarehousebillsitems.setfPid(warehouseBills.getfId());
-            tWarehousebillsitems.setfBsdate(warehouseBills.getfBsdate());
+            if (tWarehousebillsitems.getBsdate() != null){
+                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
+            }else {
+                tWarehousebillsitems.setfBsdate(warehouseBills.getfBsdate());
+            }
             tWarehousebillsitems.setfBillno(warehouseBills.getfBillno());
             tWarehousebillsitems.setUpdateBy(loginUser.getUser().getUserName());
             tWarehousebillsitems.setfSerialNumber(warehousebillsitems.getfSerialNumber());
@@ -3044,6 +3063,30 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (warehousebillsitems.getfBillstatus() > 20L) {
             return AjaxResult.error("该仓库明细状态异常,请确认状态信息");
         }
+        TWarehouseBills bills = tWarehouseBillsMapper.selectTWarehousebillsById(warehousebillsitems.getfPid());
+        if (tWarehousebillsitems.getBsdate() != null  && "0".equals(bills.getfChargetype())){
+            boolean fchargedate = this.getFchargedate(warehousebillsitems.getfPid(), tWarehousebillsitems.getBsdate());
+            if (fchargedate == false){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("入库日期不能小于最小仓储费计算日期");
+            }
+        }
+        Date time = new Date();
+        if (StringUtils.isNotEmpty(bills.getfChargetype()) && "0".equals(bills.getfChargetype())) {
+            time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehousebillsitems.getfPid());
+            tWarehousebillsitems.setfChargedate(time);
+            if (tWarehousebillsitems.getBsdate() != null){
+                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
+            }
+        }else if (StringUtils.isNotEmpty(bills.getfChargetype()) && "1".equals(bills.getfChargetype())){
+            if (tWarehousebillsitems.getBsdate()!= null){
+                time = tWarehousebillsitems.getBsdate();
+                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
+            }else {
+                time = warehousebillsitems.getfBsdate();
+            }
+            tWarehousebillsitems.setfChargedate(time);
+        }
         tWarehousebillsitems.setfBillstatus(30L);
         tWarehousebillsitems.setUpdateTime(new Date());
         tWarehousebillsitems.setUpdateBy(SecurityUtils.getUsername());

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

@@ -640,7 +640,7 @@
             <if test="fTrademodeid != null ">and leg.f_trademodeid = #{fTrademodeid}</if>
             <if test="fNewTrademodeid != null ">and leg.f_new_trademodeid = #{fNewTrademodeid}</if>
             <if test="fCorpid != null ">and leg.f_corpid = #{fCorpid}</if>
-            <if test="fMblno != null ">and leg.f_mblno like concat{'%',#{fMblno},'%'}</if>
+            <if test="fMblno != null ">and leg.f_mblno like concat('%',#{fMblno},'%')</if>
             <if test="fLocation != null  and fLocation ==1 ">
                 and it.f_warehouselocid = #{fWarehouseid}
             </if>
@@ -709,7 +709,7 @@
             <if test="fTrademodeid != null ">and leg.f_trademodeid = #{fTrademodeid}</if>
             <if test="fNewTrademodeid != null ">and leg.f_new_trademodeid = #{fNewTrademodeid}</if>
             <if test="fCorpid != null ">and leg.f_corpid = #{fCorpid}</if>
-            <if test="fMblno != null ">and leg.f_mblno = #{fMblno}</if>
+            <if test="fMblno != null ">and leg.f_mblno like concat('%',#{fMblno},'%')</if>
             <if test="fLocation != null  and fLocation ==1 ">
                 and it.f_warehouselocid = #{fWarehouseid}
             </if>