Prechádzať zdrojové kódy

1.仓储主表状态显示:入库、出库、调拨、货转、通关
2.单票分析搜索逻辑去掉提单号、客户名称必填项
3.仓储费新增时,点击费用协议按钮客户名称按字母排序

nzf 3 rokov pred
rodič
commit
0a9dabdc07

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWhgenlegController.java

@@ -103,12 +103,12 @@ public class TWhgenlegController extends BaseController {
      */
     @GetMapping(value = "/singleAnalysis")
     public AjaxResult singleAnalysis(SingleAnalysisExcel singleAnalysisExcel) {
-        if (StringUtils.isNull(singleAnalysisExcel.getfCorpid())) {
+        /*if (StringUtils.isNull(singleAnalysisExcel.getfCorpid())) {
             return AjaxResult.error("请选择货主");
         }
         if (StringUtils.isEmpty(singleAnalysisExcel.getfMblno())) {
             return AjaxResult.error("请输入提单号");
-        }
+        }*/
         List<SingleAnalysisFeesExcel> feesList = tWhgenlegService.selectSingleAnalysisFees(singleAnalysisExcel);
         List<SingleAnalysisExcel> singleAnalysisExcels = tWhgenlegService.selectSingleAnalysis(singleAnalysisExcel);
         Map<String, Object> map = new HashMap<>();

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

@@ -37,6 +37,8 @@ public interface TWarehousebillsitemsMapper extends BaseMapper<TWarehousebillsit
      */
     public List<TWarehousebillsitems> selectTWarehousebillsitemsList(TWarehousebillsitems tWarehousebillsitems);
 
+    public List<TWarehousebillsitems> selectTWarehousebillsitemsListByPidToType(@Param("fPid") Long fPid,@Param("fBilltype") String fBilltype);
+
     /**
      * 新增仓库明细从表
      *

+ 146 - 61
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -881,6 +881,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehousebillsitemsMapper.updatefStorageFeeDeadlinefPid(fPid);
         }
         calculationWarehouseService.calculationBillStatus(warehouseBills);
+        if ("HQZY".equals(warehouseBills.getfBilltype())) {
+            // 根据父级 id,以及父级单据类型,获取从表数据
+            List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(warehouseBills.getfId(), warehouseBills.getfBilltype());
+            List<Long> status = new ArrayList<>();
+            for (TWarehousebillsitems tbs : tb) {
+                if (tbs.getfBillstatus() != 6L) { // 库存状态
+                    status.add(tbs.getfBillstatus());
+                }
+            }
+            int bStatus = status.size(); // 还有多少在计划,为 0 则全部完成
+            if (bStatus != 0) {// 还有未完成
+                warehouseBills.setfItemsStatus(2L);
+            }
+        }
         tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
         TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems();
         warehousebillsitems.setfPid(fPid);
@@ -891,6 +905,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 
     /**
      * 出库明细审批参数是否开启
+     *
      * @return 开启为 true 未开启为 false
      */
     public boolean CKDetailsSwitch() {
@@ -1160,16 +1175,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         //获取订舱单位
         TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
         //应收费用
-        List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
+        List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
         //应付费用
         List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C");
-        warehouseBills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-        warehouseBills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-        if (tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")){
+        warehouseBills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+        warehouseBills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+        if (tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")) {
             warehouseBills.setfCaregoStatus("2");
-        }else if (CollectionUtils.isNotEmpty(fd) && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0){
+        } else if (CollectionUtils.isNotEmpty(fd) && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0) {
             warehouseBills.setfCaregoStatus("1");
-        }else{
+        } else {
             warehouseBills.setfCaregoStatus("1");
         }
         tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
@@ -2662,7 +2677,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         // 创建业务编号 list
         List<String> fSrcBillno = new ArrayList<>();
-        if (StringUtils.isNotNull(warehouseBills.getfBillno())){
+        if (StringUtils.isNotNull(warehouseBills.getfBillno())) {
             fSrcBillno.add(warehouseBills.getfBillno());
         }
         // 这里加个判断取系统参数来确定是否需要启用审批流
@@ -3004,18 +3019,18 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         //获取订舱单位
         TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
         //应收费用
-        List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
+        List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
         //应付费用
         List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C");
         //查询订单最新信息
         TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
-        warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-        warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-        if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){
+        warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+        warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+        if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) {
             warehousebills.setfCaregoStatus("2");
-        }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){
+        } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) {
             warehousebills.setfCaregoStatus("1");
-        }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){
+        } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) {
             warehousebills.setfCaregoStatus("2");
         }
         tWarehouseBillsMapper.updateTWarehousebills(warehousebills);
@@ -3330,7 +3345,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (StringUtils.isNull(warehouseBills.getfCorpid())) {
             return AjaxResult.error("库存明细请检查客户信息,操作终止");
         }
-        warehouseBills.setfItemsStatus(4L);
         warehouseBills.setUpdateTime(new Date());
         warehouseBills.setUpdateBy(SecurityUtils.getUsername());
         Long timestamp = DateUtils.getTimestamp(new Date());
@@ -3477,6 +3491,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tEnclosureMapper.insertTEnclosure(enclosure);
             }
         }
