提交代码
parent
6edebbef77
commit
8427bd6235
|
@ -614,7 +614,7 @@ export default {
|
||||||
id: null,
|
id: null,
|
||||||
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
||||||
infoType: "0",
|
infoType: "0",
|
||||||
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
problemArea: null,
|
||||||
workParts: null,
|
workParts: null,
|
||||||
changeInfo: null,
|
changeInfo: null,
|
||||||
lordSent: null,
|
lordSent: null,
|
||||||
|
@ -643,19 +643,26 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeProject(val,row){
|
changeProject(val,row){
|
||||||
|
if(val){
|
||||||
|
console.log(1111111111);
|
||||||
if(!this.projectIds.includes(val)){
|
if(!this.projectIds.includes(val)){
|
||||||
|
console.log(2222222222);
|
||||||
this.projectIds.push(row.projectId);
|
this.projectIds.push(row.projectId);
|
||||||
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
||||||
.then((d) => {
|
.then((d) => {
|
||||||
|
console.log(3333333333);
|
||||||
this.projectUnitUsers.push({projectId:val,data:d.data});
|
this.projectUnitUsers.push({projectId:val,data:d.data});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
for(let i=0;i<this.projectOptions.length;i++){
|
for(let i=0;i<this.projectOptions.length;i++){
|
||||||
|
console.log(4444444444);
|
||||||
if(this.projectOptions[i].projectId==val){
|
if(this.projectOptions[i].projectId==val){
|
||||||
|
console.log(5555555555);
|
||||||
row.problemArea = this.projectOptions[i].projectName;
|
row.problemArea = this.projectOptions[i].projectName;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -612,7 +612,7 @@ export default {
|
||||||
let row = {
|
let row = {
|
||||||
index:this.smzSspProblemmodifyDraftList.length+1,
|
index:this.smzSspProblemmodifyDraftList.length+1,
|
||||||
id: null,
|
id: null,
|
||||||
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
projectId: null,
|
||||||
infoType: "1",
|
infoType: "1",
|
||||||
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
||||||
workParts: null,
|
workParts: null,
|
||||||
|
@ -643,20 +643,42 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeProject(val,row){
|
changeProject(val,row){
|
||||||
|
if(val){
|
||||||
|
console.log(1111111111);
|
||||||
if(!this.projectIds.includes(val)){
|
if(!this.projectIds.includes(val)){
|
||||||
|
console.log(2222222222);
|
||||||
this.projectIds.push(row.projectId);
|
this.projectIds.push(row.projectId);
|
||||||
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
||||||
.then((d) => {
|
.then((d) => {
|
||||||
|
console.log(3333333333);
|
||||||
this.projectUnitUsers.push({projectId:val,data:d.data});
|
this.projectUnitUsers.push({projectId:val,data:d.data});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
for(let i=0;i<this.projectOptions.length;i++){
|
for(let i=0;i<this.projectOptions.length;i++){
|
||||||
|
console.log(4444444444);
|
||||||
if(this.projectOptions[i].projectId==val){
|
if(this.projectOptions[i].projectId==val){
|
||||||
|
console.log(5555555555);
|
||||||
row.problemArea = this.projectOptions[i].projectName;
|
row.problemArea = this.projectOptions[i].projectName;
|
||||||
break;
|
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>
|
</script>
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.yanzhu.jh.project.mapper;
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,4 +85,9 @@ public interface SurProjectAttendanceDataMapper
|
||||||
List<SurProjectAttendanceData> groupByComany(SurProjectAttendanceData where);
|
List<SurProjectAttendanceData> groupByComany(SurProjectAttendanceData where);
|
||||||
|
|
||||||
public Long getHuazhuPage(Long id);
|
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;
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
||||||
|
@ -94,4 +95,7 @@ public interface SurProjectAttendanceUserMapper
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
||||||
public List<SurProjectAttendanceUser> todayAttendanceData(List<String> list);
|
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;
|
package com.yanzhu.jh.project.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
||||||
|
|
||||||
|
@ -87,4 +89,8 @@ public interface ISurProjectAttendanceDataService
|
||||||
public Long getHuazhuPage(Long id);
|
public Long getHuazhuPage(Long id);
|
||||||
|
|
||||||
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where);
|
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;
|
package com.yanzhu.jh.project.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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.DateUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.yanzhu.jh.project.mapper.SurProjectAttendanceDataMapper;
|
import com.yanzhu.jh.project.mapper.SurProjectAttendanceDataMapper;
|
||||||
|
@ -165,4 +172,45 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc
|
||||||
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where) {
|
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where) {
|
||||||
return surProjectAttendanceDataMapper.groupAllByComany(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.core.text.Convert;
|
||||||
import com.ruoyi.common.enums.PublicStateEnum;
|
import com.ruoyi.common.enums.PublicStateEnum;
|
||||||
import com.ruoyi.common.enums.SysRoleEnum;
|
import com.ruoyi.common.enums.SysRoleEnum;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.system.domain.FlowTaskEntity;
|
import com.ruoyi.system.domain.FlowTaskEntity;
|
||||||
import com.ruoyi.system.service.ISysDeptService;
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
import com.yanzhu.jh.project.domain.SurProject;
|
import com.yanzhu.jh.project.domain.*;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAuditinfo;
|
import com.yanzhu.jh.project.service.*;
|
||||||
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 org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -223,4 +221,44 @@ PublicsController extends BaseController {
|
||||||
flowTaskEntity.setActiveName("await");
|
flowTaskEntity.setActiveName("await");
|
||||||
return success(surProjectAuditinfoService.findMyTask(flowTaskEntity));
|
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 id="getHuazhuPage" parameterType="long" resultType="Long">
|
||||||
select max(vendorId) vendorId from sur_project_attendance_data WHERE cfgid=#{id}
|
select max(vendorId) vendorId from sur_project_attendance_data WHERE cfgid=#{id}
|
||||||
</select>
|
</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>
|
</mapper>
|
|
@ -436,4 +436,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</if>
|
</if>
|
||||||
group by workerid,attendance_type
|
group by workerid,attendance_type
|
||||||
</select>
|
</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>
|
</mapper>
|
Loading…
Reference in New Issue