jiangping
2023-08-18 af00e89990ae9757cc9261cbe560873c2066b69c
server/src/main/resources/mappers/WorkPlansExtMapper.xml
@@ -26,6 +26,7 @@
      `workPlans`.`ORIGIN`,
      `workPlans`.`PLAN_CODE`,
      `workPlans`.`PLAN_DATE`,
      `workPlans`.`START_DATE`,
      `workPlans`.`MATERIAL_ID`,
      `workPlans`.`UNIT_ID`,
      `workPlans`.`NUM`,
@@ -34,6 +35,7 @@
      `workPlans`.`IMPORT_ID`,
      `workPlans`.`PAUSED`,
      `workPlans`.`USER_ID`,
      `workPlans`.`SALESORDER`,
      `workPlans`.`PUBLISH_DATE`
    FROM `work_plans` `workPlans`
    <where>
@@ -76,6 +78,9 @@
      <if test="planDate != null">
        AND `workPlans`.`PLAN_DATE` = #{planDate}
      </if>
      <if test="startDate != null">
        AND `workPlans`.`START_DATE` = #{startDate}
      </if>
      <if test="materialId != null">
        AND `workPlans`.`MATERIAL_ID` = #{materialId}
      </if>
@@ -103,6 +108,9 @@
      <if test="publishDate != null">
        AND `workPlans`.`PUBLISH_DATE` = #{publishDate}
      </if>
      <if test="salesorder != null">
        AND `workPlans`.`SALESORDER` = #{salesorder}
      </if>
    </where>
  </select>
@@ -113,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
@@ -144,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>
@@ -151,7 +168,18 @@
        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 unqualifiedRate,
    (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>