|
|
@@ -623,34 +623,41 @@ public class ProjectTaskServiceImpl implements ProjectTaskService {
|
|
|
List<PushRdDataListBo> rdList = in.getRdList();
|
|
|
rdList.stream().forEach(e -> {
|
|
|
ProjectStaffRecord p = new ProjectStaffRecord();
|
|
|
- if (e.getProjectNumber() != null&&e.getDuration()>0){
|
|
|
- ProjectTask projectTask =getCompanyProject(projectMap,e.getProjectNumber(), sysDept.getDeptId());
|
|
|
- if (projectTask!=null){
|
|
|
- p.setPid(projectTask.getId());
|
|
|
+ if (e.getProjectNumber() != null){
|
|
|
+ //如果传入时间未0,则需要删除当天打卡数据
|
|
|
+ if (e.getDuration()>0){
|
|
|
+ ProjectTask projectTask =getCompanyProject(projectMap,e.getProjectNumber(), sysDept.getDeptId());
|
|
|
+ if (projectTask!=null){
|
|
|
+ p.setPid(projectTask.getId());
|
|
|
+ }else {
|
|
|
+ throw new ServiceException("项目不存在");
|
|
|
+ }
|
|
|
+ SysUser sysUser=getCompanyUser(userMap,e.getAdminKyId());
|
|
|
+ if (sysUser!=null){
|
|
|
+ p.setAid(sysUser.getUserId());
|
|
|
+ p.setName(sysUser.getNickName());
|
|
|
+ }
|
|
|
+ p.setRecordTime(DateUtils.parseDate(e.getRecordTime()));
|
|
|
+ p.setDuration(e.getDuration());
|
|
|
+ p.setInitDuration(e.getDuration());
|
|
|
+ //如果是已有数据覆盖,没有数据新增
|
|
|
+ ProjectStaffRecord projectStaffRecord = projectStaffRecordMapper.selectByPidAndAidAndTime(p.getPid(), p.getAid(), p.getRecordTime());
|
|
|
+ p.setProjectStatus(0);
|
|
|
+ p.setProcessStatus(2);
|
|
|
+ p.setCheckStatus(0);
|
|
|
+ if (projectStaffRecord!=null){
|
|
|
+ p.setId(projectStaffRecord.getId());
|
|
|
+ projectStaffRecordMapper.updateByPrimaryKeySelective(p);
|
|
|
+ }else{
|
|
|
+ projectStaffRecordMapper.insertSelective(p);
|
|
|
+ }
|
|
|
}else {
|
|
|
- throw new ServiceException("项目不存在");
|
|
|
- }
|
|
|
- SysUser sysUser=getCompanyUser(userMap,e.getAdminKyId());
|
|
|
- if (sysUser!=null){
|
|
|
- p.setAid(sysUser.getUserId());
|
|
|
- p.setName(sysUser.getNickName());
|
|
|
- }
|
|
|
- p.setRecordTime(DateUtils.parseDate(e.getRecordTime()));
|
|
|
- p.setDuration(e.getDuration());
|
|
|
- p.setInitDuration(e.getDuration());
|
|
|
- //如果是已有数据覆盖,没有数据新增
|
|
|
- ProjectStaffRecord projectStaffRecord = projectStaffRecordMapper.selectByPidAndAidAndTime(p.getPid(), p.getAid(), p.getRecordTime());
|
|
|
- p.setProjectStatus(0);
|
|
|
- p.setProcessStatus(2);
|
|
|
- p.setCheckStatus(0);
|
|
|
- if (projectStaffRecord!=null){
|
|
|
- p.setId(projectStaffRecord.getId());
|
|
|
- projectStaffRecordMapper.updateByPrimaryKeySelective(p);
|
|
|
- }else{
|
|
|
- projectStaffRecordMapper.insertSelective(p);
|
|
|
+ ProjectStaffRecord projectStaffRecord = projectStaffRecordMapper.selectByPidAndAidAndTime(p.getPid(), p.getAid(), p.getRecordTime());
|
|
|
+ if (projectStaffRecord!=null){
|
|
|
+ projectStaffRecordMapper.deleteByPrimaryKey(projectStaffRecord.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-
|
|
|
}
|
|
|
});
|
|
|
//更新项目总时长
|