Эх сурвалжийг харах

修改小程序提醒错误以及放行接口增加参数

baihe 3 жил өмнө
parent
commit
7d94f0a9ca

+ 4 - 1
application-facade/src/main/java/com/factory/controller/wx/PlanReminderController.java

@@ -62,7 +62,10 @@ public class PlanReminderController {
     @ApiOperation(value = "计划提醒确认")
     @PostMapping("/operate")
     public ResponseBean<Void> passOperate(@RequestBody PlanInfoReq planInfoReq) {
-        planReminderService.confirmReminder(planInfoReq);
+        int r = planReminderService.confirmReminder(planInfoReq);
+        if(r==0) {
+        	return ResponseBeanBuilder.fail("无权限或已经提醒");
+        }
         return ResponseBeanBuilder.ok();
     }
 

+ 4 - 0
application-facade/src/main/java/com/factory/wx/entity/req/PlanInfoReq.java

@@ -27,6 +27,10 @@ public class PlanInfoReq {
 
     @ApiModelProperty(value = "计划类型")
     private int planType;
+    
     @ApiModelProperty(value = "角色列表",hidden=true)
     private List<Long> roleIds;
+    
+    @ApiModelProperty(value = "任务ID")
+    private Long taskId;
 }

+ 3 - 0
application-facade/src/main/java/com/factory/wx/entity/res/ReminderRes.java

@@ -28,5 +28,8 @@ public class ReminderRes {
 
     @ApiModelProperty(value = "提醒状态")
     private int status;
+    
+    @ApiModelProperty(value = "任务ID")
+    private Long taskId;
 
 }

+ 1 - 1
application-facade/src/main/java/com/factory/wx/mapper/ReminderMapper.java

@@ -31,5 +31,5 @@ public interface ReminderMapper {
      *
      * @param planInfoReq
      */
-    void confirmReminder(PlanInfoReq planInfoReq);
+    int confirmReminder(PlanInfoReq planInfoReq);
 }

+ 1 - 1
application-facade/src/main/java/com/factory/wx/service/PlanReminderService.java

@@ -35,7 +35,7 @@ public interface PlanReminderService {
      *
      * @param planInfoReq
      */
-    void confirmReminder(PlanInfoReq planInfoReq);
+    int confirmReminder(PlanInfoReq planInfoReq);
 
     /**
      * 首件计划提醒详情

+ 10 - 8
application-facade/src/main/java/com/factory/wx/service/impl/PlanPassFAServiceImpl.java

@@ -135,19 +135,21 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
                 SearchPlanPassReq searchReq = new SearchPlanPassReq();
                 searchReq.setWorkshopId(planPassWorkshopList.get(i).getWorkshopId());
                 searchReq.setResultFlag(1);
+                searchReq.setTypeFlag(faInfo.getTypeFlag());
                 //只选择有问题的
                 List<PlanPassItemRes> planPassItemList = planPassMapper.getFaPassItemList(searchReq);
 
                 for (PlanPassItemRes planPassItemRes : planPassItemList) {
+                	List<PlanPassItemResultRes> firstItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), faInfo.getTypeFlag(),1);
                 	
-                    List<PlanPassItemResultRes> firstItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 0,1);
-                    planPassItemRes.setFirstItemResultList(firstItemResultList);
+                	if( faInfo.getTypeFlag()==0) {
+                		planPassItemRes.setFirstItemResultList(firstItemResultList);
+                	}else if( faInfo.getTypeFlag()==1) {
+                		planPassItemRes.setTwoHundredItemResultList(firstItemResultList);
+                	}else if( faInfo.getTypeFlag()==3) {
+                		planPassItemRes.setCatchItemResultList(firstItemResultList);
+                	}
 
-                    List<PlanPassItemResultRes> twoHundredItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 1,1);
-                    planPassItemRes.setTwoHundredItemResultList(twoHundredItemResultList);
-
-                    List<PlanPassItemResultRes> catchItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 2,1);
-                    planPassItemRes.setCatchItemResultList(catchItemResultList);
                 }
                 planPassWorkshopList.get(i).setItemList(planPassItemList);
 
@@ -293,7 +295,7 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
         searchReq.setTaskId(taskId);
         searchReq.setItemId(itemId);
         searchReq.setTypeFlag(typeFlag);
-        searchReq.setTypeFlag(resultFlag);
+        searchReq.setResultFlag(resultFlag);
         List<PlanPassItemResultRes> planPassItemResultResList = planPassMapper.getFaPassItemResultList(searchReq);
         return planPassItemResultResList;
     }

+ 3 - 3
application-facade/src/main/java/com/factory/wx/service/impl/PlanReminderServiceImpl.java

@@ -112,14 +112,14 @@ public class PlanReminderServiceImpl implements PlanReminderService {
     }
 
     @Override
-    public void confirmReminder(PlanInfoReq planInfoReq) {
+    public int confirmReminder(PlanInfoReq planInfoReq) {
     	List<Long> roleIds =userRoleService.getRoleIdsByUserId(planInfoReq.getUserId());
     	if(roleIds.isEmpty()) {
     		log.error("没有权限确认超时任务{}",planInfoReq);
-    		return;
+    		return 0;
     	}
     	planInfoReq.setRoleIds(roleIds);
-        reminderMapper.confirmReminder(planInfoReq);
+        return reminderMapper.confirmReminder(planInfoReq);
     }
 
     /**

+ 12 - 1
application-facade/src/main/resources/mapper/PlanPassMapper.xml

@@ -143,7 +143,7 @@
     </select>
     <!-- 取得首件工作站下的巡检项目 -->
     <select id="getFaPassItemList" resultType="com.factory.wx.entity.res.PlanPassItemRes">
-        SELECT fai.id AS item_id,
+        SELECT DISTINCT fai.id AS item_id,
                fai.item_content,
                fai.item_standard,
                fai.prefix,
@@ -174,6 +174,17 @@
 	          	and fair.result = 0
 	         </when>
           </choose>
+          <choose>
+	         <when test="req.typeFlag!=null and req.typeFlag==2">
+	          	and fai.catch_flag = 1
+	         </when>
+	         <when test="req.typeFlag!=null and req.typeFlag==1">
+	          	and fai.two_hundred_flag = 1
+	         </when>
+	         <when test="req.typeFlag!=null and req.typeFlag==0">
+	          	and fai.first_flag = 1
+	         </when>
+          </choose>
     </select>
     <!-- 取得首件检查结果 -->
     <select id="getFaPassItemResultList" resultType="com.factory.wx.entity.res.PlanPassItemResultRes">

+ 17 - 5
application-facade/src/main/resources/mapper/ReminderMapper.xml

@@ -9,7 +9,8 @@
         bp.id AS plan_id,
         bp.`name` AS name,
         bp.plan_type AS plan_type,
-        rat.`status` AS status
+        rat.`status` AS status,
+        ot.id as taskId
         FROM
         remind_approval_task rat,
         onsite_task ot,
@@ -32,7 +33,8 @@
         bp.id AS plan_id,
         bp.`name` AS name,
         bp.plan_type AS plan_type,
-        rat.`status` AS status
+        rat.`status` AS status,
+        ot.id as taskId
         FROM
         remind_approval_task rat,
         first_article_task ot,
@@ -54,10 +56,20 @@
     </select>
     <update id="confirmReminder" parameterType="com.factory.wx.entity.req.PlanInfoReq">
         UPDATE remind_approval_task rat
-        join onsite_task ot on ot.id = rat.task_id
-        join onsite_calendar oc on ot.onsite_calendar_id = oc.id
+        <choose>
+        	<when test="planType==2">
+        	join onsite_task ot on ot.id = rat.task_id 
+        	join onsite_calendar oc on ot.onsite_calendar_id = oc.id
+        	</when>
+        	<otherwise>
+        	join first_article_task ot on ot.id = rat.task_id 
+        	join first_article_calendar oc on ot.first_article_calendar_id = oc.id
+        	</otherwise>
+        </choose>
+        
         SET rat.`status` = 1,rat.approval_user_id = #{userId}
-        WHERE oc.benteler_plan_id = #{planId} AND rat.approval_role_id = 
+        WHERE oc.benteler_plan_id = #{planId} AND rat.task_id=#{taskId} and rat.`status` = 0
+        and rat.approval_role_id in
         <foreach collection="roleIds" open="(" close=")" separator="," item="roleId">
         	#{roleId}
         </foreach>