+        // 根据父级 id,以及父级单据类型,获取从表数据
+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(warehouseBills.getfId(), warehouseBills.getfBilltype());
+        List<Long> status = new ArrayList<>();
+        for (TWarehousebillsitems tbs : tb) {
+            if (tbs.getfBillstatus() != 40L) { // 是否都不在完成状态
+                status.add(tbs.getfBillstatus());
+            }
+        }
+        int bStatus = status.size(); // 还有多少未完成状态,为 0 则全部已完成
+        if (bStatus != 0) { // 还有未计划未完成
+            // 更改状态为 某某中
+            warehouseBills.setfItemsStatus(3L);
+        } else { // 全部完成
+            //最后更新仓库主表
+            warehouseBills.setfItemsStatus(4L);
+        }
         TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
         warehouseBills.setfQty(itemInFo.getfQty());
         warehouseBills.setfNetweight(itemInFo.getfNetweight());
@@ -3816,8 +3846,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
             }
         }
-        //最后更新仓库主表
-        tWarehouseBills.setfItemsStatus(4L);
+        // 根据父级 id,以及父级单据类型,获取从表数据
+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(tWarehouseBills.getfId(), tWarehouseBills.getfBilltype());
+        List<Long> status = new ArrayList<>();
+        for (TWarehousebillsitems tbs : tb) {
+            if (tbs.getfBillstatus() != 40L) { // 是否都不在完成状态
+                status.add(tbs.getfBillstatus());
+            }
+        }
+        int bStatus = status.size(); // 还有多少未完成状态,为 0 则全部已完成
+        if (bStatus != 0) { // 还有未计划未完成
+            // 更改状态为 某某中
+            tWarehouseBills.setfItemsStatus(3L);
+        } else { // 全部完成
+            //最后更新仓库主表
+            tWarehouseBills.setfItemsStatus(4L);
+        }
         tWarehouseBills.setfBilltype(billsType);
         tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
         tWarehouseBills.setUpdateTime(new Date());
@@ -3949,7 +3993,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         Long fPid = null;
         Map<String, Object> map = new HashMap<>();
         TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
-        tWarehouseBills.setfItemsStatus(4L);
         Long timestamp = DateUtils.getTimestamp(new Date());
         tWarehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
         tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
@@ -4136,6 +4179,28 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
             }
         }
+        // 根据父级 id,以及父级单据类型,获取从表数据
+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(tWarehouseBills.getfId(), tWarehouseBills.getfBilltype());
+        List<Long> status = new ArrayList<>();
+        for (TWarehousebillsitems tbs : tb) {
+            if (!"HQZY".equals(tWarehouseBills.getfBilltype())) { // 非转货
+                if (tbs.getfBillstatus() != 40L) { // 库存状态
+                    status.add(tbs.getfBillstatus());
+                }
+            } else {
+                if (tbs.getfBillstatus() != 6L) {
+                    status.add(tbs.getfBillstatus());
+                }
+            }
+        }
+        int bStatus = status.size(); // 还有多少在计划,为 0 则全部完成
+        if (bStatus != 0) { // 还有未完成
+            // 更改状态为 xx中
+            tWarehouseBills.setfItemsStatus(3L);
+        } else { // 全部完成
+            //最后更新仓库主表
+            tWarehouseBills.setfItemsStatus(4L);
+        }
         //从表更新完再查从表信息更新主表
         TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehouseBills.getfId());
         tWarehouseBills.setfQty(itemInFo.getfQty());
