dev_xds
haha 2023-08-16 01:19:31 +08:00
commit 723c28b1c6
6 changed files with 133 additions and 69 deletions

View File

@ -105,6 +105,9 @@ export default {
projectId: this.project.id, projectId: this.project.id,
}).then((d) => { }).then((d) => {
this.form = d.rows[0]; this.form = d.rows[0];
this.form.oldServicePersonnel = this.form.servicePersonnel;
this.form.oldSupervisorPersonnel = this.form.supervisorPersonnel;
this.form.oldContractorPersonnel = this.form.contractorPersonnel;
}); });
} }
}); });

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="prject-attendance-drawer"> <div class="projectect-attendance-drawer">
<el-drawer <el-drawer
v-if="isOpen" v-if="isOpen"
:visible.sync="isOpen" :visible.sync="isOpen"
@ -10,20 +10,50 @@
<template slot="title"> <template slot="title">
<div>{{ title + " 【今日出勤】" }}</div> <div>{{ title + " 【今日出勤】" }}</div>
</template> </template>
<el-form label-width="120px" ref="frm1" :model="formData" :rules="rules"> <el-tabs v-model="activeName" style="padding-left: 20px">
<el-form-item label="出勤查询" prop="workDate"> <el-tab-pane
<el-date-picker v-for="(it, idx) in nodes"
clearable :label="it.unitName + ''"
v-model="queryParams.workDate" :name="it.unitId + ''"
type="date" :key="idx"
value-format="yyyy-MM-dd" ></el-tab-pane>
placeholder="请选择出勤时间" </el-tabs>
> <el-form label-width="120px" ref="form" :rules="rules">
</el-date-picker> <div
</el-form-item> style="
padding: 8px 16px;
background-color: #ecf8ff;
border-radius: 4px;
border-left: 5px solid #50bfff;
margin: 20px;
"
>
<el-form-item label="在册劳务人员" prop="servicePersonnel">
<el-input style="width: 80%" v-model="vform.servicePersonnel" :readonly="true"
><i slot="suffix"></i></el-input
>
</el-form-item>
<el-form-item label="在册管理人员" prop="supervisorPersonnel">
<el-input
style="width: 80%"
v-model="vform.supervisorPersonnel"
:readonly="true"
><i slot="suffix"></i></el-input
>
</el-form-item>
<el-form-item label="在册总包人员" prop="contractorPersonnel">
<el-input
style="width: 80%"
v-model="vform.contractorPersonnel"
:readonly="true"
><i slot="suffix"></i></el-input
>
</el-form-item>
</div>
<el-form-item label="劳务人员" prop="servicePersonnel"> <el-form-item label="劳务人员" prop="servicePersonnel">
<el-input-number <el-input-number
v-model="formData.servicePersonnel" style="width: 80%"
v-model="form.servicePersonnel"
:min="0" :min="0"
:max="10000" :max="10000"
label="请输入劳务人员" label="请输入劳务人员"
@ -31,7 +61,8 @@
</el-form-item> </el-form-item>
<el-form-item label="管理人员" prop="supervisorPersonnel"> <el-form-item label="管理人员" prop="supervisorPersonnel">
<el-input-number <el-input-number
v-model="formData.supervisorPersonnel" style="width: 80%"
v-model="form.supervisorPersonnel"
:min="0" :min="0"
:max="10000" :max="10000"
label="请输入管理人员" label="请输入管理人员"
@ -39,7 +70,8 @@
</el-form-item> </el-form-item>
<el-form-item label="总包人员" prop="contractorPersonnel"> <el-form-item label="总包人员" prop="contractorPersonnel">
<el-input-number <el-input-number
v-model="formData.contractorPersonnel" style="width: 80%"
v-model="form.contractorPersonnel"
:min="0" :min="0"
:max="10000" :max="10000"
label="请输入总包人员" label="请输入总包人员"
@ -56,26 +88,23 @@
<script> <script>
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { selectByDate } from "@/api/project/surProjectAttendance"; import {
unitList,
listProjectDeptWroks2,
updateProjectDeptWroks,
} from "@/api/project/projectDeptWroks";
export default { export default {
name: "RuoyiUiAttendanceDrawer", name: "RuoyiUiProjectDeptWroksDrawer",
data() { data() {
return { return {
isOpen: false, isOpen: false,
prj: null, project: null,
title: "", title: "",
oldData: null, nodes: [],
formData: { vform: {},
servicePersonnel: 0, form: {},
supervisorPersonnel: 0,
contractorPersonnel: 0,
},
queryParams: {
prijectId: null,
workDate: null,
},
rules: {}, rules: {},
activeName: "",
}; };
}, },
computed: { computed: {
@ -84,25 +113,35 @@ export default {
mounted() {}, mounted() {},
methods: { methods: {
doOk() {}, doOk() {
updateProjectDeptWroks(this.form).then((response) => {
this.$modal.msgSuccess("保存成功");
this.isOpen = false;
});
},
doCanel() { doCanel() {
this.isOpen = false; this.isOpen = false;
}, },
show(prj) { show(project) {
this.prj = prj; this.project = project;
this.title = prj.projectName; this.title = project.projectName;
this.isOpen = true; this.isOpen = true;
selectByDate({ unitList({
prijectId: prj.id, projectId: project.id,
deptId: this.dept.deptId, unitType: 2,
createTime: +new Date(),
}).then((d) => { }).then((d) => {
let tmps = d.data || []; this.nodes = d.rows;
this.oldData = tmps.length > 0 ? tmps[0] : null; if (this.nodes.length > 0) {
this.activeName = this.nodes[0].unitId + "";
listProjectDeptWroks2({
projectId: this.project.id,
}).then((d) => {
this.vform = d.rows[0];
});
}
}); });
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

View File

@ -42,6 +42,10 @@ public class SurProjectDeptWroks extends BaseEntity
@Excel(name = "总包人员") @Excel(name = "总包人员")
private Long contractorPersonnel; private Long contractorPersonnel;
private Integer oldServicePersonnel;
private Integer oldSupervisorPersonnel;
private Integer oldContractorPersonnel;
public void setId(Long id) public void setId(Long id)
{ {
this.id = id; this.id = id;
@ -105,6 +109,30 @@ public class SurProjectDeptWroks extends BaseEntity
this.deptName = deptName; this.deptName = deptName;
} }
public Integer getOldServicePersonnel() {
return oldServicePersonnel;
}
public void setOldServicePersonnel(Integer oldServicePersonnel) {
this.oldServicePersonnel = oldServicePersonnel;
}
public Integer getOldSupervisorPersonnel() {
return oldSupervisorPersonnel;
}
public void setOldSupervisorPersonnel(Integer oldSupervisorPersonnel) {
this.oldSupervisorPersonnel = oldSupervisorPersonnel;
}
public Integer getOldContractorPersonnel() {
return oldContractorPersonnel;
}
public void setOldContractorPersonnel(Integer oldContractorPersonnel) {
this.oldContractorPersonnel = oldContractorPersonnel;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -57,7 +57,15 @@ public interface SurProjectDeptWroksMapper
* @param surProjectDeptWroks * @param surProjectDeptWroks
* @return * @return
*/ */
public int updateProjectDeptWorksById(SurProjectDeptWroks surProjectDeptWroks); public int updateProjectDeptWorks1(SurProjectDeptWroks surProjectDeptWroks);
/**
*
*
* @param surProjectDeptWroks
* @return
*/
public int updateProjectDeptWorks2(SurProjectDeptWroks surProjectDeptWroks);
/** /**
* *

View File

@ -82,12 +82,12 @@ public class SurProjectDeptWroksServiceImpl implements ISurProjectDeptWroksServi
if(surProjectDeptWroks.getId()!=null){ if(surProjectDeptWroks.getId()!=null){
surProjectDeptWroks.setUpdateBy(SecurityUtils.getUsername()); surProjectDeptWroks.setUpdateBy(SecurityUtils.getUsername());
surProjectDeptWroks.setUpdateTime(DateUtils.getNowDate()); surProjectDeptWroks.setUpdateTime(DateUtils.getNowDate());
int res = surProjectDeptWroksMapper.updateProjectDeptWorksById(surProjectDeptWroks); int res = surProjectDeptWroksMapper.updateProjectDeptWorks2(surProjectDeptWroks);
return surProjectDeptWroksMapper.updateSurProjectDeptWroks(surProjectDeptWroks); return surProjectDeptWroksMapper.updateSurProjectDeptWroks(surProjectDeptWroks);
}else{ }else{
surProjectDeptWroks.setCreateBy(SecurityUtils.getUsername()); surProjectDeptWroks.setCreateBy(SecurityUtils.getUsername());
surProjectDeptWroks.setCreateTime(DateUtils.getNowDate()); surProjectDeptWroks.setCreateTime(DateUtils.getNowDate());
int res = surProjectDeptWroksMapper.updateProjectDeptWorksById(surProjectDeptWroks); int res = surProjectDeptWroksMapper.updateProjectDeptWorks1(surProjectDeptWroks);
return surProjectDeptWroksMapper.insertSurProjectDeptWroks(surProjectDeptWroks); return surProjectDeptWroksMapper.insertSurProjectDeptWroks(surProjectDeptWroks);
} }
} }

View File

@ -118,35 +118,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</delete> </delete>
<update id="updateProjectDeptWorksById" parameterType="SurProjectDeptWroks"> <update id="updateProjectDeptWorks1" parameterType="SurProjectDeptWroks">
UPDATE sur_project sp UPDATE sur_project sp
SET sp.servicePersonnel = (IFNULL(sp.servicePersonnel,0) - ( SET sp.servicePersonnel = sp.servicePersonnel+#{servicePersonnel},
SELECT sp.supervisorPersonnel = sp.supervisorPersonnel+#{supervisorPersonnel},
IFNULL(service_personnel,0) sp.generalContractor = sp.generalContractor+#{contractorPersonnel}
FROM
sur_project_dept_wroks
WHERE
project_id = sp.id
AND dept_id =#{deptId}
)) +#{servicePersonnel}, sp.supervisorPersonnel = (IFNULL(sp.supervisorPersonnel,0) - (
SELECT
IFNULL(supervisor_personnel,0)
FROM
sur_project_dept_wroks
WHERE
project_id = sp.id
AND dept_id =#{deptId}
)) +#{supervisorPersonnel}, sp.generalContractor = (IFNULL(sp.generalContractor,0) - (
SELECT
IFNULL(contractor_personnel,0)
FROM
sur_project_dept_wroks
WHERE
project_id = sp.id
AND dept_id =#{deptId}
)) +#{contractorPersonnel}
WHERE WHERE
id = #{projectId} id = #{projectId}
</update> </update>
<update id="updateProjectDeptWorks2" parameterType="SurProjectDeptWroks">
UPDATE sur_project sp
SET sp.servicePersonnel = sp.servicePersonnel-#{oldServicePersonnel}+#{servicePersonnel},
sp.supervisorPersonnel = sp.supervisorPersonnel-#{oldSupervisorPersonnel}+#{supervisorPersonnel},
sp.generalContractor = sp.generalContractor-#{oldContractorPersonnel}+#{contractorPersonnel}
WHERE
id = #{projectId}
</update>
</mapper> </mapper>