Browse Source

解决后端数据隔离bug

oyq28 3 years ago
parent
commit
6bdb0cbb8e

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/dao/TTaskMapper.java

@@ -44,7 +44,7 @@ public interface TTaskMapper extends SuperMapper<TTask> {
     List<Map> getTaskCountByResource(Map map);
 
 
-    Map<String,String> getTaskDdCount();
+    Map<String,String> getTaskDdCount(Map map);
 
     List<TTask> getTaskInfo(Map map);
 

+ 13 - 10
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java

@@ -34,6 +34,7 @@ import com.github.zuihou.business.productionResourceCenter.dao.Productionresourc
 import com.github.zuihou.business.productionResourceCenter.dao.ZZoneMapper;
 import com.github.zuihou.business.productionResourceCenter.entity.*;
 import com.github.zuihou.business.productionResourceCenter.service.RepairService;
+import com.github.zuihou.business.util.CommonUtil;
 import com.github.zuihou.business.util.MsgUtil;
 import com.github.zuihou.common.constant.BizConstant;
 import com.github.zuihou.common.constant.CacheKey;
@@ -651,6 +652,7 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         getQueryMap(map);
         String planId = map.get("planId")==null?"":map.get("planId").toString();
         String planIds = map.get("planIds")==null?"":map.get("planIds").toString();
+
         LbqWrapper<TTask> wrapper = new LbqWrapper<TTask>().eq(TTask::getTaskBatchNo,taskBatchNo).eq(TTask::getDraftFlag,draftFlag).eq(TTask::getPlanId,planId);
         if(StringUtil.isNotEmpty(planIds)){
             wrapper.in(TTask::getPlanId,planIds);
@@ -721,6 +723,8 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         String planId = map.get("planId")==null?"":map.get("planId").toString();
         String planIds = map.get("planIds")==null?"":map.get("planIds").toString();
         String pArr[] = map.get("planIds")==null?null:planIds.split(",");
+//        String startDate = map.get("startDate")==null?"":map.get("startDate").toString();
+//        String endDate = map.get("endDate")==null?"":map.get("endDate").toString();
 
         String mulPlanStatus = map.get("mulPlanStatus")==null?"":map.get("mulPlanStatus").toString();
         //从排产调度来的,是通过查询计划
@@ -747,7 +751,7 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
 //        String queryDate = StringUtil.changeIdsListToSubQueryStr(dateStrList);
 //        String dateSql = "select * from c_common_date_info where left(date, 10)  in ("+queryDate+") ";
 //        List<Map<String,Object>> dateList = scheduleUserDateMapper.selectSql(dateSql);
-        List <Map<String,Object>>titleList = getHourTtileList();
+        List <Map<String,Object>>titleList = getHourTtileList(null);
 
 
         List<Map>returnList = new ArrayList<Map>();
@@ -764,6 +768,7 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         queryMap.put("draftFlag",draftFlag);
         queryMap.put("planId",planId);
         queryMap.put("planIds",planIds);
+        queryMap.put("orgIds", CommonUtil.getOrgIdsStr());
         List<Map> dataList = baseMapper.getTaskList(queryMap);
         Map<String,List<Map>>m = dataList.stream().filter(t->t.get("resourceCode")!=null).collect(Collectors.groupingBy(t->t.get("resourceCode").toString()));
         //根据设备编码找到名称
@@ -828,9 +833,10 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
     }
 
 
-    static  List<Map<String,Object>>getHourTtileList(){
+    static  List<Map<String,Object>>getHourTtileList(Date date){
         List<Map<String,Object>>l = new ArrayList<Map<String,Object>>();
         boolean b =true;
+        String dateStr =  DateUtil.dateToString(date==null? new Date() : date);
         for(int j = 0;j<=47;j++){
             String t = j/2+"";
             if(b){
@@ -840,19 +846,14 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
             }
             b = !b;
             Map fieldMap = new HashMap();
-            fieldMap.put("field",t);
-            fieldMap.put("text", t);
+            fieldMap.put("field", t);
+            fieldMap.put("text", dateStr+" "+t);
             fieldMap.put("id",t);
             l.add(fieldMap);
         }
         return l;
     }
 
-    public static void main(String args[]){
-        List list = getHourTtileList();
-        System.err.println();
-    }
-
     /**
      * 算法分配准备,准备好数据,准备调用
      * @param task
@@ -923,7 +924,9 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
 
     @Override
     public Map<String,Integer> getTaskCount(){
-        Map<String,String> map = baseMapper.getTaskDdCount();
+        Map paramsMap = Maps.newHashMap();
+        paramsMap.put("orgIds", CommonUtil.getOrgIdsStr());
+        Map<String,String> map = baseMapper.getTaskDdCount(paramsMap);
         Map<String,Integer> entryMap = Maps.newHashMap();
         for(Map.Entry<String,String> entry: map.entrySet()){
             Object object = entry.getValue();

+ 21 - 4
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/TTaskMapper.xml

@@ -57,6 +57,8 @@
         from imcs_t_task a
         left join imcs_b_bom bo on a.bom_id = bo.id
         left join imcs_tenant_productionresource f on a.resource_id = f.id
+        left join imcs_o_order o on a.order_id = o.id
+        left join imcs_z_zone z on o.zone_id = z.id
         where 1=1
         <if test="taskBatchNo != null and taskBatchNo != ''">
             and task_batch_no = #{taskBatchNo}
@@ -73,6 +75,9 @@
         <if test="draftFlag != null and draftFlag != ''">
             and draft_flag = #{draftFlag}
         </if>
+        <if test="orgIds != null and orgIds != ''">
+            and z.org_id in (${orgIds})
+        </if>
         order by expect_start_time asc
             limit  ${current},${size}
     </select>
@@ -202,13 +207,25 @@
     <select id="getTaskDdCount" resultType="map">
         select sum(producePlan) as producePlan,sum(delayPlan) as delayPlan,sum(producePart)producePart ,sum(badPart)badPart from
         (
-        select count(0)producePlan,0 as delayPlan,0 as producePart,0 as badPart from imcs_p_plan p where p.plan_status = '2'
+        select count(0)producePlan,0 as delayPlan,0 as producePart,0 as badPart from imcs_p_plan p left join imcs_o_order o on p.order_id=o.id left join imcs_z_zone z ON o.zone_id = z.id where p.plan_status = '2'
+        <if test="orgIds != null and orgIds != ''">
+            and z.org_id in (${orgIds})
+        </if>
         union ALL
-        select 0 producePlan,COUNT(0) as delayPlan,0 as producePart,0 as badPart from imcs_p_plan p where p.finish_produce_time>p.end_time
+        select 0 producePlan,COUNT(0) as delayPlan,0 as producePart,0 as badPart from imcs_p_plan p left join imcs_o_order o on p.order_id=o.id left join imcs_z_zone z ON o.zone_id = z.id where p.finish_produce_time>p.end_time
+        <if test="orgIds != null and orgIds != ''">
+            and z.org_id in (${orgIds})
+        </if>
         union ALL
-        select 0 producePlan, 0 as delayPlan,COUNT(0) producePart,0 as badPart from imcs_t_workpiece w where w.is_end = '0'
+        select 0 producePlan, 0 as delayPlan,COUNT(0) producePart,0 as badPart from imcs_t_workpiece w left join imcs_o_order o on w.order_id=o.id left join imcs_z_zone z ON o.zone_id = z.id where w.is_end = '0'
+        <if test="orgIds != null and orgIds != ''">
+            and z.org_id in (${orgIds})
+        </if>
         union ALL
-        select  0 producePlan, 0  delayPlan,0 producePart,count(0) as badPart from imcs_t_workpiece w where w.test_result = '0'
+        select  0 producePlan, 0  delayPlan,0 producePart,count(0) as badPart from imcs_t_workpiece w left join imcs_o_order o on w.order_id=o.id left join imcs_z_zone z ON o.zone_id = z.id where w.test_result = '0'
+        <if test="orgIds != null and orgIds != ''">
+            and z.org_id in (${orgIds})
+        </if>
         )a
     </select>