dev_xds
姜玉琦 2024-04-22 22:10:50 +08:00
commit 9a2890f78e
5 changed files with 200 additions and 9 deletions

View File

@ -45,8 +45,8 @@
<el-table-column label="作者" align="center" prop="authorName" />
<el-table-column label="期刊主图" align="center" prop="imageUrl">
<template slot-scope="{row}">
<el-image v-if="row.imageUrl" class="row-image" :src="$basepath + row.imageUrl + '.min.jpg'"
:preview-src-list="[$basepath + row.imageUrl]"></el-image>
<el-image v-if="row.imageUrl" class="row-image" :src="row.imageUrl[0] + '.min.jpg'"
:preview-src-list="row.imageUrl"></el-image>
</template>
</el-table-column>
<el-table-column label="标题" align="center" prop="title">
@ -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;

View File

@ -57,10 +57,15 @@
<el-form-item label="期刊主图" ref="fiImage" prop="imageUrl" class="fi-imgs"
:class="'form-img-' + (form.imageUrl ? form.imageUrl.length : 0)">
<el-image :src="$basepath + form.imageUrl[0].url"
:preview-src-list="[$basepath + form.imageUrl[0].url]"
v-if="form.imageUrl && form.imageUrl.length > 0"></el-image>
<FileUpload @input="doImageInput" v-model="form.imageUrl" :fileSize="5" :limit="1"
<div v-if="form.imageUrl.length>0" class="img-list">
<div class="img-item" v-for="(it,idx) in form.imageUrl" :key="idx">
<i class="el-icon-delete img-item-del" @click="doRemoveImage(idx)"></i>
<el-image :src="$basepath + form.imageUrl[idx].url"
:preview-src-list="[$basepath + form.imageUrl[idx].url]"
></el-image>
</div>
</div>
<FileUpload @input="doImageInput" v-model="form.imageUrl" :fileSize="5" :limit="5"
:fileType="['png', 'jpg', 'jpeg']" />
</el-form-item>
<el-form-item label="" prop="content" class="fi-editor">
@ -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;
}
}
}

View File

@ -105,4 +105,10 @@ public interface ISurProjectAttendanceDataService
List<SurProjectAttendanceData> todayAttendance(SurProjectAttendanceData where);
List<SurProjectAttendanceData> groupTodayCompanyTypeId(SurProjectAttendanceData where);
/**
*
* @param addList
*/
void addList(List<SurProjectAttendanceData> addList);
}

View File

@ -354,4 +354,127 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc
public List<SurProjectAttendanceData> groupTodayCompanyTypeId(SurProjectAttendanceData where) {
return surProjectAttendanceDataMapper.groupTodayCompanyTypeId(where);
}
/**
*
* @param addList
*/
@Override
public void addList(List<SurProjectAttendanceData> 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<SurProjectAttendanceData> oldList=selectSurProjectAttendanceDataListEx(where);
for(SurProjectAttendanceData sdata:addList){
List<SurProjectAttendanceData> 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<SurProjectAttendanceUser> 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<SurProjectAttendanceGroup> 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<SurProjectAttendanceCfg> 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();
//比较 dt3<dt1 in->dt3
if(time3<time1){
upData.setAttendanceTime(dt3);
}
//比较 dt3>dt2 out->dt3
if(time3>time2){
upData.setAttendanceOutTime(dt3);
}
}
//upData.setAttendanceOutTime(sdata.getAttendanceTime());
if("jgw".equals(upData.getVendorsCode())){
upData.setRemark(sdata.getRemark());
}
updateSurProjectAttendanceData(upData);
}
}
}
}

View File

@ -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<SurProjectAttendanceData> addList=new ArrayList<>();
if(arr!=null && arr.size()>0){
for(int i=0;i<arr.size();i++) {
JSONObject json = arr.getJSONObject(i);
@ -1156,7 +1169,9 @@ public class AttendanceJgwTask {
}
sdata.setVendorsCode(it.getVendorsCode());
attendanceDataService.add(sdata);
//addList.add(sdata);
}
//attendanceDataService.addList(addList);
doSyncAttendanceData(jo,endId,it);
}
}