Min 1 year ago
parent
commit
9a189d65b1

+ 3 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -282,6 +282,9 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             else if("plan/orderInsert".equals(pageRouter)){
                 title="收到新的插单计划";
             }
+            else if("notReport".equals(pageRouter)){
+                title="报工未填报提醒";
+            }
             cardJson.put("title", title);
             cardJson.put("description", msg);
             cardJson.put("url", jumpUrl);

+ 8 - 14
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/task/TimingTask.java

@@ -176,6 +176,9 @@ public class TimingTask {
             }
             //发送推送提醒
             Company company = companyMapper.selectById(wxCorpInfo.getCompanyId());
+            if(company==null){
+                continue;
+            }
             //过期公司不提醒
             if(company.getExpirationDate().isBefore(LocalDateTime.now())){
                 return;
@@ -184,21 +187,12 @@ public class TimingTask {
             userList.forEach(u->{
                 if (u.get("corpwxUserid") != null){
                     //推送到企业微信
+                    StringBuilder stringBuilder=new StringBuilder();
                     String corpUid = (String) u.get("corpwxUserid");
-                    JSONObject json=new JSONObject();
-                    JSONArray dataJson=new JSONArray();
-                    JSONObject jsonObj=new JSONObject();
-                    jsonObj.put("key", "提示");
-                    jsonObj.put("value", "请尽快填写昨日的报工");
-                    dataJson.add(jsonObj);
-                    if(isPrivateDeploy){
-                        json.put("content","请尽快填写昨日的报工"+"\\n<a href=\\\"https://open.weixin.qq.com/connect/oauth2/authorize?appid="+suitId+"&redirect_uri="+pcUrl+"/api/corpInsideWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect\\\">去填写</a>");
-                    }else {
-                        json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");
-                        json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
-                        json.put("content_item",dataJson);
-                    }
-                    wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo, corpUid, json);
+                    stringBuilder.append("工序名称:"+String.valueOf(u.get("procedureName"))+"\n"
+                            +"         产品名称:"+String.valueOf(u.get("productName"))+"\n"
+                            +"         排产工单号:"+String.valueOf(u.get("planNum")));
+                    wxCorpInfoService.sendWXCorpMsg(wxCorpInfo,corpUid,stringBuilder.toString(),"notReport",null);
                 }
             });
         }

+ 11 - 6
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/UserMapper.xml

@@ -118,12 +118,17 @@
 
 
     <select id="getPushUserList" resultType="java.util.Map">
-        SELECT a.id, a.wx_openid as wxOpenid, a.corpwx_userid as corpwxUserid, a.name, a.phone, b.department_name AS departmentName
-        FROM user AS a LEFT JOIN  department b ON a.department_id = b.department_id
-        WHERE a.company_id = #{companyId}
-        AND (a.wx_openid IS NOT NULL or corpwx_userid is not null)
-        AND a.is_active = 1
-        AND NOT EXISTS(SELECT 1 FROM report WHERE report.`creator_id` = a.id AND report.`create_date` = DATE_FORMAT(NOW(), '%Y-%m-%d'))
+         select a.id, a.wx_openid as wxOpenid, a.corpwx_userid as corpwxUserid, a.name, a.phone,pp.name as procedureName,p.name as productName,plan.product_scheduling_num as planNum,plan.plan_type as planType
+         from  prod_procedure_team as ppt
+         left join user a on a.id=ppt.user_id
+         left join plan_procedure_total ppt2 on ppt2.id=ppt.plan_procedure_id
+         left join prod_procedure pp on pp.id=ppt2.prod_procedure_id
+         left join product p on p.id=pp.product_id
+         left join plan on plan.id= ppt2.plan_id
+         where ppt.company_id = #{companyId}
+            AND ppt.progress &lt; 100
+         AND NOT EXISTS(SELECT 1 FROM report
+         WHERE report.`creator_id` = ppt.user_id AND report.user_procedure_team_id=ppt.id AND report.`create_date` = DATE_FORMAT(NOW(), '%Y-%m-%d') )
     </select>