Explorar el Código

更新首页订单状态的回显

Huanyi hace 1 semana
padre
commit
d2f94db516

+ 1 - 1
ruoyi-admin/src/main/resources/application-prod.yml

@@ -60,7 +60,7 @@ spring:
           type: ${spring.datasource.type}
           driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
           # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
-          url: jdbc:sqlserver://192.168.1.250:1433;DatabaseName=HS_ERP_Order;SelectMethod=cursor;encrypt=false
+          url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=HS_ERP_Order;SelectMethod=cursor;encrypt=false
           username: sa
           password: abc,123
         # HTSail_CS 数据源 (yingpaipay-erp 模块专用)

+ 27 - 27
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/domain/ErpClient.java

@@ -52,109 +52,109 @@ public class ErpClient implements Serializable {
     /**
      * 地区
      */
-    @TableField("FAreaID")
+    @TableField("AreaID")
     private String areaId;
 
     /**
      * 销售部门
      */
-    @TableField("FSaleDept")
+    @TableField("SaleDept")
     private String saleDept;
 
     /**
      * 负责人
      */
-    @TableField("FDutyMan")
+    @TableField("DutyMan")
     private String dutyMan;
 
     /**
      * 业务员
      */
-    @TableField("FSaleMan")
+    @TableField("SaleMan")
     private String saleMan;
 
     /**
      * 跟单员
      */
-    @TableField("FTraceMan")
+    @TableField("TraceMan")
     private String traceMan;
 
     /**
      * 客户经理
      */
-    @TableField("FManagerMan")
+    @TableField("ManagerMan")
     private String managerMan;
 
     /**
      * 信用额度
      */
-    @TableField("FCreditAmt")
+    @TableField("CreditAmt")
     private BigDecimal creditAmt;
 
     /**
      * 合同期限
      */
-    @TableField("FContractLimit")
+    @TableField("ContractLimit")
     private String contractLimit;
 
     /**
      * 付款方式
      */
-    @TableField("FPayMode")
+    @TableField("PayMode")
     private String payMode;
 
     /**
      * 计提日期
      */
-    @TableField("FDeductDate")
+    @TableField("DeductDate")
     private Date deductDate;
 
     /**
      * 联系人
      */
-    @TableField("FContactMan")
+    @TableField("ContactMan")
     private String contactMan;
 
     /**
      * 地址
      */
-    @TableField("FContactAddr")
+    @TableField("ContactAddr")
     private String contactAddr;
 
     /**
      * 电话
      */
-    @TableField("FContactTel")
+    @TableField("ContactTel")
     private String contactTel;
 
     /**
      * 手机
      */
-    @TableField("FContactMobile")
+    @TableField("ContactMobile")
     private String contactMobile;
 
     /**
      * 传真
      */
-    @TableField("FContactFax")
+    @TableField("ContactFax")
     private String contactFax;
 
     /**
      * 邮编
      */
-    @TableField("FContactPost")
+    @TableField("ContactPost")
     private String contactPost;
 
     /**
      * 网址
      */
-    @TableField("FContactNet")
+    @TableField("ContactNet")
     private String contactNet;
 
     /**
      * 邮箱
      */
-    @TableField("FContactEmail")
+    @TableField("ContactEmail")
     private String contactEmail;
 
     /**
@@ -238,55 +238,55 @@ public class ErpClient implements Serializable {
     /**
      * 客户简称
      */
-    @TableField("FShortName")
+    @TableField("ShortName")
     private String shortName;
 
     /**
      * 经销商ID
      */
-    @TableField("FDealerID")
+    @TableField("DealerID")
     private String dealerId;
 
     /**
      * 是否经销商
      */
-    @TableField("FIsDealer")
+    @TableField("IsDealer")
     private Integer isDealer;
 
     /**
      * 铝价品种
      */
-    @TableField("FAluVariety")
+    @TableField("AluVariety")
     private String aluVariety;
 
     /**
      * 获价类型
      */
-    @TableField("FAluGainKind")
+    @TableField("AluGainKind")
     private String aluGainKind;
 
     /**
      * 标签名称
      */
-    @TableField("FClientLabel")
+    @TableField("ClientLabel")
     private String clientLabel;
 
     /**
      * 信用等级
      */
-    @TableField("FCreditRating")
+    @TableField("CreditRating")
     private String creditRating;
 
     /**
      * 拼音码
      */
-    @TableField("FPYCode")
+    @TableField("PYCode")
     private String pyCode;
 
     /**
      * 首单日期
      */
-    @TableField("FFirstDate")
+    @TableField("FirstDate")
     private Date firstDate;
 
 }

+ 6 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/mapper/ErpOrderMapper.java

