Explorar o código

Merge remote-tracking branch 'origin/master'

yusm hai 4 meses
pai
achega
62897602fe

+ 3 - 3
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/components/common/formForm/formItem.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <template v-if="element.type === 'input'">
   <template v-if="element.type === 'input'">
     <van-field
     <van-field
-      v-model="element.options.defaultValue"
+      v-model.trim="element.options.defaultValue"
       :label="element.label"
       :label="element.label"
       :name="element.model"
       :name="element.model"
       :maxlength="element.options?.maxlength"
       :maxlength="element.options?.maxlength"
@@ -18,7 +18,7 @@
   </template>
   </template>
   <template v-if="element.type === 'number'">
   <template v-if="element.type === 'number'">
     <van-field
     <van-field
-      v-model="element.options.defaultValue"
+      v-model.trim="element.options.defaultValue"
       type="number"
       type="number"
       :label="element.label"
       :label="element.label"
       :name="element.model"
       :name="element.model"
@@ -95,7 +95,7 @@
   </template>
   </template>
   <template v-if="element.type === 'textarea'">
   <template v-if="element.type === 'textarea'">
     <van-field
     <van-field
-      v-model="element.options.defaultValue"
+      v-model.trim="element.options.defaultValue"
       type="textarea"
       type="textarea"
       :label="element.label"
       :label="element.label"
       :name="element.model"
       :name="element.model"

+ 2 - 2
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/addEditor.vue

@@ -46,8 +46,8 @@ function onSubmit() {
           }
           }
         })
         })
       }, 2000)
       }, 2000)
-    }).catch(() => {
-      toastFail('保存失败')
+    }).catch((err) => {
+      toastFail(err.msg)
     })
     })
   })
   })
 }
 }

+ 13 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java

@@ -114,7 +114,7 @@ public class UserCorpwxTimeController {
         String token = request.getHeader("TOKEN");
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
         User user = userMapper.selectById(token);
         List<Map> list = new ArrayList<Map>();
         List<Map> list = new ArrayList<Map>();
-        int onlyWorkDays = 1;//只要工作日
+//        int onlyWorkDays = 0;//只要工作日
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
         if (functionList.size() > 0) {
         if (functionList.size() > 0) {
             //查看全部人员的
             //查看全部人员的
@@ -135,17 +135,17 @@ public class UserCorpwxTimeController {
         }
         }
 
 
         //工作日处理,排除常规周末和法定节假日
         //工作日处理,排除常规周末和法定节假日
-        if (onlyWorkDays == 1) {
-            DateTimeFormatter dtf =  DateTimeFormatter.ofPattern("yyyy/MM/dd");
-            list = list.stream().filter(time->{
-                String date = (String)time.get("createDate");
-                if (WorkDayCalculateUtils.isWorkDay(LocalDate.parse(date, dtf))) {
-                    return true;
-                } else {
-                    return false;
-                }
-            }).collect(Collectors.toList());
-        }
+//        if (onlyWorkDays == 1) {
+//            DateTimeFormatter dtf =  DateTimeFormatter.ofPattern("yyyy/MM/dd");
+//            list = list.stream().filter(time->{
+//                String date = (String)time.get("createDate");
+//                if (WorkDayCalculateUtils.isWorkDay(LocalDate.parse(date, dtf))) {
+//                    return true;
+//                } else {
+//                    return false;
+//                }
+//            }).collect(Collectors.toList());
+//        }
         DateTimeFormatter standFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DateTimeFormatter standFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         HashMap item = new HashMap();
         HashMap item = new HashMap();
         item.put("list", list);
         item.put("list", list);
@@ -465,7 +465,7 @@ public class UserCorpwxTimeController {
         CompanyDingding dingding = companyDingdingMapper.selectOne(new QueryWrapper<CompanyDingding>().eq("company_id", companyId));
         CompanyDingding dingding = companyDingdingMapper.selectOne(new QueryWrapper<CompanyDingding>().eq("company_id", companyId));
         Integer manageDeptId = user.getManageDeptId();
         Integer manageDeptId = user.getManageDeptId();
 
 
-        List<Map> list = new ArrayList<Map>();
+        List<Map> list;
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
         //只取当月中工作日的数据
         //只取当月中工作日的数据
         DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");

+ 24 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -5207,9 +5207,19 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     Optional<User> any;
                     Optional<User> any;
                     if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getContactNeedTranslate()==1)){
                     if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getContactNeedTranslate()==1)){
                         Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
                         Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&((u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))||(u.getDingdingUserid()!=null&&u.getDingdingUserid().equals(optional.get().getCorpwxUserid()))))).findAny();
