From 26e4b49b3b51e123e9ce2b055c8e0d37d35df260 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 18 八月 2023 22:05:44 +0800
Subject: [PATCH] #字段结果

---
 server/src/main/resources/mappers/WorkPlansExtMapper.xml |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/server/src/main/resources/mappers/WorkPlansExtMapper.xml b/server/src/main/resources/mappers/WorkPlansExtMapper.xml
index 9ebd258..9667411 100644
--- a/server/src/main/resources/mappers/WorkPlansExtMapper.xml
+++ b/server/src/main/resources/mappers/WorkPlansExtMapper.xml
@@ -121,7 +121,7 @@
        FROM `work_plans` `a`
        LEFT JOIN `department` `dmodel` ON a.DEPART_ID=dmodel.ID
        LEFT JOIN `material_distribute` `mdmodel` ON a.MATERIAL_ID=mdmodel.ID
-       LEFT JOIN `material` `mmodel` ON mdmodel.MATERIAL_ID=mmodel.ID 
+       LEFT JOIN `material` `mmodel` ON mdmodel.MATERIAL_ID=mmodel.ID
        LEFT JOIN `department` `fmodel` ON a.FACTORY_ID=fmodel.ID
        LEFT JOIN `unit` `umodel` ON a.UNIT_ID=umodel.ID
        LEFT JOIN `system_user` `usermodel` ON a.USER_ID=usermodel.ID
@@ -152,6 +152,15 @@
       <if test="batch != null and batch != ''">
         AND `a`.`batch` like concat('%',#{batch},'%')
       </if>
+      <if test="salesorder != null and salesorder != ''">
+        AND `a`.`SALESORDER` like concat('%',#{salesorder},'%')
+      </if>
+      <if test="startDateStart != null and startDateStart != ''">
+        AND `a`.`START_DATE` >= concat(#{startDateStart},' 00:00:00')
+      </if>
+      <if test="startDateEnd != null and startDateEnd != ''">
+        AND concat(#{startDateEnd},' 23:59:59') >= `a`.`START_DATE`
+      </if>
       <if test="planDateStart != null and planDateStart != ''">
         AND `a`.`PLAN_DATE` >= concat(#{planDateStart},' 00:00:00')
       </if>
@@ -159,7 +168,32 @@
         AND concat(#{planDateEnd},' 23:59:59') >= `a`.`PLAN_DATE`
       </if>
     </where>
-        order by a.PLAN_DATE desc, a.CREATE_TIME  desc
+        order by a.START_DATE desc, a.CREATE_TIME  desc
+  </select>
+  <select id="getPlansStaticticsData" parameterType="doumeemes.dao.ext.dto.QueryWorkPlansDTO" resultType="doumeemes.dao.business.dto.statistics.StatisticsPlanDataModel">
+    SELECT count(a.id) as ingNum,
+    (select count(b.id)  FROM `work_plans` b where b.DELETED = 0 AND b.ROOT_DEPART_ID = #{rootDepartId} AND b.DEPART_ID = #{departId}  AND  (b.`STATUS` = 1 and  now() > b.plan_Date  )) as delayNum,
+    (select count(distinct(b.CREATE_USER))  FROM `workorder_record` b left join workorder c on b.workorder_id =c.id where b.DELETED = 0 AND b.ROOT_DEPART_ID = #{rootDepartId} AND b.DEPART_ID = #{departId}  AND c.status in (0,1,2,3,4,7)) as prouserNum,
+    (select count(distinct(b.PRO_DEVICE_ID))  FROM `workorder_record` b left join workorder c on b.workorder_id =c.id where b.DELETED = 0 AND b.ROOT_DEPART_ID = #{rootDepartId} AND b.DEPART_ID = #{departId}  AND c.status in (0,1,2,3,4,7)) as deviceNum,
+    (select sum(ifnull(b.UNQUALIFIED_NUM,0))  FROM `workorder_record` b left join workorder c on b.workorder_id =c.id where b.DELETED = 0 AND b.ROOT_DEPART_ID = #{rootDepartId} AND b.DEPART_ID = #{departId}  AND c.status=4) as unqualifiedNum,
+    (select sum(ifnull(b.NUM,0))  FROM `workorder_record` b left join workorder c on b.workorder_id =c.id where b.DELETED = 0 AND b.ROOT_DEPART_ID = #{rootDepartId} AND b.DEPART_ID = #{departId}  AND c.status=4) as doneNum
+     FROM `work_plans` `a`
+    where
+        a.DELETED = 0 AND a.ROOT_DEPART_ID = #{rootDepartId} AND a.DEPART_ID = #{departId}  AND a.`STATUS` = 1
+  </select>
+  <select id="selectStatisticsList" parameterType="doumeemes.dao.ext.dto.QueryWorkPlansDTO" resultType="doumeemes.dao.business.dto.statistics.WorkPlansPageModel">
+    select a.status,a.code,a.id,a.NUM,m.id as materialId,m.name as categoryName,m.code as materialCode
+   <!-- ,(select sum(b.num) from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) as doneNum
+    ,(select sum(b.QUALIFIED_NUM) from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) as qualifiedNum
+    -->,(select b.route_id from bom b where b.MATERIAL_ID=c.id and b.ROOT_DEPART_ID=a.ROOT_DEPART_ID) as routeId
+
+    FROM `work_plans` `a`
+    LEFT JOIN `material_distribute` c ON a.MATERIAL_ID=c.ID
+    LEFT JOIN `material` m ON c.MATERIAL_ID=m.ID
+    where ( a.status = or (a.status=6 and EXISTS(select b.id from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) ))
+    and  a.deleted=0 and a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId}
+    order by a.CREATE_TIME
+
   </select>
 
 

--
Gitblit v1.9.3