Browse Source

合同管理修改

seyason 1 year ago
parent
commit
93f5218b85

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

@@ -133,7 +133,7 @@ public class UserCorpwxTimeController {
             LocalDate localEnd = LocalDate.parse(endDate, standFormatter);
             if (participationList.size() > 0) {
                 List<Integer> collect = participationList.stream().map(Participation::getProjectId).collect(Collectors.toList());
-                List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect).orderByAsc("id"));
+                List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect).eq("company_id", user.getCompanyId()).orderByAsc("id"));
 
                 names = projectList.stream().filter(p->{
                     if (p.getPlanStartDate() != null) {
@@ -262,6 +262,7 @@ public class UserCorpwxTimeController {
         titles.add(MessageUtils.message("entry.week"));
         //titles.add("员工姓名");
         titles.add(MessageUtils.message("entry.staffName"));
+        titles.add("部门");
         //titles.add("上班时间");
         titles.add(MessageUtils.message("entry.goWorkTime"));
         //titles.add("下班时间");
@@ -293,6 +294,7 @@ public class UserCorpwxTimeController {
             }else{
                 dataList.add((String)dataItem.get("username"));
             }
+            dataList.add((String)dataItem.get("departmentName"));
             dataList.add((String)dataItem.get("startTime"));
             dataList.add((String)dataItem.get("endTime"));
 //            dataList.add(""+(Double)dataItem.get("cardTime"));
@@ -351,6 +353,7 @@ public class UserCorpwxTimeController {
         titles.add("年月");
         //titles.add("员工姓名");
         titles.add(MessageUtils.message("entry.staffName"));
+        titles.add("部门");
         //titles.add("实际工作时长");
         titles.add(MessageUtils.message("entry.actualWorkTime"));
         titles.add("填报项目时长");
@@ -368,6 +371,7 @@ public class UserCorpwxTimeController {
             }else{
                 dataList.add((String)dataItem.get("username"));
             }
+            dataList.add((String)dataItem.get("departmentName"));
             double wt = (Double)dataItem.get("workHours");
             double pt = (Double)dataItem.get("projectTime");
             dataList.add(""+wt);
@@ -464,6 +468,7 @@ public class UserCorpwxTimeController {
                 return msg;
             }
             List<String> userNameList=new ArrayList<>();
+            boolean hasDept = false;
             for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
                 Row row = sheet.getRow(rowIndex);
                 if (row == null) {
@@ -473,6 +478,10 @@ public class UserCorpwxTimeController {
                     continue;
                 }
                 String username = row.getCell(2).getStringCellValue().trim();
+                String deptName = row.getCell(3).getStringCellValue().trim();
+                if (rowIndex == 0 && deptName.equals("部门")) {
+                    hasDept = true;
+                }
                 if(username.equals("员工")){
                     continue;
                 }
@@ -506,8 +515,9 @@ public class UserCorpwxTimeController {
 
                 } else {
                     dataCount++;
+                    int deptColumnExtra = hasDept?1:0;
                     //数据行
-                    for (int i=1;i<=5; i++) {
+                    for (int i=1;i<=5 + deptColumnExtra; i++) {
                         if (row.getCell(i) != null) {
                             row.getCell(i).setCellType(CellType.STRING);
                         }
@@ -539,8 +549,8 @@ public class UserCorpwxTimeController {
                         return msg;
                     }
                     User reportCreator = any.get();
-                    String startTime = row.getCell(3).getStringCellValue().trim();
-                    String endTime = row.getCell(4).getStringCellValue().trim();
+                    String startTime = row.getCell(3 + deptColumnExtra).getStringCellValue().trim();
+                    String endTime = row.getCell(4 + deptColumnExtra).getStringCellValue().trim();
                     if (!startTime.contains(":")) {
                         double t1 = Double.valueOf(startTime) * 24;
                         //把以小时为单位的时间转化为时分格式, 类似09:00
@@ -549,7 +559,7 @@ public class UserCorpwxTimeController {
                         endTime = String.format("%02d:%02d", (int) t2, (int) ((t2 - (int) t2) * 60));
                     }
 
-                    String workHours = row.getCell(5).getStringCellValue().trim();
+                    String workHours = row.getCell(5 + deptColumnExtra).getStringCellValue().trim();
                     double workHoursDouble = Double.valueOf(workHours);
                     UserCorpwxTime corpwxTime = new UserCorpwxTime();
                     corpwxTime.setCorpwxUserid(reportCreator.getCorpwxUserid());

+ 1 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/FinanceServiceImpl.java

@@ -774,8 +774,7 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         field3Item = userFinance.getCustomField3().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
                     }
                 } else {
-                    System.out.println("财务数据中未找到用户:"+creatorId);
-
+//                    System.out.println("财务数据中未找到用户:"+creatorId);
                 }
 
                 if (curProject.equals(item.project)) {
@@ -1337,7 +1336,6 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 if (first.isPresent()) {
                     cost = first.get().getHourCost().multiply(new BigDecimal(workingTime));
                 } else {
-                    System.out.println("财务数据中未找到用户:"+creatorId);
                     if (!missingFinanceUserIds.contains(creatorId)) {
                         missingFinanceUserIds.add(creatorId);
                     }

+ 14 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -3857,9 +3857,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             List<Project> allProjectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
             List<SubProject> allSubProjectList = subProjectMapper.selectList(new QueryWrapper<SubProject>().eq("company_id", companyId));
             List<Report> reportList = new ArrayList<>();
-            int projectNameStartIndex = (withCheckIn==null?2:6);
+
 
             List<String> userNameList=new ArrayList<>();
+            boolean hasDept = false;
             for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
                 Row row = sheet.getRow(rowIndex);
                 if (row == null) {
@@ -3869,6 +3870,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     continue;
                 }
                 String username = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(2).getStringCellValue().trim();
+                String deptName = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(3).getStringCellValue().trim();
+                if (rowIndex == 0 && "部门".equals(deptName)) {
+                    hasDept = true;
+                }
                 if(username.equals("员工")){
                     continue;
                 }
@@ -3876,9 +3881,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     userNameList.add(username);
                 }
             }
+            int deptColumnExtra = (hasDept?1:0);
+            int projectNameStartIndex = (withCheckIn==null?2:(6 + deptColumnExtra));
             HttpRespMsg respMsg=new HttpRespMsg();
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1&&userNameList.size()>0){
-                System.out.println("参与搜素的人员列表"+userNameList);
                 respMsg = wxCorpInfoService.getBatchSearchUserInfo(wxCorpInfo, userNameList,null);
                 if(respMsg.code.equals("0")){
                     msg.setError("姓名为["+String.valueOf(respMsg.data)+"]的人员存在重复,请使用工号!");
@@ -3887,6 +3893,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             }
             List<User> targetUserList= (List<User>) respMsg.data;
             int dataCount = 0;
+
             for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
                 Row row = sheet.getRow(rowIndex);
                 if (row == null) {
@@ -4364,7 +4371,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     map.put("time", DateTimeUtil.localDateTimeToDate(time));
 
                     //审核时间
-                    if(map.get("projectAuditTime")!=null){
+                    if(map.get("projectAuditTime") != null){
                         String projectAuditTime = sdf.format((Date)map.get("projectAuditTime"));
                         LocalDateTime auditTime = LocalDateTime.parse(projectAuditTime, dtf);
                         auditTime = auditTime.plusSeconds(offsetSeconds);
@@ -4463,12 +4470,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     }else {
                         item.add((String)map.get("projectAuditorName"));
                     }
-                    if (map.get("projectAuditTime") == null) {
-                        item.add("");
-                    } else {
+                    //分组审核通过或者项目审核通过都显示
+                    if (map.get("projectAuditTime") != null && ((Integer)map.get("projectAuditState") == 1 || (Integer)map.get("groupAuditState") == 1)) {
                         item.add(sdf.format((Date)map.get("projectAuditTime")));
+                    } else {
+                        item.add("");
                     }
-
                     StringBuilder sb = new StringBuilder();
                     boolean isFirst = true;
                     String logMsg = (String)map.get("logMsg");

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ContractMapper.xml

@@ -40,7 +40,7 @@
             and number like #{number}
         </if>
         <if test="name!=null">
-            and name like #{name}
+            and contract.name like #{name}
         </if>
         <if test="typeName!=null">
             and contract_type.id = #{typeName}
@@ -72,7 +72,7 @@
             and number like #{number}
         </if>
         <if test="name!=null">
-            and name like #{name}
+            and contract.name like #{name}
         </if>
         <if test="typeName!=null">
             and contract_type.id = #{typeName}

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

@@ -27,8 +27,9 @@
 
 
     <select id="getUserDataList" resultType="java.util.HashMap" >
-        SELECT user.id as userId, DATE_FORMAT(a.create_date, '%Y/%m/%d') as createDate,a.start_time as startTime, a.end_time as endTime, a.work_hours as workHours, user.name as username,user.corpwx_userid as corpwxUserid,a.week_day as weekDay,
-        week_day_txt as weekDayTxt,card_time as cardTime, outdoor_time as outdoorTime, ask_leave_time as askLeaveTime FROM user_corpwx_time a LEFT JOIN user ON  user.name = a.name
+        SELECT user.id as userId, department.department_name as departmentName, DATE_FORMAT(a.create_date, '%Y/%m/%d') as createDate,a.start_time as startTime, a.end_time as endTime, a.work_hours as workHours, user.name as username,user.corpwx_userid as corpwxUserid,a.week_day as weekDay,
+        week_day_txt as weekDayTxt,card_time as cardTime, outdoor_time as outdoorTime, ask_leave_time as askLeaveTime FROM user_corpwx_time a LEFT JOIN user ON  user.name = a.name AND a.`company_id` = user.`company_id`
+        left join department on department.department_id = user.department_id
         WHERE a.create_date BETWEEN #{startDate} AND #{endDate}
         AND a.company_id = #{companyId}
         <if test="deptId != null">
@@ -38,8 +39,9 @@
     </select>
 
     <select id="getUserDataRatioList" resultType="java.util.HashMap" >
-        SELECT user.id AS userId, user.`name` as username, user.`corpwx_userid` as corpwxUserid, IFNULL(card_time.workHours, 0) as workHours, IFNULL(report_time.projectTime, 0)  AS projectTime FROM
-        user LEFT JOIN
+        SELECT user.id AS userId, user.`name` as username,department.department_name as departmentName, user.`corpwx_userid` as corpwxUserid, IFNULL(card_time.workHours, 0) as workHours, IFNULL(report_time.projectTime, 0)  AS projectTime FROM
+        user left join department on department.department_id = user.department_id
+            LEFT JOIN
         (SELECT a.corpwx_userid,a.name, SUM(a.work_hours) AS workHours FROM user_corpwx_time a WHERE a.company_id = #{companyId} AND  a.create_date in
            <foreach collection="dateList" item="date" open="(" separator="," close=")">
                 #{date}