diff --git a/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue b/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue index 73e34a20..9b482287 100644 --- a/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue +++ b/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue @@ -614,7 +614,7 @@ export default { id: null, projectId: this.projectOptions.length==1?this.projectOptions[0].id:null, infoType: "0", - problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null, + problemArea: null, workParts: null, changeInfo: null, lordSent: null, @@ -643,19 +643,26 @@ export default { }); }, changeProject(val,row){ + if(val){ + console.log(1111111111); if(!this.projectIds.includes(val)){ + console.log(2222222222); this.projectIds.push(row.projectId); this.$api.publics.selectProjectAllUnitUser({projectId: val}) .then((d) => { + console.log(3333333333); this.projectUnitUsers.push({projectId:val,data:d.data}); }); } for(let i=0;i { + console.log(3333333333); this.projectUnitUsers.push({projectId:val,data:d.data}); }); } for(let i=0;i { + // this.projectUnitUsers.push({projectId:val,data:d.data}); + // }); + // } + // for(let i=0;i diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java index 30f4e596..fd00ee93 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java @@ -1,6 +1,8 @@ package com.yanzhu.jh.project.mapper; import java.util.List; +import java.util.Map; + import com.yanzhu.jh.project.domain.SurProjectAttendanceData; /** @@ -83,4 +85,9 @@ public interface SurProjectAttendanceDataMapper List groupByComany(SurProjectAttendanceData where); public Long getHuazhuPage(Long id); + + + public List> initOtherData(Map data); + + public List> initHuaZhuData(Map data); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java index 7ed2d4f2..d395e7c4 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java @@ -1,6 +1,7 @@ package com.yanzhu.jh.project.mapper; import java.util.List; +import java.util.Map; import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg; import com.yanzhu.jh.project.domain.SurProjectAttendanceUser; @@ -94,4 +95,7 @@ public interface SurProjectAttendanceUserMapper public List todayAttendance(SurProjectAttendanceUser where); public List todayAttendanceData(List list); + + public List todayAttendanceOtherData(Map data); + } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java index ea081592..8358dde4 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java @@ -1,6 +1,8 @@ package com.yanzhu.jh.project.service; import java.util.List; +import java.util.Map; + import com.yanzhu.jh.project.domain.SurProjectAttendanceData; import com.yanzhu.jh.project.domain.SurProjectAttendanceUser; @@ -87,4 +89,8 @@ public interface ISurProjectAttendanceDataService public Long getHuazhuPage(Long id); public List groupAllByComany(SurProjectAttendanceData where); + + public List> initOtherData(Map data); + + public List> initHuaZhuData(Map data); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java index 0c3153e4..50afad47 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java @@ -1,8 +1,15 @@ package com.yanzhu.jh.project.service.impl; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; +import com.yanzhu.jh.project.domain.SurProjectAttendanceUser; +import com.yanzhu.jh.project.mapper.SurProjectAttendanceUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.yanzhu.jh.project.mapper.SurProjectAttendanceDataMapper; @@ -165,4 +172,45 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc public List groupAllByComany(SurProjectAttendanceData where) { return surProjectAttendanceDataMapper.groupAllByComany(where); } + + @Autowired + private SurProjectAttendanceUserMapper surProjectAttendanceUserMapper; + + @Override + public List> initOtherData(Map data) { + List> list = surProjectAttendanceDataMapper.initOtherData(data); + if(StringUtils.isNotEmpty(list)){ + List workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList()); + data.put("list",workerIds); + List datas=surProjectAttendanceUserMapper.todayAttendanceOtherData(data); + for (Map map:list) { + for(SurProjectAttendanceUser sau:datas){ + if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){ + map.put("inTime",map.get("inTime")); + map.put("outTime",map.get("outTime")); + } + } + } + } + return list; + } + + @Override + public List> initHuaZhuData(Map data) { + List> list = surProjectAttendanceDataMapper.initHuaZhuData(data); + if(StringUtils.isNotEmpty(list)){ + List workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList()); + data.put("list",workerIds); + List datas=surProjectAttendanceUserMapper.todayAttendanceOtherData(data); + for (Map map:list) { + for(SurProjectAttendanceUser sau:datas){ + if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){ + map.put("inTime",map.get("inTime")); + map.put("outTime",map.get("outTime")); + } + } + } + } + return list; + } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java index 00fee7e4..5fb42eb8 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java @@ -10,24 +10,22 @@ import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.enums.PublicStateEnum; import com.ruoyi.common.enums.SysRoleEnum; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.domain.FlowTaskEntity; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; -import com.yanzhu.jh.project.domain.SurProject; -import com.yanzhu.jh.project.domain.SurProjectAuditinfo; -import com.yanzhu.jh.project.domain.SurProjectUnitInfo; -import com.yanzhu.jh.project.domain.SurProjectUserinfo; -import com.yanzhu.jh.project.service.ISurProjectAuditinfoService; -import com.yanzhu.jh.project.service.ISurProjectService; -import com.yanzhu.jh.project.service.ISurProjectUnitInfoService; -import com.yanzhu.jh.project.service.ISurProjectUserinfoService; +import com.yanzhu.jh.project.domain.*; +import com.yanzhu.jh.project.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Calendar; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -223,4 +221,44 @@ PublicsController extends BaseController { flowTaskEntity.setActiveName("await"); return success(surProjectAuditinfoService.findMyTask(flowTaskEntity)); } + + @Autowired + private ISurProjectAttendanceCfgService surProjectAttendanceCfgService; + + @Autowired + private ISurProjectAttendanceDataService surProjectAttendanceDataService; + + /** + * 查询代办任务 + */ + @GetMapping("/v1/initAttendanceData") + public AjaxResult initAttendanceData() + { + //开始时间 + Calendar calendar = Calendar.getInstance(); + /*** + * 查询所有项目考勤配置 + */ + List cfgList = surProjectAttendanceCfgService.selectSurProjectAttendanceCfgList(new SurProjectAttendanceCfg()); + Map data = new HashMap<>(); + for(SurProjectAttendanceCfg cfg:cfgList){ + calendar.setTime(DateUtils.parseDate("2023-07-16")); + data.put("cfgid",cfg.getId()); + for(int i=0;i<365;i++){ + if(calendar.getTimeInMillis()>System.currentTimeMillis()){ + /** 跳出本次循环 **/ + break; + } + calendar.add(Calendar.DATE, 1); + data.put("date",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime())); + List> list; + if(cfg.getVendorsCode().equals("huazhu")){ + list = surProjectAttendanceDataService.initHuaZhuData(data); + }else{ + list = surProjectAttendanceDataService.initOtherData(data); + } + } + } + return success(); + } } diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml index 1d94ce7d..0e9d1422 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml @@ -293,4 +293,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + \ No newline at end of file diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml index 05f83782..cb31a563 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml @@ -436,4 +436,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" group by workerid,attendance_type + + \ No newline at end of file