@@ -6480,7 +6545,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             return AjaxResult.error("未找到入账信息");
         }
         TWarehouseBills tWarehousebills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
-        tWarehousebills.setfItemsStatus(1L); //撤销状态
         tWarehousebills.setUpdateTime(new Date());
         tWarehousebills.setUpdateBy(loginUser.getUsername());
         Long timestamp = DateUtils.getTimestamp(new Date());
@@ -6674,6 +6738,27 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
             }
         }
+        // 根据父级 id,以及父级单据类型,获取从表数据
+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(tWarehousebills.getfId(), tWarehousebills.getfBilltype());
+        List<Long> status = new ArrayList<>();
+        for (TWarehousebillsitems tbs : tb) {
+            if (!"HQZY".equals(tWarehousebills.getfBilltype())) { // 非货转
+                if (tbs.getfBillstatus() != 10L) { // 明细从表数据还有多少不在计划中
+                    status.add(tbs.getfBillstatus());
+                }
+            } else { // 货转时
+                if (tbs.getfBillstatus() != 1L) {
+                    status.add(tbs.getfBillstatus());
+                }
+            }
+        }
+        int bStatus = status.size(); // 还有多少不在计划中,为 0 则全部都在计划中
+        System.err.println("bStatus:" + bStatus);
+        if (bStatus != 0) { // 有数据不在计划中
+            tWarehousebills.setfItemsStatus(3L); //处理中状态
+        } else { // 数据都在计划中
+            tWarehousebills.setfItemsStatus(2L); // 改为待xx
+        }
         //从表更新完再查询主表信息修改入库件数
         TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId());
         tWarehousebills.setfQty(itemInFo.getfQty());
@@ -7252,20 +7337,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
                 }
                 //应收费用
-                List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
+                List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
                 //应付费用
                 List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C");
                 //查询订单最新信息
                 TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
                 //获取订舱单位
                 TCorps tCorps = tCorpsMapper.selectTCorpsById(warehousebills.getfCorpid());
-                warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-                warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-                if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){
+                warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+                warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+                if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) {
                     warehousebills.setfCaregoStatus("2");
-                }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){
+                } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) {
                     warehousebills.setfCaregoStatus("1");
-                }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){
+                } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) {
                     warehousebills.setfCaregoStatus("2");
                 }
                 tWarehouseBillsMapper.updateTWarehousebills(warehousebills);
@@ -7319,20 +7404,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 }
             }
             //应收费用
-            List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
+            List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D");
             //应付费用
             List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C");
             //查询订单最新信息
             TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
             //获取订舱单位
             TCorps tCorps = tCorpsMapper.selectTCorpsById(warehousebills.getfCorpid());
-            warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-            warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){
+            warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+            warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) {
                 warehousebills.setfCaregoStatus("2");
-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){
+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) {
                 warehousebills.setfCaregoStatus("1");
-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){
+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) {
                 warehousebills.setfCaregoStatus("2");
             }
             tWarehouseBillsMapper.updateTWarehousebills(warehousebills);
@@ -7438,20 +7523,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsfeesMapper.updateTWarehousebillsfees(tWarehousebillsfees);
             }
             //应收费用
-            List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "D");
+            List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "D");
             //应付费用
             List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "C");
             //查询订单最新信息
             TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(selectOne.getfId());
             //获取订舱单位
             TCorps tCorps = tCorpsMapper.selectTCorpsById(selectOne.getfCorpid());
-            warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-            warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
-            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){
+            warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+            warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) {
                 warehousebills.setfCaregoStatus("2");
-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){
+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) {
                 warehousebills.setfCaregoStatus("1");
-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){
+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) {
                 warehousebills.setfCaregoStatus("2");
             }
             tWarehouseBillsMapper.updateTWarehousebills(warehousebills);
