Browse Source

[bug-3731]设备管理看板-设备检定/校准完成情况数据有误

szjbdgzl 1 year ago
parent
commit
38495b0d18

+ 10 - 10
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/service/impl/StatisticServiceImpl.java

@@ -215,16 +215,16 @@ public class StatisticServiceImpl implements StatisticService {
     }
 
     private List<EquipCalibrationByPositionDTO> getVerificationData(){
-        String planSql = "SELECT  p.name_,p.id_,p.depth_,COALESCE(q.assets, 0) AS assets\n" +
-                "FROM (SELECT name_,id_,depth_ FROM ibps_party_entity WHERE path_ LIKE '%%%s%%' AND depth_ >= 3) p \n" +
-                "LEFT JOIN (SELECT zb.bian_zhi_bu_men_,COUNT(*) AS assets FROM t_mjsbjdxzjhzb zb INNER JOIN t_mjsbjdxzjh jh ON zb.parent_id_ = jh.id_ \n" +
-                "WHERE jh.shi_fou_guo_shen_ = '已完成' AND jh.di_dian_ = '%s' GROUP BY zb.bian_zhi_bu_men_) q ON p.id_ = q.bian_zhi_bu_men_";
-
-        String finishSql = "SELECT p.name_,p.id_,p.depth_,COALESCE(q.assets, 0) AS assets\n" +
-                "FROM (SELECT name_,id_,depth_ FROM ibps_party_entity  WHERE path_ LIKE '%%%s%%' AND depth_ >= 3) p \n" +
-                "LEFT JOIN (SELECT zb.bian_zhi_bu_men_,COUNT(jh.id_) AS assets FROM t_mjsbjdxzjh jh INNER JOIN t_mjsbjdxzjhzb zb ON jh.id_ = zb.record_parentid_ \n" +
-                "WHERE jh.shi_fou_guo_shen_ = '已完成' AND jh.di_dian_='%s' AND zb.shi_shi_ri_qi_ is not null and zb.shi_shi_ri_qi_ !='' GROUP BY zb.bian_zhi_bu_men_) q \n" +
-                "ON p.id_ = q.bian_zhi_bu_men_";
+        String planSql = "SELECT  p.name_,p.id_,p.depth_,COALESCE(q.assets, 0) AS assets " +
+                "FROM (SELECT name_,id_,depth_ FROM ibps_party_entity WHERE path_ LIKE '%%%s%%' AND depth_ >= 3) p  " +
+                "LEFT JOIN (SELECT bian_zhi_bu_men_,COUNT(*) AS assets FROM t_mjsbjdxzjhzb WHERE parent_id_!='' and parent_id_ is not null " +
+                "AND di_dian_ = '%s' GROUP BY bian_zhi_bu_men_) q ON p.id_ = q.bian_zhi_bu_men_ ORDER BY p.id_";
+
+        String finishSql = "SELECT  p.name_,p.id_,p.depth_,COALESCE(q.assets, 0) AS assets " +
+                "FROM (SELECT name_,id_,depth_ FROM ibps_party_entity WHERE path_ LIKE '%%%s%%' AND depth_ >= 3) p  " +
+                "LEFT JOIN (SELECT bian_zhi_bu_men_,COUNT(*) AS assets FROM t_mjsbjdxzjhzb " +
+                "WHERE shi_fou_guo_shen_ = '已完成' and parent_id_!='' and parent_id_ is not null " +
+                "AND di_dian_ = '%s' GROUP BY bian_zhi_bu_men_) q ON p.id_ = q.bian_zhi_bu_men_ ORDER BY p.id_";
 
         planSql = String.format(planSql,getDiDian(),getDiDian());
         finishSql = String.format(finishSql,getDiDian(),getDiDian());

+ 33 - 2
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/EquipmentMaintenancePlanJob.java

@@ -6,9 +6,14 @@ import com.lc.ibps.base.core.util.JacksonUtil;
 import com.lc.ibps.base.core.util.string.StringUtil;
 import com.lc.ibps.base.framework.id.UniqueIdUtil;
 import com.lc.ibps.base.framework.table.ICommonDao;
+import com.lc.ibps.base.saas.token.ITenantTokenService;
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.bpmn.api.IBpmInstService;
+import com.lc.ibps.cloud.entity.APIResult;
 import com.lc.ibps.cloud.message.util.MessageQueueProductorUtil;
 import com.lc.ibps.org.party.persistence.dao.PartyUserCalendarDao;
 import com.lc.ibps.org.party.persistence.entity.PartyUserCalendarPo;
+import org.apache.commons.lang3.StringUtils;
 import org.jetbrains.annotations.NotNull;
 import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
@@ -160,10 +165,16 @@ public class EquipmentMaintenancePlanJob  extends AbstractJob {
         // 开流程推送到负责人(设备档案卡t_sbdj中的保管人guan_li_ren_)
         // 根据主表流程结束的数据查询子表   当前日期加30天==子表计划日期即开启检定校准记录流程
         // 1917 设备检定校准改进
-        insertRecordsFromTemplate("sbjdjzjl");
+        // insertRecordsFromTemplate("sbjdjzjl");
+
+        // 2025-04-10 修改  不再新增校准记录,用计划记录开流程
+        String sql = "UPDATE t_mjsbjdxzjhzb a JOIN t_mjsbjdxzjh b ON a.parent_id_ = b.id_ SET a.marks_ = 'record' " +
+                "WHERE b.shi_fou_guo_shen_ = '已完成' AND a.ji_hua_ri_qi_ <= DATE_ADD(CURDATE(), INTERVAL 30 DAY) " +
+                "AND a.ji_hua_ri_qi_ >= CURRENT_DATE AND a.shi_fou_guo_shen_='待处理'";
+        commonDao.execute(sql);
 
         // 检定/校准计划与实施记录表_子表
-        startWorkflow("t_mjsbjdxzjhzb","jdxzjlb","Process_1drpy0r");
+        this.startWorkflow("t_mjsbjdxzjhzb","jdxzjlb","Process_1drpy0r");
     }
 
     // 设备档案增加使用年限字段,并且到期提前1年提醒设备保管人到期,需要进行报废的消息
@@ -228,4 +239,24 @@ public class EquipmentMaintenancePlanJob  extends AbstractJob {
         }
     }
 
