提交代码

dev_xds
姜玉琦 2024-06-04 00:12:08 +08:00
parent 77a813b926
commit e97597db8e
18 changed files with 156 additions and 37 deletions

View File

@ -481,9 +481,11 @@ public class LabourApiController extends BaseController {
if(req.getDataSign(sysApplyConfig.getPrivateKey())){ if(req.getDataSign(sysApplyConfig.getPrivateKey())){
try { try {
SurProjectAttendanceData surProjectAttendanceData = JSONObject.parseObject(req.getData(), SurProjectAttendanceData.class); SurProjectAttendanceData surProjectAttendanceData = JSONObject.parseObject(req.getData(), SurProjectAttendanceData.class);
String cacheKey = CACHEKEY + surProjectAttendanceData.getWorkerId();
Boolean cacheValue = Convert.toBool(redisCache.getCacheObject(cacheKey),true);
//30秒内未重复请求 //30秒内未重复请求
if(Convert.toBool(redisCache.getCacheObject(CACHEKEY+surProjectAttendanceData.getWorkerId()),true)){ if(cacheValue){
redisCache.setCacheObject(CACHEKEY+surProjectAttendanceData.getWorkerId(),false,60, TimeUnit.SECONDS); redisCache.setCacheObject(cacheKey,false,60, TimeUnit.SECONDS);
//判断base64图片 //判断base64图片
if(StringUtils.isNotEmpty(surProjectAttendanceData.getScanPhotoBase64())){ if(StringUtils.isNotEmpty(surProjectAttendanceData.getScanPhotoBase64())){
String filePath = FileUploadUtils.uploadImages(RuoYiConfig.getUploadPath(), MultipartFileUtils.base64ToMultipartFile(surProjectAttendanceData.getScanPhotoBase64())); String filePath = FileUploadUtils.uploadImages(RuoYiConfig.getUploadPath(), MultipartFileUtils.base64ToMultipartFile(surProjectAttendanceData.getScanPhotoBase64()));
@ -578,6 +580,7 @@ public class LabourApiController extends BaseController {
throw new Exception(messages); throw new Exception(messages);
} }
}else{ }else{
log.info("短时间重复打卡请求,本次已忽略...{}SUCCESS",cacheKey);
return success("短时间重复打卡请求,本次已忽略...{}SUCCESS"); return success("短时间重复打卡请求,本次已忽略...{}SUCCESS");
} }
}catch (Exception e){ }catch (Exception e){
@ -638,8 +641,11 @@ public class LabourApiController extends BaseController {
} }
for(SurProjectAttendanceData surProjectAttendanceData:surProjectAttendanceDataList){ for(SurProjectAttendanceData surProjectAttendanceData:surProjectAttendanceDataList){
//30秒内未重复请求 //30秒内未重复请求
if(Convert.toBool(redisCache.getCacheObject(CACHEKEY+surProjectAttendanceData.getWorkerId()),true)){ String cacheKey = CACHEKEY + surProjectAttendanceData.getWorkerId();
redisCache.setCacheObject(CACHEKEY+surProjectAttendanceData.getWorkerId(),false,60, TimeUnit.SECONDS); Boolean cacheValue = Convert.toBool(redisCache.getCacheObject(cacheKey),true);
//30秒内未重复请求
if(cacheValue){
redisCache.setCacheObject(cacheKey,false,60, TimeUnit.SECONDS);
//判断base64图片 //判断base64图片
if(StringUtils.isNotEmpty(surProjectAttendanceData.getScanPhotoBase64())){ if(StringUtils.isNotEmpty(surProjectAttendanceData.getScanPhotoBase64())){
String filePath = FileUploadUtils.uploadImages(RuoYiConfig.getUploadPath(), MultipartFileUtils.base64ToMultipartFile(surProjectAttendanceData.getScanPhotoBase64())); String filePath = FileUploadUtils.uploadImages(RuoYiConfig.getUploadPath(), MultipartFileUtils.base64ToMultipartFile(surProjectAttendanceData.getScanPhotoBase64()));
@ -716,6 +722,8 @@ public class LabourApiController extends BaseController {
surProjectAttendanceData.setCreateTime(new Date()); surProjectAttendanceData.setCreateTime(new Date());
saveList.add(surProjectAttendanceData); saveList.add(surProjectAttendanceData);
} }
}else{
log.info("短时间重复打卡请求,本次已忽略...{}SUCCESS",cacheKey);
} }
} }
if(StringUtils.isNotEmpty(saveList)){ if(StringUtils.isNotEmpty(saveList)){

View File

@ -171,7 +171,7 @@
<dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" /> <dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="投诉时间" align="center" prop="createTime"> <el-table-column label="投诉时间" align="center" prop="createTime" width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }}</span> <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }}</span>
</template> </template>

View File

@ -49,7 +49,7 @@
<dict-tag :options="dict.type.check_detection_check_type" :value="scope.row.checkType" /> <dict-tag :options="dict.type.check_detection_check_type" :value="scope.row.checkType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="材料名称" align="center" prop="materialName" width="160"> <el-table-column label="材料名称" align="center" prop="materialName" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.materialName }}</div> <div>{{ scope.row.materialName }}</div>
<div>{{ scope.row.usePosition }}</div> <div>{{ scope.row.usePosition }}</div>
@ -68,7 +68,7 @@
<div>{{ scope.row.witnessUser }}</div> <div>{{ scope.row.witnessUser }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="送检时间" align="center" prop="checkTime" width="150"> <el-table-column label="送检时间" align="center" prop="checkTime" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</div> <div>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</div>
<div>{{ scope.row.laboratoryName }}</div> <div>{{ scope.row.laboratoryName }}</div>
@ -87,6 +87,11 @@
<dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" /> <dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180" fixed="right" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" width="180" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.checkState == '2'" size="mini" type="text" icon="el-icon-paperclip" <el-button v-if="scope.row.checkState == '2'" size="mini" type="text" icon="el-icon-paperclip"

View File

@ -139,7 +139,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="实验室名称" align="center" prop="laboratoryName" width="150" show-overflow-tooltip /> <el-table-column label="实验室名称" align="center" prop="laboratoryName" width="150" show-overflow-tooltip />
<el-table-column label="送检时间" align="center" prop="checkTime" width="95"> <el-table-column label="送检时间" align="center" prop="checkTime" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span>
</template> </template>
@ -157,12 +157,12 @@
<dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" /> <dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交用户" align="center" prop="createBy" width="110" /> <el-table-column label="提交时间" align="center" prop="createTime" width="100">
<el-table-column label="提交时间" align="center" prop="createTime" width="95">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交用户" align="center" prop="createBy" width="110" />
<el-table-column label="登记结果用户" align="center" prop="updateBy" width="110" /> <el-table-column label="登记结果用户" align="center" prop="updateBy" width="110" />
<el-table-column label="登记结果时间" align="center" prop="updateTime" width="110"> <el-table-column label="登记结果时间" align="center" prop="updateTime" width="110">
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -224,9 +224,9 @@
width="120" width="120"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column label="封样时间" align="center" prop="sealDate" width="180"> <el-table-column label="封样时间" align="center" prop="sealDate" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.sealDate, "{y}-{m}-{d} {h}:{i}") }}</span> <span>{{ parseTime(scope.row.sealDate, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批状态" align="center" prop="approveStatus" width="120"> <el-table-column label="审批状态" align="center" prop="approveStatus" width="120">
@ -284,7 +284,11 @@
<dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" /> <dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"

View File

@ -51,24 +51,24 @@
@click="onPreview(scope.row.imageUrls)"></el-image> @click="onPreview(scope.row.imageUrls)"></el-image>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="封样名称" align="center" prop="materialName" width="250"> <el-table-column label="封样名称" align="center" prop="materialName" width="230">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.materialName }}</div> <div>{{ scope.row.materialName }}</div>
<div>{{ scope.row.usePosition }}</div> <div>{{ scope.row.usePosition }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="品牌" align="center" prop="contractBrand" width="200"> <el-table-column label="品牌" align="center" prop="contractBrand" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div>指定{{ scope.row.contractBrand }}</div> <div>指定{{ scope.row.contractBrand }}</div>
<div>拟用{{ scope.row.useBrand }}</div> <div>拟用{{ scope.row.useBrand }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="封样时间" align="center" prop="sealDate" width="120"> <el-table-column label="封样时间" align="center" prop="sealDate" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.sealDate, "{y}-{m}-{d} {h}:{i}") }}</span> <span>{{ parseTime(scope.row.sealDate, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="监理专员" align="center" prop="witnessUser" width="120" show-overflow-tooltip> <el-table-column label="监理专员" align="center" prop="witnessUser" width="110" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.witnessUserName }}</div> <div>{{ scope.row.witnessUserName }}</div>
<div>{{ scope.row.witnessUser }}</div> <div>{{ scope.row.witnessUser }}</div>
@ -79,7 +79,7 @@
<dict-tag :options="dict.type.project_checking_result" :value="scope.row.materialResult" /> <dict-tag :options="dict.type.project_checking_result" :value="scope.row.materialResult" />
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="审批状态" align="center" prop="approveStatus" width="120"> <el-table-column label="审批状态" align="center" prop="approveStatus" width="110">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" /> <dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" />
</template> </template>
@ -99,6 +99,11 @@
<span v-if="scope.row.signFiles == null"> - </span> <span v-if="scope.row.signFiles == null"> - </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="150"> <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.approveStatus != null" size="mini" type="text" icon="el-icon-tickets" <el-button v-if="scope.row.approveStatus != null" size="mini" type="text" icon="el-icon-tickets"

View File

@ -308,7 +308,7 @@
label="验收时间" label="验收时间"
align="center" align="center"
prop="checkingDate" prop="checkingDate"
width="180" width="100"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -336,6 +336,11 @@
<dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" /> <dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"

View File

@ -63,19 +63,19 @@
<el-table-column label="验收工序部位" align="left" prop="checkWorkingPosition" show-overflow-tooltip /> <el-table-column label="验收工序部位" align="left" prop="checkWorkingPosition" show-overflow-tooltip />
<el-table-column label="验收描述" align="left" prop="intro" show-overflow-tooltip /> <el-table-column label="验收描述" align="left" prop="intro" show-overflow-tooltip />
<el-table-column label="质量专员" align="left" prop="qualityUser" width="120" show-overflow-tooltip> <el-table-column label="质量专员" align="left" prop="qualityUser" width="110" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.qualityUserName }}</div> <div>{{ scope.row.qualityUserName }}</div>
<div>{{ scope.row.qualityUser }}</div> <div>{{ scope.row.qualityUser }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="监理专员" align="left" prop="superviseUser" width="120" show-overflow-tooltip> <el-table-column label="监理专员" align="left" prop="superviseUser" width="110" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.superviseUserName }}</div> <div>{{ scope.row.superviseUserName }}</div>
<div>{{ scope.row.superviseUser }}</div> <div>{{ scope.row.superviseUser }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="验收时间" align="center" prop="checkingDate" width="140" show-overflow-tooltip> <el-table-column label="验收时间" align="center" prop="checkingDate" width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.checkingDate, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.checkingDate, "{y}-{m}-{d}") }}</span>
</template> </template>
@ -93,6 +93,11 @@
<dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" /> <dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="150"> <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.files.length>0" size="mini" type="text" icon="el-icon-paperclip" <el-button v-if="scope.row.files.length>0" size="mini" type="text" icon="el-icon-paperclip"

View File

@ -231,7 +231,7 @@
width="140" width="140"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column label="测量时间" align="center" prop="measureTime" width="160"> <el-table-column label="测量时间" align="center" prop="measureTime" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template> </template>
@ -285,6 +285,11 @@
<dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" /> <dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"

View File

@ -64,7 +64,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量部位" align="center" prop="measurePosition" width="150" show-overflow-tooltip /> <el-table-column label="测量部位" align="center" prop="measurePosition" width="150" show-overflow-tooltip />
<el-table-column label="测量时间" align="center" prop="measureTime" width="160"> <el-table-column label="测量时间" align="center" prop="measureTime" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template> </template>
@ -78,7 +78,7 @@
/> />
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="审批状态" align="center" prop="approveStatus" width="120"> <el-table-column label="审批状态" align="center" prop="approveStatus" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" /> <dict-tag :options="dict.type.project_check_status" :value="scope.row.approveStatus" />
</template> </template>
@ -95,6 +95,11 @@
<div>{{ scope.row.superviseUser }}</div> <div>{{ scope.row.superviseUser }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="150"> <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.measureFiles != null" size="mini" type="text" icon="el-icon-paperclip" <el-button v-if="scope.row.measureFiles != null" size="mini" type="text" icon="el-icon-paperclip"

View File

@ -234,6 +234,7 @@
<el-select <el-select
v-model="scope.row.copySendUser" v-model="scope.row.copySendUser"
placeholder="请选择抄送人" placeholder="请选择抄送人"
multiple filterable
style="width: 100%" style="width: 100%"
@change="selectCopySendUser($event, scope.row)" @change="selectCopySendUser($event, scope.row)"
> >
@ -290,7 +291,7 @@
<el-date-picker <el-date-picker
v-model="scope.row.nickedTime" v-model="scope.row.nickedTime"
type="date" type="date"
value-format="yyyy-MM-dd HH:ss" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择截至时间" placeholder="选择截至时间"
style="width: 160px" style="width: 160px"
> >
@ -555,6 +556,7 @@ export default {
return false; return false;
} }
this.loading = true; this.loading = true;
row.copySendUser = row.copySendUser.toString();
updateSmzSspProblemmodifyDraft(row).then((response) => { updateSmzSspProblemmodifyDraft(row).then((response) => {
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
this.loading = false; this.loading = false;
@ -610,6 +612,9 @@ export default {
rows.push(row); rows.push(row);
} }
this.loading = true; this.loading = true;
for (let i = 0; i < rows.length; i++){
rows[i].copySendUser = rows[i].copySendUser.toString();
}
batchUpdateSmzSspProblemmodifyDraft(rows).then((response) => { batchUpdateSmzSspProblemmodifyDraft(rows).then((response) => {
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
this.loading = false; this.loading = false;
@ -675,15 +680,16 @@ export default {
break; break;
} }
} }
let ls = [];;
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
for (let us = 0; us < data[i].userinfoList.length; us++) { for (let us = 0; us < data[i].userinfoList.length; us++) {
let u = data[i].userinfoList[us]; let u = data[i].userinfoList[us];
if (u.phonenumber == val) { if (val.includes(u.phonenumber)) {
row.copySend = u.nickName + " [" + u.jobTypeName + "] "; ls.push(u.nickName + " [" + u.jobTypeName + "]");
return false;
} }
} }
} }
row.copySend = ls.toString();
}, },
selectRecheckSendUser(val, row) { selectRecheckSendUser(val, row) {
let data = []; let data = [];

View File

@ -231,6 +231,7 @@
<el-select <el-select
v-model="scope.row.copySendUser" v-model="scope.row.copySendUser"
placeholder="请选择抄送人" placeholder="请选择抄送人"
multiple filterable
style="width: 100%" style="width: 100%"
@change="selectCopySendUser($event, scope.row)" @change="selectCopySendUser($event, scope.row)"
> >
@ -287,7 +288,7 @@
<el-date-picker <el-date-picker
v-model="scope.row.nickedTime" v-model="scope.row.nickedTime"
type="date" type="date"
value-format="yyyy-MM-dd HH:ss" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择截至时间" placeholder="选择截至时间"
style="width: 160px" style="width: 160px"
> >
@ -552,6 +553,7 @@ export default {
return false; return false;
} }
this.loading = true; this.loading = true;
row.copySendUser = row.copySendUser.toString();
updateSmzSspProblemmodifyDraft(row).then((response) => { updateSmzSspProblemmodifyDraft(row).then((response) => {
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
this.loading = false; this.loading = false;
@ -607,6 +609,9 @@ export default {
rows.push(row); rows.push(row);
} }
this.loading = true; this.loading = true;
for (let i = 0; i < rows.length; i++){
rows[i].copySendUser = rows[i].copySendUser.toString();
}
batchUpdateSmzSspProblemmodifyDraft(rows).then((response) => { batchUpdateSmzSspProblemmodifyDraft(rows).then((response) => {
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
this.loading = false; this.loading = false;
@ -672,15 +677,16 @@ export default {
break; break;
} }
} }
let ls = [];;
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
for (let us = 0; us < data[i].userinfoList.length; us++) { for (let us = 0; us < data[i].userinfoList.length; us++) {
let u = data[i].userinfoList[us]; let u = data[i].userinfoList[us];
if (u.phonenumber == val) { if (val.includes(u.phonenumber)) {
row.copySend = u.nickName + " [" + u.jobTypeName + "] "; ls.push(u.nickName + " [" + u.jobTypeName + "]");
return false;
} }
} }
} }
row.copySend = ls.toString();
}, },
selectRecheckSendUser(val, row) { selectRecheckSendUser(val, row) {
let data = []; let data = [];

View File

@ -86,7 +86,7 @@ public class ProjectAttendanceController extends BaseController {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, -1); calendar.add(Calendar.DAY_OF_MONTH, -1);
where.setAttendanceOutTime(DateUtil.format(calendar.getTime(),DateUtils.YYYY_MM_DD)); where.setAttendanceOutTime(DateUtil.format(calendar.getTime(),DateUtils.YYYY_MM_DD));
calendar.add(Calendar.DAY_OF_MONTH, -7); calendar.add(Calendar.DAY_OF_MONTH, -6);
where.setAttendanceTime(DateUtil.format(calendar.getTime(),DateUtils.YYYY_MM_DD)); where.setAttendanceTime(DateUtil.format(calendar.getTime(),DateUtils.YYYY_MM_DD));
List<Map<String, Object>> list = attendanceDataService.findGroupAllByDays(where); List<Map<String, Object>> list = attendanceDataService.findGroupAllByDays(where);
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();

View File

@ -54,7 +54,7 @@ public class FlowLabourInfoController extends BaseController
flowLabourInfo.setNowDept(Convert.toStr(getDeptId())); flowLabourInfo.setNowDept(Convert.toStr(getDeptId()));
} }
flowLabourInfo.setNowUser(Convert.toStr(getUserId())); flowLabourInfo.setNowUser(Convert.toStr(getUserId()));
List<FlowLabourInfo> list = flowLabourInfoService.selectFlowLabourInfoList(flowLabourInfo); List<FlowLabourInfo> list = flowLabourInfoService.selectFlowLabourInfoListV2(flowLabourInfo);
return getDataTable(list); return getDataTable(list);
} }

View File

@ -37,6 +37,14 @@ public interface FlowLabourInfoMapper
*/ */
public List<FlowLabourInfo> selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo); public List<FlowLabourInfo> selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo);
/**
*
*
* @param flowLabourInfo
* @return
*/
public List<FlowLabourInfo> selectFlowLabourInfoListV2(FlowLabourInfo flowLabourInfo);
/** /**
* *
* *

View File

@ -39,6 +39,14 @@ public interface IFlowLabourInfoService
*/ */
public List<FlowLabourInfo> selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo); public List<FlowLabourInfo> selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo);
/**
*
*
* @param flowLabourInfo
* @return
*/
public List<FlowLabourInfo> selectFlowLabourInfoListV2(FlowLabourInfo flowLabourInfo);
/** /**
* *
* *

View File

@ -72,6 +72,20 @@ public class FlowLabourInfoServiceImpl implements IFlowLabourInfoService
return flowLabourInfoMapper.selectFlowLabourInfoList(flowLabourInfo); return flowLabourInfoMapper.selectFlowLabourInfoList(flowLabourInfo);
} }
/**
*
*
* @param flowLabourInfo
* @return
*/
public List<FlowLabourInfo> selectFlowLabourInfoListV2(FlowLabourInfo flowLabourInfo){
if(Convert.toInt(flowLabourInfo.getNowRole(),1)>4){
//这里总包只能审批自己单位数据
flowLabourInfo.setDeptId(Convert.toLong(flowLabourInfo.getNowDept()));
}
return flowLabourInfoMapper.selectFlowLabourInfoListV2(flowLabourInfo);
}
/** /**
* *
* *

View File

@ -77,6 +77,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by fl.approve_status desc, fl.id desc order by fl.approve_status desc, fl.id desc
</select> </select>
<select id="selectFlowLabourInfoListV2" parameterType="FlowLabourInfo" resultMap="FlowLabourInfoResult">
<include refid="selectFlowLabourInfoVo"/>
<where>
fl.is_del=0
<if test="projectId != null and projectId!=0 "> and fl.project_id = #{projectId}</if>
<if test="projectName != null and projectName != ''"> and fl.project_name like concat('%', #{projectName}, '%')</if>
<if test="deptId != null and deptId!=0"> and fl.dept_id = #{deptId}</if>
<if test="deptName != null and deptName != ''"> and fl.dept_name like concat('%', #{deptName}, '%')</if>
<if test="subDeptId != null "> and fl.sub_dept_id = #{subDeptId}</if>
<if test="subDeptName != null and subDeptName != ''"> and fl.sub_dept_name like concat('%', #{subDeptName}, '%')</if>
<if test="laborName != null and laborName != ''"> and fl.labor_name like concat('%', #{laborName}, '%')</if>
<if test="laborCardId != null "> and fl.labor_cardId like concat('%', #{laborCardId}, '%')</if>
<if test="laborPhone != null and laborPhone != ''"> and fl.labor_phone = #{laborPhone}</if>
<if test="approveStatus != null and approveStatus != ''"> and fl.approve_status = #{approveStatus}</if>
<if test='activeName != null and activeName == "MyAwait"'> and fl.approve_status != 100</if>
<if test="params.beginDate != null and params.beginDate != '' and params.endDate != null and params.endDate != ''"> and date(fl.create_time) between #{params.beginDate} and #{params.endDate}</if>
<!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and sp.deptId = #{projectDeptId}</if>
<!--子部门数据-->
<if test='nowRole == "4"'> and sp.deptId = #{nowDept}</if>
<!--监理单位/总包公司/分包单位查询当前关联数据-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'>
and sp.id in (select spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept} and spui.job_type='24' and spui.del_flag=0 )
</if>
<if test='nowRole == "15" or nowRole == "16" or nowRole == "17"'> and fl.approve_status in ('10','20','21','30','31','100') and sp.id in (select spui.project_id from sur_project_userinfo spui where spui.dept_id = #{nowDept} and spui.user_id=(select su.user_id from sys_user su where su.user_id=#{nowUser}) and spui.job_type='24' and spui.is_del=0)</if>
<if test='activeName == "jxz"'>
and fl.approve_status != '100'
</if>
<if test='activeName == "ywc"'>
and fl.approve_status = 100
</if>
</where>
order by fl.approve_status desc, fl.id desc
</select>
<select id="findGroupCountByApprove" parameterType="FlowLabourInfo" resultType="Map"> <select id="findGroupCountByApprove" parameterType="FlowLabourInfo" resultType="Map">
select fl.approve_status as approveStatus, count(1) as total from flow_labour_info fl select fl.approve_status as approveStatus, count(1) as total from flow_labour_info fl
left join sur_project sp on sp.id = fl.project_id left join sur_project sp on sp.id = fl.project_id
@ -104,7 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test='nowRole == "4"'> and fl.approve_status in ('20','21','31','30','100') and sp.deptId = #{nowDept}</if> <if test='nowRole == "4"'> and fl.approve_status in ('20','21','31','30','100') and sp.deptId = #{nowDept}</if>
<!--监理单位/总包公司/分包单位查询当前关联数据--> <!--监理单位/总包公司/分包单位查询当前关联数据-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and fl.approve_status in ('10','20','21','30','31','100') and sp.id in (select spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept} and spui.job_type='24' and spui.del_flag=0 )</if> <if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and fl.approve_status in ('10','20','21','30','31','100') and sp.id in (select spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept} and spui.job_type='24' and spui.del_flag=0 )</if>
<if test='nowRole == "15" or nowRole == "16" or nowRole == "17"'> and fl.approve_status in ('10','20','21','30','31','100') and sp.id in (select spui.project_id from sur_project_userinfo spui where spui.dept_id = #{nowDept} and spui.user_id=(select su.user_id from sys_user su where su.user_name=#{nowUser}) and spui.job_type='24' and spui.is_del=0)</if> <if test='nowRole == "15" or nowRole == "16" or nowRole == "17"'> and fl.approve_status in ('10','20','21','30','31','100') and sp.id in (select spui.project_id from sur_project_userinfo spui where spui.dept_id = #{nowDept} and spui.user_id=(select su.user_id from sys_user su where su.user_id=#{nowUser}) and spui.job_type='24' and spui.is_del=0)</if>
</where> </where>
group by fl.approve_status group by fl.approve_status
</select> </select>