+                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&((u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))||(u.getDingdingUserid()!=null&&u.getDingdingUserid().equals(optional.get().getCorpwxUserid()))))).sorted(new Comparator<User>() {
+                            @Override
+                            public int compare(User o1, User o2) {
+                                return o1.getIsActive() > o2.getIsActive() ? -1 : 1;
+                            }
+                        }).findAny();
                     }else {
                     }else {
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).findAny();
+                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).sorted(new Comparator<User>() {
+                            @Override
+                            public int compare(User o1, User o2) {
+                                return o1.getIsActive() > o2.getIsActive() ? -1 : 1;
+                            }
+                        }).findAny();
                     }
                     }
                     if (!any.isPresent()) {
                     if (!any.isPresent()) {
                         //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
                         //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
@@ -5568,9 +5578,19 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     Optional<User> any;
                     Optional<User> any;
                     if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getContactNeedTranslate()==1)){
                     if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getContactNeedTranslate()==1)){
                         Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
                         Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&((u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))||(u.getDingdingUserid()!=null&&u.getDingdingUserid().equals(optional.get().getCorpwxUserid()))))).findAny();
+                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&((u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))||(u.getDingdingUserid()!=null&&u.getDingdingUserid().equals(optional.get().getCorpwxUserid()))))).sorted(new Comparator<User>() {
+                            @Override
+                            public int compare(User o1, User o2) {
+                                return o1.getIsActive() > o2.getIsActive() ? -1 : 1;
+                            }
+                        }).findAny();
                     }else {
                     }else {
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).findAny();
+                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).sorted(new Comparator<User>() {
+                            @Override
+                            public int compare(User o1, User o2) {
+                                return o1.getIsActive() > o2.getIsActive() ? -1 : 1;
+                            }
+                        }).findAny();
                     }
                     }
                     if (!any.isPresent()) {
                     if (!any.isPresent()) {
                         //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
                         //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
@@ -5578,8 +5598,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         return msg;
                         return msg;
                     }
                     }
                     User reportCreator = any.get();
                     User reportCreator = any.get();
-
-
                     String pCode = row.getCell(3)==null?null:row.getCell(3).getStringCellValue();
                     String pCode = row.getCell(3)==null?null:row.getCell(3).getStringCellValue();
                     String pName = row.getCell(4)==null?null:row.getCell(4).getStringCellValue();
                     String pName = row.getCell(4)==null?null:row.getCell(4).getStringCellValue();
                     Project project = null;
                     Project project = null;

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

@@ -1350,6 +1350,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     ct.setOutdoorTime(0.0);
                     ct.setOutdoorTime(0.0);
                     if (isCrossDay) {
                     if (isCrossDay) {
                         //直接用cardTime作为工作时长
                         //直接用cardTime作为工作时长
+                        ct.setName(name);
                         ct.setWorkHours(DateTimeUtil.getHoursFromDouble(ct.getCardTime()));
                         ct.setWorkHours(DateTimeUtil.getHoursFromDouble(ct.getCardTime()));
                     }
                     }
                     //工作日或者非工作日有打卡,需要校正请假,外出的时长数据
                     //工作日或者非工作日有打卡,需要校正请假,外出的时长数据

+ 3 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserCorpwxTimeMapper.xml

@@ -50,14 +50,14 @@
         user left join department on department.department_id = user.department_id
         user left join department on department.department_id = user.department_id
         LEFT JOIN
         LEFT JOIN
         (SELECT a.corpwx_userid,a.name, SUM(a.work_hours) AS workHours FROM user_corpwx_time a, user b WHERE a.company_id = #{companyId}
         (SELECT a.corpwx_userid,a.name, SUM(a.work_hours) AS workHours FROM user_corpwx_time a, user b WHERE a.company_id = #{companyId}
-        AND (a.`corpwx_userid` = b.`corpwx_userid` OR (a.corpwx_userid IS NULL AND a.name = b.name))
+        AND ((b.`corpwx_userid` is not null and a.`corpwx_userid` = b.`corpwx_userid`) OR (b.corpwx_userid IS NULL AND a.name = b.name))
         AND (a.`create_date` &gt;= b.`induction_date` OR b.`induction_date` IS NULL)
         AND (a.`create_date` &gt;= b.`induction_date` OR b.`induction_date` IS NULL)
         AND  a.create_date in
         AND  a.create_date in
         <foreach collection="dateList" item="date" open="(" separator="," close=")">
         <foreach collection="dateList" item="date" open="(" separator="," close=")">
             #{date}
             #{date}
         </foreach>
         </foreach>
-        GROUP BY a.`corpwx_userid`,a.name ) card_time
-        ON user.name = card_time.name
+        GROUP BY a.`corpwx_userid`,IFNULL(a.`corpwx_userid`,a.name)) card_time
+        ON ((user.corpwx_userid is not null and user.corpwx_userid=card_time.corpwx_userid) or (user.corpwx_userid is null and  user.name = card_time.name))
         LEFT JOIN (SELECT r.creator_id, SUM(r.working_time) AS projectTime FROM report r WHERE r.company_id = #{companyId} and r.state &lt;= 1 AND  r.create_date in
         LEFT JOIN (SELECT r.creator_id, SUM(r.working_time) AS projectTime FROM report r WHERE r.company_id = #{companyId} and r.state &lt;= 1 AND  r.create_date in
         <foreach collection="dateList" item="date" open="(" separator="," close=")">
         <foreach collection="dateList" item="date" open="(" separator="," close=")">
             #{date}
             #{date}