@@ -32,4 +32,10 @@ public interface ErpOrderMapper extends BaseMapperPlus<ErpOrder, ErpOrderVo> {
      */
     ErpOrderVo selectOrderVoById(@org.apache.ibatis.annotations.Param("rowId") String rowId);
 
+    /**
+     * 按综合状态统计订单数量
+     * @Author: Antigravity
+     */
+    java.util.List<java.util.Map<String, Object>> countOrderStatus();
+
 }

+ 9 - 7
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/service/impl/ErpOrderServiceImpl.java

@@ -96,12 +96,14 @@ public class ErpOrderServiceImpl implements IErpOrderService {
 
     @Override
     public Map<Integer, Long> countByStatus() {
-        LambdaQueryWrapper<ErpOrder> lqw = Wrappers.lambdaQuery();
-        lqw.select(ErpOrder::getIsConfirmed);
-        List<ErpOrder> list = baseMapper.selectList(lqw);
-        return list.stream()
-                .filter(o -> o.getIsConfirmed() != null)
-                .collect(Collectors.groupingBy(ErpOrder::getIsConfirmed, Collectors.counting()));
+        List<Map<String, Object>> list = baseMapper.countOrderStatus();
+        Map<Integer, Long> result = new java.util.LinkedHashMap<>();
+        for (Map<String, Object> row : list) {
+            Integer key = ((Number) row.get("statusKey")).intValue();
+            Long value = ((Number) row.get("statusCount")).longValue();
+            result.put(key, value);
+        }
+        return result;
     }
 
     @Override
@@ -185,7 +187,7 @@ public class ErpOrderServiceImpl implements IErpOrderService {
             try {
                 // 根据 erpDocCode 查询 ERP 销售订单
                 LambdaQueryWrapper<org.dromara.erp.domain.ErpSaleOrderMaster> masterLqw = Wrappers.lambdaQuery();
-                masterLqw.eq(org.dromara.erp.domain.ErpSaleOrderMaster::getDocCode, order.getErpDocCode());
+                masterLqw.eq(org.dromara.erp.domain.ErpSaleOrderMaster::getDocCode, order.getDocCode());
                 org.dromara.erp.domain.ErpSaleOrderMaster master = erpSaleOrderMasterMapper.selectOne(masterLqw);
 
                 if (master == null) {

+ 32 - 0
ruoyi-modules/yingpaipay-erp/src/main/resources/mapper/ErpOrderMapper.xml

@@ -237,4 +237,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE o.FRowID = #{rowId}
     </select>
 
+    <!-- 按综合状态统计订单数量 -->
+    <select id="countOrderStatus" resultType="java.util.LinkedHashMap">
+        SELECT 
+            CASE 
+                WHEN m.Finished = 1 THEN 5
+                WHEN m.Finished = 0 AND m.ExFinished = 1 THEN 4
+                WHEN m.Finished = 0 AND m.ExFinished = 0 AND m.Reviewed = 1 THEN 3
+                WHEN m.Finished = 0 AND m.ExFinished = 0 AND m.Reviewed = 0 AND m.Approved = 1 THEN 2
+                WHEN m.Finished = 0 AND m.ExFinished = 0 AND m.Reviewed = 0 AND m.Approved = 0 AND m.Canceled = 1 THEN 6
+                WHEN (m.Canceled IS NULL OR m.Canceled = 0) AND (m.Finished IS NULL OR m.Finished = 0) 
+                     AND (m.ExFinished IS NULL OR m.ExFinished = 0) AND (m.Reviewed IS NULL OR m.Reviewed = 0) 
+                     AND (m.Approved IS NULL OR m.Approved = 0) AND o.FIsConfirmed = 1 THEN 1
+                ELSE 0
+            END as statusKey,
+            COUNT(1) as statusCount
+        FROM t_Applet_Order o
+        LEFT JOIN t_Sale_OrderMaster m ON o.FErpDocCode = m.DocCode
+        GROUP BY 
+            CASE 
+                WHEN m.Finished = 1 THEN 5
+                WHEN m.Finished = 0 AND m.ExFinished = 1 THEN 4
+                WHEN m.Finished = 0 AND m.ExFinished = 0 AND m.Reviewed = 1 THEN 3
+                WHEN m.Finished = 0 AND m.ExFinished = 0 AND m.Reviewed = 0 AND m.Approved = 1 THEN 2
+                WHEN m.Finished = 0 AND m.ExFinished = 0 AND m.Reviewed = 0 AND m.Approved = 0 AND m.Canceled = 1 THEN 6
+                WHEN (m.Canceled IS NULL OR m.Canceled = 0) AND (m.Finished IS NULL OR m.Finished = 0) 
+                     AND (m.ExFinished IS NULL OR m.ExFinished = 0) AND (m.Reviewed IS NULL OR m.Reviewed = 0) 
+                     AND (m.Approved IS NULL OR m.Approved = 0) AND o.FIsConfirmed = 1 THEN 1
+                ELSE 0
+            END
+        ORDER BY statusKey
+    </select>
+
 </mapper>