From 70a406f8c1f24297af2546e24cc8c4ba775941c3 Mon Sep 17 00:00:00 2001 From: haha Date: Mon, 22 Apr 2024 22:09:58 +0800 Subject: [PATCH] update code --- ruoyi-ui/src/views/base/magDetail/index.vue | 8 +- .../views/base/magDetail/magDetailDrawer.vue | 57 +++++++- .../ISurProjectAttendanceDataService.java | 6 + .../SurProjectAttendanceDataServiceImpl.java | 123 ++++++++++++++++++ .../jh/project/task/AttendanceJgwTask.java | 15 +++ 5 files changed, 200 insertions(+), 9 deletions(-) diff --git a/ruoyi-ui/src/views/base/magDetail/index.vue b/ruoyi-ui/src/views/base/magDetail/index.vue index 21fa0484..41d6b093 100644 --- a/ruoyi-ui/src/views/base/magDetail/index.vue +++ b/ruoyi-ui/src/views/base/magDetail/index.vue @@ -45,8 +45,8 @@ @@ -182,7 +182,9 @@ export default { if (tmps && tmps.length > 0) { tmps = this.$tryToJson(tmps, []); if (tmps.length > 0) { - it.imageUrl = tmps[0]; + it.imageUrl = tmps.map(it=>{ + return this.$basepath+it; + }); } } return it; diff --git a/ruoyi-ui/src/views/base/magDetail/magDetailDrawer.vue b/ruoyi-ui/src/views/base/magDetail/magDetailDrawer.vue index a9b1dff9..79c0a18e 100644 --- a/ruoyi-ui/src/views/base/magDetail/magDetailDrawer.vue +++ b/ruoyi-ui/src/views/base/magDetail/magDetailDrawer.vue @@ -57,10 +57,15 @@ - - +
+ + +
+ +
@@ -123,6 +128,12 @@ export default { }, methods: { + doRemoveImage(idx){ + this.$confirm('确定删除此图片??', '提示', { type: 'warning' }).then(()=>{ + this.form.imageUrl.splice(idx,1); + }); + + }, /** 查询部门下拉树结构 */ getDeptTree() { deptTreeSelect().then(response => { @@ -288,6 +299,9 @@ export default { .el-drawer__body { padding: 12px 24px; + .el-form-item{ + margin-bottom:18px !important; + } } .el-drawer { @@ -295,6 +309,37 @@ export default { } .fi-imgs { + .upload-file-list{ + display: none; + } + .img-list{ + display: flex; + .img-item{ + position: relative; + margin-right: 8px; + &:hover{ + .img-item-del{ + display: block; + } + } + .img-item-del{ + position: absolute; + font-size: 20px; + left:50%; + top:50%; + margin-top:-12px; + margin-left:-12px; + z-index: 8; + color: #1890ff; + background-color: #ffffff24; + display: none; + &:hover{ + color: #fff; + } + } + } + } + .el-image__inner { width: 100px; } @@ -309,7 +354,7 @@ export default { } } - &.form-img-1 { + &.form-img-5 { .upload-file-uploader { display: none; } @@ -318,7 +363,7 @@ export default { .fi-editor { .editor.ql-container { - height: 52vh !important; + height: 44vh !important; } } } 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 d133d6bb..572e4eb9 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 @@ -105,4 +105,10 @@ public interface ISurProjectAttendanceDataService List todayAttendance(SurProjectAttendanceData where); List groupTodayCompanyTypeId(SurProjectAttendanceData where); + + /** + * 指增加 + * @param addList + */ + void addList(List addList); } 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 453c1a7f..7880031d 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 @@ -354,4 +354,127 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc public List groupTodayCompanyTypeId(SurProjectAttendanceData where) { return surProjectAttendanceDataMapper.groupTodayCompanyTypeId(where); } + + /** + * 批量增加 + * @param addList + */ + @Override + public void addList(List addList) { + if(addList.size()==0){ + return; + } + SurProjectAttendanceData where=new SurProjectAttendanceData(); + where.setVendorsCode(addList.get(0).getVendorsCode()); + where.setCfgid(addList.get(0).getCfgid()); + where.setAttendanceTime(addList.get(0).getAttendanceTime()); + List oldList=selectSurProjectAttendanceDataListEx(where); + for(SurProjectAttendanceData sdata:addList){ + List list=oldList.stream().filter(d->d.getWorkerId().equals(sdata.getWorkerId())).collect(Collectors.toList()); + if(list.size()==0){ + //设置考勤其它参数 + //查询人员信息 + SurProjectAttendanceUser userWhere=new SurProjectAttendanceUser(); + userWhere.setWorkerId(sdata.getWorkerId()); + List uList= surProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(userWhere); + if(uList.size()==0){ + return; + } + SurProjectAttendanceUser user=uList.get(0); + sdata.setWorkerName(user.getName()); + String photo=user.getPhoto(); + if(StrUtil.isEmpty(photo)){ + photo=user.getRecentPhoto(); + } + + sdata.setWorkerPhoto(photo); + sdata.setWorkerGender(user.getGender());; + sdata.setGroupName(user.getGroupName()); + sdata.setWorkTypeName(user.getWorkTypeName()); + sdata.setEthnic(user.getEthnic()); + sdata.setNativePlace(user.getNativePlace()); + sdata.setPhone(user.getPhone()); + sdata.setSpecWorkType(user.getSpecWorkType()); + if("jgw".equals(sdata.getVendorsCode())) { + sdata.setCompanyId(user.getCompanyId()); + } + //查询分组信息 + SurProjectAttendanceGroup groupWhere=new SurProjectAttendanceGroup(); + groupWhere.setCfgid(sdata.getCfgid()); + groupWhere.setCompanyId(sdata.getCompanyId()); + List gList=surProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(groupWhere); + if(gList.size()==0){ + return; + } + SurProjectAttendanceGroup group=gList.get(0); + sdata.setCompanyName(group.getCompanyName()); + sdata.setCompanyTypeId(group.getCompanyTypeId()); + //查询华筑的分组信息 + if("huazhu".equals(sdata.getVendorsCode())){ + sdata.setWorkerGender(sdata.getWorkerGender()); + sdata.setCompanyTypeId(getHuazhuCompanyTypeId(group.getCompanyName()));//获取华筑的分包商类型 + } + if("jgw".equals(sdata.getVendorsCode())){ + //sdata.setWorkTypeName(group.getCompanyCode()); + //sdata.setCompanyName(user.getCompanyName()); + sdata.setWorkTypeName(user.getWorkTypeName()); + sdata.setCompanyName(group.getCompanyName()); + sdata.setGroupName(group.getTeamName()); + } + //查询项目部门信息 + SurProjectAttendanceCfg cfgWhere=new SurProjectAttendanceCfg(); + cfgWhere.setId(sdata.getCfgid()); + List cfgList=surProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgListForAllInfo(cfgWhere); + if(cfgList.size()==0){ + return; + } + SurProjectAttendanceCfg cfg=cfgList.get(0); + sdata.setProjectId(cfg.getProjectId()); + sdata.setDeptId(cfg.getSubDeptId()); + sdata.setProjectName(cfg.getProjectName()); + sdata.setDeptName(cfg.getDeptName()); + if(sdata.getCompanyTypeId()==null){ + sdata.setCompanyTypeId("0"); + } + insertSurProjectAttendanceData(sdata); + }else{ + sdata.setId(list.get(0).getId()); + SurProjectAttendanceData upData=list.get(0); + String dt1=upData.getAttendanceTime(); // + String dt2=upData.getAttendanceOutTime(); + String dt3=sdata.getAttendanceTime(); + if (StrUtil.isEmpty(dt3)) { + return; + } + long time3=DateUtil.parse(dt3).getTime(); + if(StrUtil.isEmpty(dt2)){ + upData.setAttendanceOutTime(dt3); + //比较 dt1,dt2 进行交换 + long time2=DateUtil.parse(dt3).getTime(); + long time1=DateUtil.parse(dt1).getTime(); + if(time1>time2){ + upData.setAttendanceTime(dt3); + upData.setAttendanceOutTime(dt1); + } + }else{ + long time2=DateUtil.parse(dt2).getTime(); + long time1=DateUtil.parse(dt1).getTime(); + //比较 dt3dt3 + if(time3dt2 out->dt3 + if(time3>time2){ + upData.setAttendanceOutTime(dt3); + } + } + //upData.setAttendanceOutTime(sdata.getAttendanceTime()); + if("jgw".equals(upData.getVendorsCode())){ + upData.setRemark(sdata.getRemark()); + } + updateSurProjectAttendanceData(upData); + } + } + } + } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java index b984cbf4..b771c2e3 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java @@ -153,6 +153,17 @@ public class AttendanceJgwTask { clearDatePhone(clearPath,url); } } + + public void clearToDayPhoto(){ + String filePath= RuoYiConfig.getUploadPath(); + String path=filePath+"/jgw"; + long endTime=DateUtil.current(); + Date dt = new Date(); + String clearPath=path +"/" + DateUtil.format(dt, "YYYY/MM/dd"); + String url="/jgw/"+DateUtil.format(dt, "YYYY/MM/dd"); + clearDatePhone(clearPath,url); + + } private void clearDatePhone(String path,String url){ File file=new File(path); if(file.isDirectory()){ @@ -1064,6 +1075,7 @@ public class AttendanceJgwTask { String dtStart=DateUtil.format(DateTime.now(),"yyyy-MM-dd"); String dtEnd=dtStart; syncAttendanceData(dtStart,dtEnd); + clearToDayPhoto(); } /** @@ -1142,6 +1154,7 @@ public class AttendanceJgwTask { JSONObject joData= j.getJSONObject("data"); String endId= joData.getString("endId"); JSONArray arr=joData.getJSONArray("workerAttList"); + //List addList=new ArrayList<>(); if(arr!=null && arr.size()>0){ for(int i=0;i