@@ -8402,6 +8487,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     /**
      * 扣货  fCaregoStatus 传 3 为要改为状态扣货
      * 取消扣货  fCaregoStatus 传 2 为要改为状态放货
+     *
      * @param tWarehouseBills
      * @param loginUser
      * @return
@@ -8409,8 +8495,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     public AjaxResult detention(TWarehouseBills tWarehouseBills, LoginUser loginUser) {
         List<String> stringList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(tWarehouseBills.getOrderList())){
-            tWarehouseBills.getOrderList().stream().forEach(item ->{
+        if (CollectionUtils.isNotEmpty(tWarehouseBills.getOrderList())) {
+            tWarehouseBills.getOrderList().stream().forEach(item -> {
                 TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(item);
                 TWarehouseBills bills = new TWarehouseBills();
                 bills.setfId(item);
@@ -8418,21 +8504,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 //2 取消扣货 3 扣货
                 //获取订舱单位
                 TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
-                if (tWarehouseBills.getfCaregoStatus().equals("2") && warehouseBills.getfCaregoStatus().equals("3")){
-                   tWarehouseBillsMapper.updateTWarehousebills(bills);
-                }else if (tWarehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfCaregoStatus().equals("2")){
+                if (tWarehouseBills.getfCaregoStatus().equals("2") && warehouseBills.getfCaregoStatus().equals("3")) {
+                    tWarehouseBillsMapper.updateTWarehousebills(bills);
+                } else if (tWarehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfCaregoStatus().equals("2")) {
                     tWarehouseBillsMapper.updateTWarehousebills(bills);
-                }else {
+                } else {
                     stringList.add(warehouseBills.getfMblno());
                 }
             });
         }
-        if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("2")){
-            return AjaxResult.error("部分取消扣货失败,订单状态不为扣货的有:"+ org.apache.commons.lang.StringUtils.join(stringList.toArray(), ","));
-        }else if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("3")){
-            return AjaxResult.error("部分扣货失败,订单状态不为放货的有:"+ org.apache.commons.lang.StringUtils.join(stringList.toArray(), ","));
-        }
-        else {
+        if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("2")) {
+            return AjaxResult.error("部分取消扣货失败,订单状态不为扣货的有:" + org.apache.commons.lang.StringUtils.join(stringList.toArray(), ","));
+        } else if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("3")) {
+            return AjaxResult.error("部分扣货失败,订单状态不为放货的有:" + org.apache.commons.lang.StringUtils.join(stringList.toArray(), ","));
+        } else {
             return AjaxResult.success("操作成功");
         }
     }
@@ -8440,9 +8525,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     public void updateMessage(Long fid) {
         List<TFeeDo> list = tFeeDoMapper.selectTFeeDoByfPid(fid);
-        if (CollectionUtils.isNotEmpty(list)){
+        if (CollectionUtils.isNotEmpty(list)) {
             List<Long> collect = list.stream().map(TFeeDo::getfSrcpid).collect(toList());
-            collect.stream().forEach(item ->{
+            collect.stream().forEach(item -> {
                 TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(item);
                 //获取订舱单位
                 TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid());
@@ -8452,16 +8537,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 List<TWarehousebillsfees> tWarehousebillsfees = tWarehousebillsfeesMapper.selectFeesByPId(item, "C");
                 TWarehouseBills tWarehouseBills = new TWarehouseBills();
                 tWarehouseBills.setfId(item);
-                tWarehouseBills.setfRecycle(warehousebillsfees.stream().filter(ei->ei.getfStlamount()!=null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO,BigDecimal::add));
-                tWarehouseBills.setfPay(tWarehousebillsfees.stream().filter(ei->ei.getfStlamount()!=null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO,BigDecimal::add));
+                tWarehouseBills.setfRecycle(warehousebillsfees.stream().filter(ei -> ei.getfStlamount() != null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO, BigDecimal::add));
+                tWarehouseBills.setfPay(tWarehousebillsfees.stream().filter(ei -> ei.getfStlamount() != null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO, BigDecimal::add));
                 //如果订舱单位是凯和 应收尾0 也是放货状态
                 //1:  未放货   应收>0  应收>实收
                 //2:放货      应收>0  应收=实收
-                if ((tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")) && !warehouseBills.getfCaregoStatus().equals("3") ){
+                if ((tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")) && !warehouseBills.getfCaregoStatus().equals("3")) {
                     tWarehouseBills.setfCaregoStatus("2");
-                }else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) > 0){
+                } else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) > 0) {
                     tWarehouseBills.setfCaregoStatus("1");
-                }else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) <= 0){
+                } else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) <= 0) {
                     tWarehouseBills.setfCaregoStatus("2");
                 }
                 tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
@@ -8534,17 +8619,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             // 1.查询原订单信息
             // 2.判断原订单是否卸船 否不能转船
             TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(aLong);
-            if (warehouseBills.getfArrivalStatus().longValue() != 2L){
+            if (warehouseBills.getfArrivalStatus().longValue() != 2L) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                throw  new RuntimeException("提单号"+warehouseBills.getfMblno()+"的订单状态未到港卸货不能转船");
+                throw new RuntimeException("提单号" + warehouseBills.getfMblno() + "的订单状态未到港卸货不能转船");
             }
             // 3.复制原订单数据生成新的订单 系统编号重新生成 新订单提单号为转配船+原提单号 船名航次为选择转船的船名航次 配船状态回复默认值 未配船 离港出运状态回复默认值
             TWarehouseBills bills = new TWarehouseBills();
-            BeanUtils.copyProperties(warehouseBills,bills);
+            BeanUtils.copyProperties(warehouseBills, bills);
             String billNo = billnoSerialServiceImpl.getBillNo("SE", DateUtils.getNowDate());
             bills.setfBillno(billNo);
             bills.setfId(null);
-            bills.setfMblno("转配船"+ bills.getfMblno());
+            bills.setfMblno("转配船" + bills.getfMblno());
             bills.setCreateBy(loginUser.getUsername());
             bills.setCreateTime(new Date());
             bills.setUpdateBy(null);
@@ -8603,7 +8688,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehousebillsfees.setfDc("C");
             tWarehousebillsfees.setfAddress(warehouseBills.getfDestportid());
             List<TWarehousebillsfees> warehousebillsfeesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(tWarehousebillsfees);
-            if (CollectionUtils.isNotEmpty(warehousebillsfeesList)){
+            if (CollectionUtils.isNotEmpty(warehousebillsfeesList)) {
                 for (TWarehousebillsfees warehousebillsfees : warehousebillsfeesList) {
                     warehousebillsfees.setfId(null);
                     warehousebillsfees.setfPid(bills.getfId());
@@ -8634,7 +8719,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehouseBillsMapper.updateKaHeOrder(warehouseBills);
             // 7.获取原订单的应付费用中目的港的费用将单价和金额转为负数然后保存到原订单的应付费用上
             List<TWarehousebillsfees> warehousebillsfees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(tWarehousebillsfees);
-            if (CollectionUtils.isNotEmpty(warehousebillsfees)){
+            if (CollectionUtils.isNotEmpty(warehousebillsfees)) {
                 for (TWarehousebillsfees warehousebillsfee : warehousebillsfees) {
                     warehousebillsfee.setfId(null);
                     warehousebillsfee.setfUnitprice(warehousebillsfee.getfUnitprice().subtract(warehousebillsfee.getfUnitprice().multiply(new BigDecimal(2))));

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

@@ -148,6 +148,7 @@
             <if test="fName != null  and fName != ''"> and corp.f_name like concat('%', #{fName}, '%')</if>
         </where>
         GROUP BY corp.f_name
+        ORDER BY CONVERT(corp.f_name USING gbk) asc
     </select>
 
     <select id="selectAgreementCorpListNoData" parameterType="TCorps" resultType="map">
@@ -160,6 +161,7 @@
         where
         agre.f_status = '0'
         GROUP BY corp.f_name
+        ORDER BY CONVERT(corp.f_name USING gbk) asc
     </select>
 
     <select id="selectTCorpsById" parameterType="Long" resultMap="TCorpsResult">

+ 1 - 1
ruoyi-warehouse/src/main/resources/mapper/reportManagement/TWhgenlegMapper.xml

@@ -575,7 +575,7 @@
         select
             tc.f_id as fId,
             tc.f_name as fName
-        from t_whgenleg tw left join t_corps tc on tw.f_corpid = tc.f_id
+        from t_warehousebills tw left join t_corps tc on tw.f_corpid = tc.f_id
         <where>
             <if test="fId != null and fId != ''">and tw.f_mblno like concat('%',#{fMblno},'%')</if>
         </where>

+ 1 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehouseAgreementMapper.xml

@@ -249,6 +249,7 @@
             t_warehouse_agreement agre
                 LEFT JOIN t_corps corp ON corp.f_id = agre.f_corpid
         <where>
+            agre.f_task_type = 1
             <if test="fCorpId != null  and fCorpId != ''">and corp.f_id = #{fCorpId}</if>
         </where>
     </select>

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

@@ -318,13 +318,25 @@
             '计划'
             WHEN bill.f_billtype = 'HWTG'
             AND bill.f_items_status = '2' THEN
-            '待调拨'
+            '待通关'
             WHEN bill.f_billtype = 'HWTG'
             AND bill.f_items_status = '3' THEN
-            '调拨中'
+            '通关中'
             WHEN bill.f_billtype = 'HWTG'
             AND bill.f_items_status = '4' THEN
-            '已调拨'
+            '已通关'
+            WHEN bill.f_billtype = 'CDZZ'
+            AND bill.f_items_status = '1' THEN
+            '计划'
+            WHEN bill.f_billtype = 'CDZZ'
+            AND bill.f_items_status = '2' THEN
+            '待直装'
+            WHEN bill.f_billtype = 'CDZZ'
+            AND bill.f_items_status = '3' THEN
+            '直装中'
+            WHEN bill.f_billtype = 'CDZZ'
+            AND bill.f_items_status = '4' THEN
+            '已直装'
             END AS fItemsStatus,
             bill.f_billno AS fBillno,
             g.f_name AS fGoodsid,
@@ -2882,11 +2894,15 @@
             LEFT JOIN sys_dict_data dict ON dict.dict_value = item.f_business_type
         WHERE
             dict.status = '0' AND
-            dict.dict_type = 'storage_type' AND
-            w.f_corpid = #{fCorpid}
-            AND item.f_mblno = #{fMblno}
+            dict.dict_type = 'storage_type'
+            <if test="fCorpid != null  and fCorpid != ''">
+                and w.f_corpid = #{fCorpid}
+            </if>
+            <if test="fMblno != null  and fMblno != ''">
+                AND item.f_mblno = #{fMblno}
+            </if>
             AND IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id != '', w.f_id != '')
-            AND IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type'))
+            AND IF(item.f_billtype = 'CDZZ', d.dict_type = 'st_out_type',IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type')))
             <if test='bsdateList != null and bsdateList[0] != null and bsdateList[0]!= ""'>
                 AND item.f_bsdate &gt;= #{bsdateList[0]}
             </if>
@@ -2924,15 +2940,20 @@
             LEFT JOIN t_warehouse ware ON IF(item.f_billtype = 'CKDB', ware.f_id = item.f_transfer_warehouselocid, ware.f_id = item.f_warehouselocid)
             LEFT JOIN sys_dict_data d ON d.dict_value = f.f_business_type
         WHERE
-            item.f_mblno = #{fMblno}
-            AND IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id != '', w.f_id != '')
-            AND IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type'))
+            IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id != '', w.f_id != '')
+            AND IF(item.f_billtype = 'CDZZ', d.dict_type = 'st_out_type',IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type')))
             <if test='bsdateList != null and bsdateList[0] != null and bsdateList[0]!= ""'>
                 AND item.f_bsdate &gt;= #{bsdateList[0]}
             </if>
             <if test='bsdateList != null and bsdateList[1] != null and bsdateList[1]!= ""'>
                 AND item.f_bsdate &lt;= #{bsdateList[1]}
             </if>
+            <if test="fMblno != null and fMblno != ''">
+                and item.f_mblno = #{fMblno}
+            </if>
+            <if test="fEmblno != null  and fEmblno != ''">
+                and w.f_emblno like concat('%', #{fEmblno}, '%')
+            </if>
         order by f.create_time asc
     </select>
     <!--凯和导出清单根据船名航次-->

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

@@ -172,6 +172,15 @@
         </where>
     </select>
 
+    <select id="selectTWarehousebillsitemsListByPidToType" parameterType="TWarehousebillsitems"
+            resultMap="TWarehousebillsitemsResult">
+        <include refid="selectTWarehousebillsitemsVo"/>
+        where
+        f_pid = #{fPid}
+        and
+        f_billtype = #{fBilltype}
+    </select>
+
     <select id="selectGoodsTransferitemsList" parameterType="TWarehousebillsitems" resultType="Map">
         SELECT DISTINCT
             item.f_id AS fId,