提交代码
parent
6edebbef77
commit
8427bd6235
|
@ -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<this.projectOptions.length;i++){
|
||||
console.log(4444444444);
|
||||
if(this.projectOptions[i].projectId==val){
|
||||
console.log(5555555555);
|
||||
row.problemArea = this.projectOptions[i].projectName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -612,7 +612,7 @@ export default {
|
|||
let row = {
|
||||
index:this.smzSspProblemmodifyDraftList.length+1,
|
||||
id: null,
|
||||
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
||||
projectId: null,
|
||||
infoType: "1",
|
||||
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
||||
workParts: null,
|
||||
|
@ -643,20 +643,42 @@ 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<this.projectOptions.length;i++){
|
||||
console.log(4444444444);
|
||||
if(this.projectOptions[i].projectId==val){
|
||||
console.log(5555555555);
|
||||
row.problemArea = this.projectOptions[i].projectName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// changeProject(val,row){
|
||||
// if(!this.projectIds.includes(val)){
|
||||
// this.projectIds.push(row.projectId);
|
||||
// this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
||||
// .then((d) => {
|
||||
// this.projectUnitUsers.push({projectId:val,data:d.data});
|
||||
// });
|
||||
// }
|
||||
// for(let i=0;i<this.projectOptions.length;i++){
|
||||
// if(this.projectOptions[i].projectId==val){
|
||||
// row.problemArea = this.projectOptions[i].projectName;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -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<SurProjectAttendanceData> groupByComany(SurProjectAttendanceData where);
|
||||
|
||||
public Long getHuazhuPage(Long id);
|
||||
|
||||
|
||||
public List<Map<String,Object>> initOtherData(Map<String,Object> data);
|
||||
|
||||
public List<Map<String,Object>> initHuaZhuData(Map<String,Object> data);
|
||||
}
|
||||
|
|
|
@ -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<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
||||
public List<SurProjectAttendanceUser> todayAttendanceData(List<String> list);
|
||||
|
||||
public List<SurProjectAttendanceUser> todayAttendanceOtherData(Map<String,Object> data);
|
||||
|
||||
}
|
||||
|
|
|
@ -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<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where);
|
||||
|
||||
public List<Map<String,Object>> initOtherData(Map<String,Object> data);
|
||||
|
||||
public List<Map<String,Object>> initHuaZhuData(Map<String,Object> data);
|
||||
}
|
||||
|
|
|
@ -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<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where) {
|
||||
return surProjectAttendanceDataMapper.groupAllByComany(where);
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private SurProjectAttendanceUserMapper surProjectAttendanceUserMapper;
|
||||
|
||||
@Override
|
||||
public List<Map<String,Object>> initOtherData(Map<String,Object> data) {
|
||||
List<Map<String,Object>> list = surProjectAttendanceDataMapper.initOtherData(data);
|
||||
if(StringUtils.isNotEmpty(list)){
|
||||
List<String> workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList());
|
||||
data.put("list",workerIds);
|
||||
List<SurProjectAttendanceUser> datas=surProjectAttendanceUserMapper.todayAttendanceOtherData(data);
|
||||
for (Map<String,Object> 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<Map<String,Object>> initHuaZhuData(Map<String,Object> data) {
|
||||
List<Map<String,Object>> list = surProjectAttendanceDataMapper.initHuaZhuData(data);
|
||||
if(StringUtils.isNotEmpty(list)){
|
||||
List<String> workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList());
|
||||
data.put("list",workerIds);
|
||||
List<SurProjectAttendanceUser> datas=surProjectAttendanceUserMapper.todayAttendanceOtherData(data);
|
||||
for (Map<String,Object> 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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<SurProjectAttendanceCfg> cfgList = surProjectAttendanceCfgService.selectSurProjectAttendanceCfgList(new SurProjectAttendanceCfg());
|
||||
Map<String, Object> 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<Map<String,Object>> list;
|
||||
if(cfg.getVendorsCode().equals("huazhu")){
|
||||
list = surProjectAttendanceDataService.initHuaZhuData(data);
|
||||
}else{
|
||||
list = surProjectAttendanceDataService.initOtherData(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
return success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -293,4 +293,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="getHuazhuPage" parameterType="long" resultType="Long">
|
||||
select max(vendorId) vendorId from sur_project_attendance_data WHERE cfgid=#{id}
|
||||
</select>
|
||||
|
||||
<select id="initOtherData" parameterType="map" resultType="map">
|
||||
select d.workerId,u.companyId,u.companyName,u.`name`,d.identification,u.recentPhoto,u.gender,u.birthDate,u.ethnic,u.nativePlace,u.phone,
|
||||
u.workTypeName,u.specWorkType,u.groupName,g.companyTypeId,d.teamId,u.workTypeCode,d.vendorId,d.device_code
|
||||
from sur_project_attendance_data d
|
||||
left JOIN sur_project_attendance_user u on d.workerId = u.workerId and d.cfgid = u.cfgid
|
||||
left join sur_project_attendance_group g on u.groupId = g.serverid and g.cfgid = u.cfgid
|
||||
where d.cfgid=#{cfgid} and date(d.attendance_time) = #{date}
|
||||
GROUP BY d.workerId
|
||||
</select>
|
||||
|
||||
<select id="initHuaZhuData" parameterType="map" resultType="map">
|
||||
select d.workerId,u.companyId,u.companyName,u.`name`,d.identification,u.recentPhoto,u.gender,u.birthDate,u.ethnic,u.nativePlace,u.phone,
|
||||
u.workTypeName,u.specWorkType,u.groupName,d.teamId,u.workTypeCode,d.vendorId,d.device_code,
|
||||
CASE WHEN sd.type_flag = 2 THEN '1' WHEN sd.type_flag = 3 THEN '2' WHEN sd.type_flag = 4 THEN '8' else '0' end as companyTypeId
|
||||
from sur_project_attendance_data d
|
||||
left JOIN sur_project_attendance_user u on d.workerId = u.workerId and d.cfgid = u.cfgid
|
||||
left join sys_dept sd on u.companyName = sd.dept_name
|
||||
where d.cfgid=#{cfgid} and date(d.attendance_time) = #{date}
|
||||
GROUP BY d.workerId
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -436,4 +436,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</if>
|
||||
group by workerid,attendance_type
|
||||
</select>
|
||||
|
||||
<select id="todayAttendanceOtherData" parameterType="map" resultMap="SurProjectAttendanceUserResult">
|
||||
select workerid,attendance_type name,min(attendance_time) inTime,max(attendance_time) outTime from sur_project_attendance_data where cfgid=#{cfgid} DATE(attendance_time)=#{date}
|
||||
<if test="list !=null and list.size()>0">
|
||||
and workerid in
|
||||
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
group by workerid,attendance_type
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue