瀏覽代碼

Merge remote-tracking branch 'origin/master'

wangxichen 1 天之前
父節點
當前提交
dd3160ddf2

+ 2 - 2
src/main/java/com/jeesite/modules/mes/web/MesProductRecordController.java

@@ -266,7 +266,7 @@ public class MesProductRecordController extends BaseController {
 		if (!StringUtils.isBlank(prefixConf)) {
 			for (String p : prefixConf.split(",")) {
 				String t = p.trim();
-				if (!t.isEmpty()) prefixList.add(t);
+				if (!t.isEmpty() && !"+KC14".equalsIgnoreCase(t) && !"+KC10".equalsIgnoreCase(t)) prefixList.add(t);
 			}
 		}
 		model.addAttribute("prefixList", prefixList);
@@ -315,7 +315,7 @@ public class MesProductRecordController extends BaseController {
 		if (!StringUtils.isBlank(prefixConf)) {
 			for (String p : prefixConf.split(",")) {
 				String t = p.trim();
-				if (!t.isEmpty()) prefixes.add(t);
+				if (!t.isEmpty() && !"+KC14".equalsIgnoreCase(t) && !"+KC10".equalsIgnoreCase(t)) prefixes.add(t);
 			}
 		}
 

+ 4 - 4
src/main/resources/config/application.yml

@@ -1012,14 +1012,14 @@ mes:
     # 本机统计的产品前缀(多服务器汇总后大屏展示的列顺序)
     # TODO: 改为 T09 实际车型款号前缀,例如 +KC10,+KC20
     product:
-      prefixes: +KC10
+      prefixes: +KB60
     # 工序计件统计页面展示的前缀(不配置则回退到 product.prefixes,仅影响后台页面,不影响大屏)
     page:
-      prefixes: +KC10
+      prefixes: +KB60
     # 本机主产(本地产线)的产品前缀。页面合并多机数据时,不在此列表的前缀视为"混做"(从其他产线流入),前端用颜色区分。
-    homePrefixes: +KC10
+    homePrefixes: +KC10,+KB60
     # 产品前缀 → 主产服务器映射。local=本机;其余填 peer 地址。格式:前缀=来源;前缀=来源
-    prefixHome: +KC10=local
+    prefixHome: +KC10=local;+KB60=local
     # 本机来源代号(页面按来源服务器给数量染色)
     localSource: T09
     # peer 地址 → 来源代号映射(前端按代号配色)。格式:地址=代号;地址=代号

+ 16 - 10
src/main/resources/mappings/modules/mes/MesProductRecordDao.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.jeesite.modules.mes.dao.MesProductRecordDao">
 
-    <!-- 查询数据
+    <!-- 查询数据 -->
     <select id="findList" resultType="MesProductRecord">
         SELECT ${sqlMap.column.toSql()}
         FROM ${sqlMap.table.toSql()}
@@ -10,7 +10,7 @@
             ${sqlMap.where.toSql()}
         </where>
         ORDER BY ${sqlMap.order.toSql()}
-    </select> -->
+    </select>
 
     <select id="findBySn" resultType="com.jeesite.modules.mes.entity.MesProductRecord">
         SELECT ${sqlMap.column.toSql()}
@@ -61,7 +61,8 @@
     <select id="pieceworkStat" resultType="java.util.HashMap">
         SELECT
             r.oprno,
-            LEFT(r.sn, 5) AS productPrefix,
+            CASE WHEN LEFT(r.sn, 1) = '+' THEN LEFT(r.sn, 5)
+                 ELSE CONCAT('+', LEFT(r.sn, 4)) END AS productPrefix,
             CASE WHEN TIME(r.update_date) &gt;= '08:30:00' AND TIME(r.update_date) &lt; '20:30:00'
                  THEN 'day' ELSE 'night' END AS shift,
             r.content    AS result,
@@ -73,22 +74,25 @@
           AND r.update_date &gt;= #{params.dateStart}
           AND r.update_date &lt;  #{params.dateEnd}
           <if test="params.prefixes != null and params.prefixes.size() > 0">
-          AND LEFT(r.sn, 5) IN
+          AND (CASE WHEN LEFT(r.sn, 1) = '+' THEN LEFT(r.sn, 5)
+                    ELSE CONCAT('+', LEFT(r.sn, 4)) END) IN
               <foreach collection="params.prefixes" item="p" open="(" separator="," close=")">
                   #{p}
               </foreach>
           </if>
-        GROUP BY r.oprno, LEFT(r.sn, 5),
+        GROUP BY r.oprno, CASE WHEN LEFT(r.sn, 1) = '+' THEN LEFT(r.sn, 5)
+                               ELSE CONCAT('+', LEFT(r.sn, 4)) END,
             CASE WHEN TIME(r.update_date) &gt;= '08:30:00' AND TIME(r.update_date) &lt; '20:30:00'
                  THEN 'day' ELSE 'night' END,
             r.content
-        ORDER BY r.oprno ASC, LEFT(r.sn, 5) ASC
+        ORDER BY r.oprno ASC, productPrefix ASC
     </select>
     <!-- 按小时统计今日产量,用于趋势图 -->
     <select id="pieceworkHourlyStat" resultType="java.util.HashMap">
         SELECT
             HOUR(r.update_date) AS hour,
-            LEFT(r.sn, 5)       AS productPrefix,
+            CASE WHEN LEFT(r.sn, 1) = '+' THEN LEFT(r.sn, 5)
+                 ELSE CONCAT('+', LEFT(r.sn, 4)) END AS productPrefix,
             COUNT(*)            AS cnt
         FROM mes_product_record r
         WHERE r.line_sn = 'XT'
@@ -97,12 +101,14 @@
           AND r.update_date &gt;= #{params.dateStart}
           AND r.update_date &lt;  #{params.dateEnd}
           <if test="params.prefixes != null and params.prefixes.size() > 0">
-          AND LEFT(r.sn, 5) IN
+          AND (CASE WHEN LEFT(r.sn, 1) = '+' THEN LEFT(r.sn, 5)
+                    ELSE CONCAT('+', LEFT(r.sn, 4)) END) IN
               <foreach collection="params.prefixes" item="p" open="(" separator="," close=")">
                   #{p}
               </foreach>
           </if>
-        GROUP BY HOUR(r.update_date), LEFT(r.sn, 5)
+        GROUP BY HOUR(r.update_date), CASE WHEN LEFT(r.sn, 1) = '+' THEN LEFT(r.sn, 5)
+                                           ELSE CONCAT('+', LEFT(r.sn, 4)) END
         ORDER BY HOUR(r.update_date) ASC
     </select>
-</mapper>
+</mapper>

+ 2 - 6
src/main/resources/views/modules/mes/mesScreen2.html

@@ -372,12 +372,8 @@
        临界点左闭右开
     */
     function currentDisplayMode(){
-        var d = new Date();
-        var mins = d.getHours() * 60 + d.getMinutes();
-        if (mins >= 510  && mins < 630)  return 'both';      // 08:30-10:30
-        if (mins >= 630  && mins < 1230) return 'dayOnly';   // 10:30-20:30
-        if (mins >= 1230 && mins < 1350) return 'both';      // 20:30-22:30
-        return 'nightOnly';                                  // 22:30-次日08:30
+        // 大屏固定同时显示白班和夜班,不再按当前时间切换显示列。
+        return 'both';
     }
     /* 给表头标记当前班次;mode 切换时重建表头并重渲数据 */
     var lastDisplayMode = null;