+
+    protected void startWorkflow(String tableName, String formKey, String defKey) {
+        String fetchSql = "SELECT a.id_ id_ FROM t_mjsbjdxzjhzb a inner join t_mjsbjdxzjh b on a.parent_id_=b.id_ " +
+                "where b.shi_fou_guo_shen_='已完成' and a.marks_ = 'record' and a.ji_hua_ri_qi_<=DATE_ADD(CURDATE(), INTERVAL 30 DAY) " +
+                "and a.ji_hua_ri_qi_>=CURRENT_DATE and a.shi_fou_guo_shen_='待处理' ";
+        fetchSql = String.format(fetchSql,tableName);
+        List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(fetchSql);
+        if (BeanUtils.isEmpty(list)) return;
+        IBpmInstService bpmInstService = AppUtil.getBean(IBpmInstService.class);
+        if (StringUtils.isBlank(ContextUtil.getCurrentAccessToken())) {
+            ITenantTokenService tenantTokenService = AppUtil.getBean(ITenantTokenService.class);
+            String accessToken = tenantTokenService.getAccessToken();
+            ContextUtil.setCurrentAccessToken(accessToken);
+        }
+        for (Map<String, Object> objectMap : list) {
+            APIResult<String> result = bpmInstService.startFlowFromList(new String[]{(String) objectMap.get("id_")}, formKey, defKey);
+            result.getState();
+        }
+    }
+
 }