update code
parent
98c5d7f979
commit
978434df1f
|
|
@ -0,0 +1,61 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设计管理列表
|
||||||
|
export function listProjectDesign(query) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设计管理详细
|
||||||
|
export function getProjectDesign(id) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增设计管理
|
||||||
|
export function addProjectDesign(data) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改设计管理
|
||||||
|
export function updateProjectDesign(data) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除设计管理
|
||||||
|
export function delProjectDesign(id) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function listByProject(query){
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign/listByProject',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function updateList(data){
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDesign/updateList',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -51,3 +51,11 @@ export function findUserByDeptId(query) {
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询设计管理负责人可选择用户
|
||||||
|
export function findDesignUsers() {
|
||||||
|
return request({
|
||||||
|
url: '/project/surProjectUserInfo/findDesignUsers',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -476,7 +476,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.jobId != undefined) {
|
if (this.form.jobId) {
|
||||||
updateJob(this.form).then(response => {
|
updateJob(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -24,15 +24,21 @@
|
||||||
<el-option v-if="1==2" key="yanzhu" label="研筑" value="yanzhu"></el-option>
|
<el-option v-if="1==2" key="yanzhu" label="研筑" value="yanzhu"></el-option>
|
||||||
<el-option key="gld" label="广联达" value="gld"></el-option>
|
<el-option key="gld" label="广联达" value="gld"></el-option>
|
||||||
<el-option key="huazhu" label="华筑" value="huazhu"></el-option>
|
<el-option key="huazhu" label="华筑" value="huazhu"></el-option>
|
||||||
|
<el-option key="jgw" label="济工网" value="jgw"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
<span v-else>{{ form.vendorsCode=='yanzhu'?'研筑':form.vendorsCode=='gld'?'广联达':'华筑' }}</span>
|
<span v-else>
|
||||||
|
<span v-if="form.vendorsCode=='yanzhu'">研筑</span>
|
||||||
|
<span v-if="form.vendorsCode=='gld'">广联达</span>
|
||||||
|
<span v-if="form.vendorsCode=='huazhu'">华筑</span>
|
||||||
|
<span v-if="form.vendorsCode=='jgw'">济工网</span>
|
||||||
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<el-button v-if="mode!='edit' && form.vendorsCode=='yanzhu'"
|
<el-button v-if="mode!='edit' && form.vendorsCode=='yanzhu'"
|
||||||
:disabled="!form.projectId || !form.subDeptId"
|
:disabled="!form.projectId || !form.subDeptId"
|
||||||
type="primary" style="margin-left: 12px;" @click="doMakeAppId">获取</el-button>
|
type="primary" style="margin-left: 12px;" @click="doMakeAppId">获取</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<template v-if="form.vendorsCode=='gld'">
|
<template v-if="form.vendorsCode=='gld' || form.vendorsCode=='jgw'">
|
||||||
<el-form-item label="APPID" prop="appId">
|
<el-form-item label="APPID" prop="appId">
|
||||||
<el-input v-model="form.appId" placeholder="请输AppId" clearable />
|
<el-input v-model="form.appId" placeholder="请输AppId" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -160,7 +166,7 @@ export default {
|
||||||
state: 0,
|
state: 0,
|
||||||
isDel: 0
|
isDel: 0
|
||||||
};
|
};
|
||||||
if (this.form.id != null && this.form.id.trim().length>0) {
|
if (this.form.id) {
|
||||||
obj.id = this.form.id;
|
obj.id = this.form.id;
|
||||||
updateAttendanceConfig(obj).then(response => {
|
updateAttendanceConfig(obj).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
|
|
||||||
|
|
@ -659,7 +659,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
//已经上传过检测结果时,修改重新发起提交申请
|
//已经上传过检测结果时,修改重新发起提交申请
|
||||||
if(this.form.checkState=="2"){
|
if(this.form.checkState=="2"){
|
||||||
this.resultform.approveStatus = "1";
|
this.resultform.approveStatus = "1";
|
||||||
|
|
|
||||||
|
|
@ -781,7 +781,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.approveStatus = "1";
|
this.form.approveStatus = "1";
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectChecking(this.form).then((response) => {
|
updateProjectChecking(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -621,7 +621,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.approveStatus = "1";
|
this.form.approveStatus = "1";
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectChecking(this.form).then((response) => {
|
updateProjectChecking(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectDeptWroks(this.form).then((response) => {
|
updateProjectDeptWroks(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,447 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container prj-design-index">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="项目名称" prop="projectId">
|
||||||
|
<el-select v-model="queryParams.projectId" filterable placeholder="请选择项目">
|
||||||
|
<el-option v-for="(item, index) in projectOptions" :key="index" :label="item.projectName" :value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="开始日期" prop="startDate">
|
||||||
|
<el-date-picker clearable v-model="queryParams.startDate" type="date" value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择开始日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结束日期" prop="endDate">
|
||||||
|
<el-date-picker clearable v-model="queryParams.endDate" type="date" value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5" v-if="1 == 2">
|
||||||
|
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
||||||
|
v-hasPermi="['project:projectDesign:export']">导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="projectDesignList" border class="tb_data"
|
||||||
|
@selection-change="handleSelectionChange">
|
||||||
|
<el-table-column prop="nodeText" label="任务内容" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div :class="'node-text-' + scope.row.nodeLvl.length">{{ scope.row.nodeText }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="责任人" align="center" prop="ownerName"></el-table-column>
|
||||||
|
<el-table-column label="数据日期" align="center" prop="dataDate" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.dataDate, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="开始日期" align="center" prop="startDate" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="计划开始日期" align="center" prop="planStartDate" width="90">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.planStartDate, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="结束日期" align="center" prop="endDate" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="计划结束日期" align="center" prop="planEndDate" width="90">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.planEndDate, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="工期" align="center" prop="duration" width="60">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span :class="scope.row.duration < 0 ? 'sp-red' : ''"> {{ scope.row.duration }}</span>
|
||||||
|
<span v-if="scope.row.duration">天</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="剩余天数" align="center" prop="remainingDays" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span :class="scope.row.remainingDays < 0 ? 'sp-red' : ''">{{ scope.row.remainingDays }}</span>
|
||||||
|
<span v-if="scope.row.remainingDays">天</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" align="center" prop="status" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span class="sp-orange" v-if="scope.row.status == '进行中'">进行中</span>
|
||||||
|
<span class="sp-green" v-if="scope.row.status == '完成'">完成</span>
|
||||||
|
<span class="sp-red" v-if="scope.row.status == '延迟'">延迟</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="本周完成工作" align="center" prop="work">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-popover placement="top-start" width="400" trigger="hover" :content="scope.row.work">
|
||||||
|
<div slot="reference" class="div-txt-2">
|
||||||
|
{{ scope.row.work }}
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="下周计划" align="center" prop="nextWeekWork">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-popover placement="top-start" width="400" trigger="hover" :content="scope.row.nextWeekWork">
|
||||||
|
<div slot="reference" class="div-txt-2">
|
||||||
|
{{ scope.row.nextWeekWork }}
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="存在问题" align="center" prop="problem">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-popover placement="top-start" width="400" trigger="hover" :content="scope.row.problem">
|
||||||
|
<div slot="reference" class="div-txt-2">
|
||||||
|
{{ scope.row.problem }}
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="修改记录" align="center" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-popover placement="top-start" width="400" trigger="hover">
|
||||||
|
<pre style="font-size:12px;">{{ scope.row.updateInfo }}</pre>
|
||||||
|
<div slot="reference" style="cursor: pointer;color: cornflowerblue;">
|
||||||
|
修改记录
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList" />
|
||||||
|
|
||||||
|
<!-- 添加或修改设计管理对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="${comment}" prop="id">
|
||||||
|
<el-input v-model="form.id" placeholder="请输入${comment}" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="节点编号" prop="nodeId">
|
||||||
|
<el-input v-model="form.nodeId" placeholder="请输入节点编号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="项目ID" prop="projectId">
|
||||||
|
<el-input v-model="form.projectId" placeholder="请输入项目ID" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="责任人" prop="ownerName">
|
||||||
|
<el-input v-model="form.ownerName" placeholder="请输入责任人" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="责任人电话" prop="ownerPhone">
|
||||||
|
<el-input v-model="form.ownerPhone" placeholder="请输入责任人电话" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="数据日期,同一周一套数据" prop="dataDate">
|
||||||
|
<el-date-picker clearable v-model="form.dataDate" type="date" value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择数据日期,同一周一套数据">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="开始日期" prop="startDate">
|
||||||
|
<el-date-picker clearable v-model="form.startDate" type="date" value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择开始日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="计划开始日期" prop="planStartDate">
|
||||||
|
<el-date-picker clearable v-model="form.planStartDate" type="date" value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择计划开始日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结束日期" prop="endDate">
|
||||||
|
<el-date-picker clearable v-model="form.endDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="计划结束日期" prop="planEndDate">
|
||||||
|
<el-date-picker clearable v-model="form.planEndDate" type="date" value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择计划结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="工期" prop="duration">
|
||||||
|
<el-input v-model="form.duration" placeholder="请输入工期" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="剩余天数" prop="remainingDays">
|
||||||
|
<el-input v-model="form.remainingDays" placeholder="请输入剩余天数" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="文件" prop="files">
|
||||||
|
<el-input v-model="form.files" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="本周完成工作" prop="work">
|
||||||
|
<el-input v-model="form.work" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="下周计划" prop="nextWeekWork">
|
||||||
|
<el-input v-model="form.nextWeekWork" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="存在问题" prop="problem">
|
||||||
|
<el-input v-model="form.problem" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="删除状态" prop="isDel">
|
||||||
|
<el-input v-model="form.isDel" placeholder="请输入删除状态" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="修改记录" prop="updateInfo">
|
||||||
|
<el-input v-model="form.updateInfo" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listProjectDesign, getProjectDesign, delProjectDesign, addProjectDesign, updateProjectDesign } from "@/api/project/projectDesign";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ProjectDesign",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 设计管理表格数据
|
||||||
|
projectDesignList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
projectOptions: [],
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 19,
|
||||||
|
nodeId: null,
|
||||||
|
projectId: null,
|
||||||
|
ownerName: null,
|
||||||
|
ownerPhone: null,
|
||||||
|
dataDate: null,
|
||||||
|
startDate: null,
|
||||||
|
planStartDate: null,
|
||||||
|
endDate: null,
|
||||||
|
planEndDate: null,
|
||||||
|
duration: null,
|
||||||
|
remainingDays: null,
|
||||||
|
status: null,
|
||||||
|
files: null,
|
||||||
|
work: null,
|
||||||
|
nextWeekWork: null,
|
||||||
|
problem: null,
|
||||||
|
isDel: null,
|
||||||
|
updateInfo: null
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
id: [
|
||||||
|
{ required: true, message: "$comment不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.$api.publics.getMyProjectList({}).then((response) => {
|
||||||
|
this.projectOptions = response.rows;
|
||||||
|
});
|
||||||
|
this.loading = false;
|
||||||
|
//this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询设计管理列表 */
|
||||||
|
getList() {
|
||||||
|
if (!this.queryParams.projectId) {
|
||||||
|
this.projectDesignList = [];
|
||||||
|
this.total = 0;
|
||||||
|
this.loading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.loading = true;
|
||||||
|
listProjectDesign(this.queryParams).then(response => {
|
||||||
|
this.projectDesignList = (response.rows || []).map(it => {
|
||||||
|
if (it.ownerName) {
|
||||||
|
it.ownerName += (it.ownerPhone ? "-" + it.ownerPhone : "");
|
||||||
|
} else {
|
||||||
|
it.ownerName = "";
|
||||||
|
}
|
||||||
|
it.nodeText = it.baseBuildNode?.nodeText || "";
|
||||||
|
it.nodeLvl = it.baseBuildNode?.nodeLvl || "";
|
||||||
|
it.showOwner = it.nodeLvl != '0301' && it.nodeLvl != '0302';
|
||||||
|
return it;
|
||||||
|
});
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
id: null,
|
||||||
|
nodeId: null,
|
||||||
|
projectId: null,
|
||||||
|
ownerName: null,
|
||||||
|
ownerPhone: null,
|
||||||
|
dataDate: null,
|
||||||
|
startDate: null,
|
||||||
|
planStartDate: null,
|
||||||
|
endDate: null,
|
||||||
|
planEndDate: null,
|
||||||
|
duration: null,
|
||||||
|
remainingDays: null,
|
||||||
|
status: null,
|
||||||
|
remark: null,
|
||||||
|
files: null,
|
||||||
|
work: null,
|
||||||
|
nextWeekWork: null,
|
||||||
|
problem: null,
|
||||||
|
isDel: null,
|
||||||
|
createBy: null,
|
||||||
|
createTime: null,
|
||||||
|
updateBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
updateInfo: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length !== 1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 新增按钮操作 */
|
||||||
|
handleAdd() {
|
||||||
|
this.reset();
|
||||||
|
this.open = true;
|
||||||
|
this.title = "添加设计管理";
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getProjectDesign(id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "修改设计管理";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.id) {
|
||||||
|
updateProjectDesign(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addProjectDesign(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const ids = row.id || this.ids;
|
||||||
|
this.$modal.confirm('是否确认删除设计管理编号为"' + ids + '"的数据项?').then(function () {
|
||||||
|
return delProjectDesign(ids);
|
||||||
|
}).then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
}).catch(() => { });
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('project/projectDesign/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `projectDesign_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.prj-design-index {
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
.tb_data {
|
||||||
|
.el-table__cell {
|
||||||
|
padding: 2px;
|
||||||
|
|
||||||
|
.cell {
|
||||||
|
padding: 0px 2px;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
.node-text-4 {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-text-6 {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sp-red {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sp-green {
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sp-orange {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div-txt-2 {
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
<template>
|
||||||
|
<div class="project-design-drawer">
|
||||||
|
<el-drawer
|
||||||
|
v-if="isOpen"
|
||||||
|
:visible.sync="isOpen"
|
||||||
|
direction="rtl"
|
||||||
|
size="100%"
|
||||||
|
style="padding-left: 20px"
|
||||||
|
>
|
||||||
|
<template slot="title">
|
||||||
|
<div>{{ title + " 【设计管理】" }}</div>
|
||||||
|
</template>
|
||||||
|
<projectDesignMgr ref="pdMgr" @cancel="doCancel"></projectDesignMgr>
|
||||||
|
</el-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listByProject,listProjectDesign, getProjectDesign, delProjectDesign, addProjectDesign, updateProjectDesign } from "@/api/project/projectDesign";
|
||||||
|
import projectDesignMgr from './projectDesignMgr'
|
||||||
|
export default {
|
||||||
|
name: 'RuoyiUiProjectDesignDrawer',
|
||||||
|
components:{
|
||||||
|
projectDesignMgr
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isOpen: false,
|
||||||
|
project: null,
|
||||||
|
title: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
doCancel(){
|
||||||
|
this.isOpen=false;
|
||||||
|
},
|
||||||
|
show(project) {
|
||||||
|
this.project=project;
|
||||||
|
this.isOpen=true;
|
||||||
|
this.title = project.projectName;
|
||||||
|
setTimeout(()=>{
|
||||||
|
this.$refs.pdMgr.init(project);
|
||||||
|
},800);
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,294 @@
|
||||||
|
<template>
|
||||||
|
<div class="project-design-mgr">
|
||||||
|
<el-table border :data="dataList" style="width: 100%;margin-bottom: 60px;" v-loading="loading">
|
||||||
|
<el-table-column prop="nodeText" label="任务内容" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div :class="'node-text-' + scope.row.nodeLvl.length">{{ scope.row.nodeText }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="负责人" width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select v-if="scope.row.showOwner" v-model="scope.row.ownerName" filterable placeholder="请选择"
|
||||||
|
popper-class="sel-design-users">
|
||||||
|
<el-option v-for="(item,idx) in users"
|
||||||
|
:key="idx" :value="item.name">
|
||||||
|
<div class="user-item">
|
||||||
|
<span class="user-name">{{ item.name }}</span>
|
||||||
|
<span class="user-dept">{{ item.deptName }}</span>
|
||||||
|
</div>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="计划开始时间" width="135">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-date-picker v-model="scope.row.planStartDate" type="date" @change="doUpdateRow(scope.row)" placeholder="选择日期"></el-date-picker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="计划结束时间" width="135">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-date-picker v-model="scope.row.planEndDate" type="date" @change="doUpdateRow(scope.row)" placeholder="选择日期"></el-date-picker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="实际开始时间" width="135">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-date-picker v-model="scope.row.startDate" type="date" @change="doUpdateRow(scope.row)" placeholder="选择日期"></el-date-picker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="实际结束时间" width="135">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-date-picker v-model="scope.row.endDate" type="date" @change="doUpdateRow(scope.row)" placeholder="选择日期"></el-date-picker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="工期" width="80" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span :class="scope.row.duration<0?'sp-red':''"> {{ scope.row.duration }}</span>
|
||||||
|
<span v-if="scope.row.duration">天</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="剩余天数" width="80" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span :class="scope.row.remainingDays<0?'sp-red':''">{{ scope.row.remainingDays }}</span>
|
||||||
|
<span v-if="scope.row.remainingDays">天</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="状态" width="80" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span class="sp-orange" v-if="scope.row.status=='进行中'">进行中</span>
|
||||||
|
<span class="sp-green" v-if="scope.row.status=='完成'">完成</span>
|
||||||
|
<span class="sp-red" v-if="scope.row.status=='延迟'">延迟</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="本周工作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input type="textarea" :maxlength="500" :rows="2" placeholder="请输入内容" v-model="scope.row.work"> </el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="下周计划">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input type="textarea" :maxlength="500" :rows="2" placeholder="请输入内容" v-model="scope.row.nextWeekWork"> </el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="owner" label="存在问题">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input type="textarea" :maxlength="500" :rows="2" placeholder="请输入内容" v-model="scope.row.problem"> </el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="footer">
|
||||||
|
<el-button @click="doSave" type="primary">保存</el-button>
|
||||||
|
<el-button @click="doCancel">取消</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listByProject, updateList} from "@/api/project/projectDesign";
|
||||||
|
import {findDesignUsers} from "@/api/project/surProjectUserInfo";
|
||||||
|
export default {
|
||||||
|
name: 'RuoyiUiProjectDesignMgr',
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
project: null,
|
||||||
|
dataList: [],
|
||||||
|
loading:false,
|
||||||
|
users:[]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted() {
|
||||||
|
findDesignUsers().then(d=>{
|
||||||
|
this.users=(d.data||[]).map(it=>{
|
||||||
|
return {
|
||||||
|
name:`${it.nickName}-${it.phonenumber}`,
|
||||||
|
phone:it.phonenumber,
|
||||||
|
userName:it.userName,
|
||||||
|
deptName:it.remark,
|
||||||
|
showName:it.nickName+" - "+it.remark
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doSave(){
|
||||||
|
let postData= this.dataList.map(item=>{
|
||||||
|
let it=JSON.parse(JSON.stringify(item));
|
||||||
|
|
||||||
|
if(it.ownerName){
|
||||||
|
let tmps=it.ownerName.split("-").filter(d=>d);
|
||||||
|
it.ownerName=tmps.length>0?tmps[0]:"";
|
||||||
|
it.ownerPhone=tmps.length>1?tmps[1]:"";
|
||||||
|
}
|
||||||
|
let chg=[];
|
||||||
|
let old=it.old;
|
||||||
|
if(it.ownerName!=old.ownerName){
|
||||||
|
chg.push("负责人")
|
||||||
|
}
|
||||||
|
if(it.planStartDate!=old.planStartDate){
|
||||||
|
chg.push("计划开始日期")
|
||||||
|
}
|
||||||
|
if(it.planEndDate!=old.planEndDate){
|
||||||
|
chg.push("计划结束日期")
|
||||||
|
}
|
||||||
|
if(it.startDate!=old.startDate){
|
||||||
|
chg.push("实际开始日期");
|
||||||
|
}
|
||||||
|
if(it.endDate!=old.endDate){
|
||||||
|
chg.push("实际结束日期");
|
||||||
|
}
|
||||||
|
if(it.work!=old.work){
|
||||||
|
chg.push("本周工作");
|
||||||
|
}
|
||||||
|
if(it.nextWeekWork!=old.nextWeekWork){
|
||||||
|
chg.push("下周计划");
|
||||||
|
}
|
||||||
|
if(it.problem!=old.problem){
|
||||||
|
chg.push("存在问题");
|
||||||
|
}
|
||||||
|
if(chg.length>0){
|
||||||
|
let chgInfo=`${this.$store.state.user?.nickname} ${this.$dt(new Date()).format("YYYY-MM-DD HH:mm:ss")} 修改了[${chg.join(",")}]`
|
||||||
|
if(it.updateInfo){
|
||||||
|
it.updateInfo+="\n"+chgInfo;
|
||||||
|
}else{
|
||||||
|
it.updateInfo=chgInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete it.old
|
||||||
|
return it;
|
||||||
|
|
||||||
|
});
|
||||||
|
updateList(postData).then(d=>{
|
||||||
|
this.$modal.msgSuccess("保存成功");
|
||||||
|
this.$emit("success");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
timeSpan(dt1,dt2){
|
||||||
|
let t1=+this.$dt(dt1).$d;
|
||||||
|
let t2=+this.$dt(dt2).$d;
|
||||||
|
let ts=(t2-t1)/1000.0/3600.0/24.0;
|
||||||
|
let ts2=Math.floor(ts);
|
||||||
|
if(ts==ts2){
|
||||||
|
return ts;
|
||||||
|
}
|
||||||
|
return ts2+1;
|
||||||
|
},
|
||||||
|
doUpdateRow(row){debugger
|
||||||
|
if(row.planStartDate && row.planEndDate){
|
||||||
|
row.duration=this.timeSpan(row.planStartDate,row.planEndDate);
|
||||||
|
}else{
|
||||||
|
row.duration="";
|
||||||
|
}
|
||||||
|
if(row.startDate && !row.endDate && row.planEndDate){
|
||||||
|
let n=this.timeSpan(row.startDate,row.planEndDate);
|
||||||
|
row.remainingDays=n>0?n:0;
|
||||||
|
}else{
|
||||||
|
row.remainingDays="";
|
||||||
|
}
|
||||||
|
row.status="";
|
||||||
|
if(row.planStartDate && row.planEndDate){
|
||||||
|
if(row.startDate){
|
||||||
|
if(row.endDate){
|
||||||
|
row.status="完成";
|
||||||
|
}else{
|
||||||
|
let t1=+this.$dt(row.planEndDate).$d;
|
||||||
|
let t2=+this.$dt(new Date()).$d;
|
||||||
|
if(t1>t2){
|
||||||
|
row.status="进行中";
|
||||||
|
}else{
|
||||||
|
row.status="延迟";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
doCancel(){
|
||||||
|
this.$emit("cancel");
|
||||||
|
},
|
||||||
|
init(project) {
|
||||||
|
this.project = project;
|
||||||
|
this.loading=true;
|
||||||
|
listByProject({ projectId: this.project.id }).then(d => {
|
||||||
|
this.loading=false;
|
||||||
|
this.dataList = (d.data || []).map(it => {
|
||||||
|
it.nodeText = it.baseBuildNode?.nodeText || "";
|
||||||
|
it.nodeLvl = it.baseBuildNode?.nodeLvl || "";
|
||||||
|
it.showOwner = it.nodeLvl != '0301' && it.nodeLvl != '0302';
|
||||||
|
let oldData=JSON.parse(JSON.stringify(it));
|
||||||
|
it.old=oldData;
|
||||||
|
if(it.ownerName){
|
||||||
|
it.ownerName+=(it.ownerPhone?"-"+it.ownerPhone:"");
|
||||||
|
}else{
|
||||||
|
it.ownerName="";
|
||||||
|
}
|
||||||
|
return it;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.project-design-mgr {
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
.el-table__cell {
|
||||||
|
padding:2px;
|
||||||
|
.cell {
|
||||||
|
padding: 0px 2px;
|
||||||
|
font-size: 12px;
|
||||||
|
.el-input__inner{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.node-text-4 {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-text-6 {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-date-editor.el-input {
|
||||||
|
width: 100% !important;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sp-red{
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
.sp-green{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
.sp-orange{
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: 3px -2px 5px 5px rgba(0, 0, 0, 0.2);
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.sel-design-users{
|
||||||
|
width: 300px;
|
||||||
|
.user-item{
|
||||||
|
font-size:12px;
|
||||||
|
position: relative;
|
||||||
|
.user-name{
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.user-dept{
|
||||||
|
display:inline-block;
|
||||||
|
color: #aaa;
|
||||||
|
position: absolute;
|
||||||
|
right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -730,7 +730,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.approveStatus="1";
|
this.form.approveStatus="1";
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectMeasure(this.form).then((response) => {
|
updateProjectMeasure(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -613,7 +613,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.approveStatus="1";
|
this.form.approveStatus="1";
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectMeasure(this.form).then((response) => {
|
updateProjectMeasure(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -323,7 +323,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectPlan(this.form).then(response => {
|
updateProjectPlan(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -277,7 +277,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateProjectStandard(this.form).then(response => {
|
updateProjectStandard(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -293,7 +293,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updatesurProjectInvest(this.form).then(response => {
|
updatesurProjectInvest(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -399,6 +399,12 @@
|
||||||
v-hasPermi="['project:build_node_data:list']"
|
v-hasPermi="['project:build_node_data:list']"
|
||||||
>计划节点管理</el-dropdown-item
|
>计划节点管理</el-dropdown-item
|
||||||
>
|
>
|
||||||
|
<el-dropdown-item v-if="1==2"
|
||||||
|
command="handleDesign"
|
||||||
|
icon="el-icon-orange"
|
||||||
|
v-hasPermi="['project:projectDesign:list']"
|
||||||
|
>设计管理</el-dropdown-item
|
||||||
|
>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
command="handleProjectChecking"
|
command="handleProjectChecking"
|
||||||
icon="el-icon-s-help"
|
icon="el-icon-s-help"
|
||||||
|
|
@ -779,6 +785,7 @@
|
||||||
<attendanceDataDrawer ref="attendanceData"></attendanceDataDrawer>
|
<attendanceDataDrawer ref="attendanceData"></attendanceDataDrawer>
|
||||||
<aiBoxVideoConfigDrawer ref="aiBoxVideoConfigDrawer"></aiBoxVideoConfigDrawer>
|
<aiBoxVideoConfigDrawer ref="aiBoxVideoConfigDrawer"></aiBoxVideoConfigDrawer>
|
||||||
<prjPhotographyDrawer ref="prjPhotographyDrawer"></prjPhotographyDrawer>
|
<prjPhotographyDrawer ref="prjPhotographyDrawer"></prjPhotographyDrawer>
|
||||||
|
<projectDesignDrawer ref="designDrawer"></projectDesignDrawer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -813,6 +820,7 @@ import standardDrawer from '@/views/project/projectStandard/projectStandardDrawe
|
||||||
import attendanceDataDrawer from '@/views/project/attendance/attendanceDrawer.vue';
|
import attendanceDataDrawer from '@/views/project/attendance/attendanceDrawer.vue';
|
||||||
import aiBoxVideoConfigDrawer from '@/views/video/aiBoxProjectConfig/aiBoxVideoConfigDrawer';
|
import aiBoxVideoConfigDrawer from '@/views/video/aiBoxProjectConfig/aiBoxVideoConfigDrawer';
|
||||||
import prjPhotographyDrawer from '@/views/video/prjphotography/prjPhotographyDrawer.vue'
|
import prjPhotographyDrawer from '@/views/video/prjphotography/prjPhotographyDrawer.vue'
|
||||||
|
import projectDesignDrawer from '@/views/project/projectDesign/projectDesignDrawer.vue';
|
||||||
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
|
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -838,7 +846,8 @@ export default {
|
||||||
standardDrawer,
|
standardDrawer,
|
||||||
attendanceDataDrawer,
|
attendanceDataDrawer,
|
||||||
aiBoxVideoConfigDrawer,
|
aiBoxVideoConfigDrawer,
|
||||||
prjPhotographyDrawer
|
prjPhotographyDrawer,
|
||||||
|
projectDesignDrawer
|
||||||
},
|
},
|
||||||
dicts: [
|
dicts: [
|
||||||
"sur_project_xmjd",
|
"sur_project_xmjd",
|
||||||
|
|
@ -1049,6 +1058,9 @@ export default {
|
||||||
case "handleDelete":
|
case "handleDelete":
|
||||||
this.handleDelete(row);
|
this.handleDelete(row);
|
||||||
break;
|
break;
|
||||||
|
case "handleDesign":
|
||||||
|
this.$refs.designDrawer.show(row);
|
||||||
|
break;
|
||||||
case "handleAssess":
|
case "handleAssess":
|
||||||
this.$refs.assessDrawer.show(row);
|
this.$refs.assessDrawer.show(row);
|
||||||
break;
|
break;
|
||||||
|
|
@ -1124,7 +1136,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProject(this.form).then((response) => {
|
updateSurProject(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectAttendance(this.form).then((response) => {
|
updateSurProjectAttendance(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -448,7 +448,7 @@ export default {
|
||||||
this.$modal.msgWarning("请上传保险合同");
|
this.$modal.msgWarning("请上传保险合同");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectInsurance(this.form).then((response) => {
|
updateSurProjectInsurance(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -363,7 +363,7 @@ export default {
|
||||||
this.$modal.msgWarning("请上传保险合同");
|
this.$modal.msgWarning("请上传保险合同");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectInsurance(this.form).then((response) => {
|
updateSurProjectInsurance(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -355,7 +355,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateAssess(this.form).then(response => {
|
updateAssess(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -502,7 +502,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectSchedule(this.form).then((response) => {
|
updateSurProjectSchedule(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -588,7 +588,7 @@ export default {
|
||||||
this.$modal.msgWarning("请上传证书附件");
|
this.$modal.msgWarning("请上传证书附件");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectSpecial(this.form).then((response) => {
|
updateSurProjectSpecial(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -551,7 +551,7 @@ export default {
|
||||||
this.$modal.msgWarning("请上传证书附件");
|
this.$modal.msgWarning("请上传证书附件");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectSpecial(this.form).then((response) => {
|
updateSurProjectSpecial(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -409,7 +409,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectUserInfo(this.form).then(response => {
|
updateSurProjectUserInfo(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -332,7 +332,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSurProjectUserInfo(this.form).then((response) => {
|
updateSurProjectUserInfo(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -417,7 +417,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateApplyConfig(this.form).then(response => {
|
updateApplyConfig(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.configId != undefined) {
|
if (this.form.configId) {
|
||||||
updateConfig(this.form).then(response => {
|
updateConfig(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -310,7 +310,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.deptId != undefined) {
|
if (this.form.deptId) {
|
||||||
updateDept(this.form).then(response => {
|
updateDept(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -362,7 +362,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.dictCode != undefined) {
|
if (this.form.dictCode) {
|
||||||
updateData(this.form).then(response => {
|
updateData(this.form).then(response => {
|
||||||
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
|
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
|
|
||||||
|
|
@ -303,7 +303,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.dictId != undefined) {
|
if (this.form.dictId) {
|
||||||
updateType(this.form).then(response => {
|
updateType(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateExpression(this.form).then(response => {
|
updateExpression(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -298,7 +298,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateListener(this.form).then(response => {
|
updateListener(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -422,7 +422,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.menuId != undefined) {
|
if (this.form.menuId) {
|
||||||
updateMenu(this.form).then(response => {
|
updateMenu(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -281,7 +281,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.noticeId != undefined) {
|
if (this.form.noticeId) {
|
||||||
updateNotice(this.form).then(response => {
|
updateNotice(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -272,7 +272,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.postId != undefined) {
|
if (this.form.postId) {
|
||||||
updatePost(this.form).then(response => {
|
updatePost(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -555,7 +555,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.roleId != undefined) {
|
if (this.form.roleId) {
|
||||||
this.form.menuIds = this.getMenuAllCheckedKeys();
|
this.form.menuIds = this.getMenuAllCheckedKeys();
|
||||||
updateRole(this.form).then(response => {
|
updateRole(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
|
|
||||||
|
|
@ -623,7 +623,7 @@ export default {
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.userId != undefined) {
|
if (this.form.userId) {
|
||||||
updateUser(this.form).then(response => {
|
updateUser(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -531,7 +531,7 @@ export default {
|
||||||
submitForm(){
|
submitForm(){
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.formId != null) {
|
if (this.form.formId) {
|
||||||
updateForm(this.form).then(response => {
|
updateForm(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -459,7 +459,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSspMarks(this.form).then(response => {
|
updateSspMarks(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -645,7 +645,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSspProblemmodify(this.form).then((response) => {
|
updateSspProblemmodify(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -459,7 +459,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSspMarks(this.form).then(response => {
|
updateSspMarks(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -638,7 +638,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateSspProblemmodify(this.form).then((response) => {
|
updateSspProblemmodify(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -384,7 +384,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.devAiProjectConfigPassageList = this.devAiProjectConfigPassageList;
|
this.form.devAiProjectConfigPassageList = this.devAiProjectConfigPassageList;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateAiBoxProjectConfig(this.form).then((response) => {
|
updateAiBoxProjectConfig(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -441,7 +441,7 @@ export default {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.devAiProjectConfigPassageList = this.devAiProjectConfigPassageList;
|
this.form.devAiProjectConfigPassageList = this.devAiProjectConfigPassageList;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateAiBoxProjectConfig(this.form).then(response => {
|
updateAiBoxProjectConfig(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,7 @@ export default {
|
||||||
videoDate:this.form.videoDate,
|
videoDate:this.form.videoDate,
|
||||||
videoUrl:this.form.videoUrl[0].url
|
videoUrl:this.form.videoUrl[0].url
|
||||||
}
|
}
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updatePrjphotography(postData).then(response => {
|
updatePrjphotography(postData).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -547,7 +547,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.surProjectVideoPassageList = this.surProjectVideoPassageList;
|
this.form.surProjectVideoPassageList = this.surProjectVideoPassageList;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateVideoConfig(this.form).then((response) => {
|
updateVideoConfig(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -439,7 +439,7 @@ export default {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.surProjectVideoPassageList = this.surProjectVideoPassageList;
|
this.form.surProjectVideoPassageList = this.surProjectVideoPassageList;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateVideoConfig(this.form).then((response) => {
|
updateVideoConfig(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -449,7 +449,7 @@ export default {
|
||||||
depts.push({ deptId: item });
|
depts.push({ deptId: item });
|
||||||
});
|
});
|
||||||
this.form.workTrainDeptList = depts;
|
this.form.workTrainDeptList = depts;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWorkTrain(this.form).then((response) => {
|
updateWorkTrain(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -544,7 +544,7 @@ export default {
|
||||||
depts.push({ deptId: item });
|
depts.push({ deptId: item });
|
||||||
});
|
});
|
||||||
this.form.workTrainDeptList = depts;
|
this.form.workTrainDeptList = depts;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWorkTrain(this.form).then((response) => {
|
updateWorkTrain(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -356,7 +356,7 @@ export default {
|
||||||
}else{
|
}else{
|
||||||
this.form.fileList = this.fileList;
|
this.form.fileList = this.fileList;
|
||||||
}
|
}
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWorkFile(this.form).then(response => {
|
updateWorkFile(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -490,7 +490,7 @@ export default {
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWorkJournalism(this.form).then((response) => {
|
updateWorkJournalism(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -537,7 +537,7 @@ export default {
|
||||||
depts.push({ deptId: item });
|
depts.push({ deptId: item });
|
||||||
});
|
});
|
||||||
this.form.workTrainDeptList = depts;
|
this.form.workTrainDeptList = depts;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWorkTrain(this.form).then((response) => {
|
updateWorkTrain(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -449,7 +449,7 @@ export default {
|
||||||
depts.push({ deptId: item });
|
depts.push({ deptId: item });
|
||||||
});
|
});
|
||||||
this.form.workTrainDeptList = depts;
|
this.form.workTrainDeptList = depts;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWorkTrain(this.form).then((response) => {
|
updateWorkTrain(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -319,7 +319,7 @@ export default {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.form.surMenuConfigRoleList = this.surMenuConfigRoleList;
|
this.form.surMenuConfigRoleList = this.surMenuConfigRoleList;
|
||||||
if (this.form.id != null) {
|
if (this.form.id) {
|
||||||
updateWxMenConfig(this.form).then(response => {
|
updateWxMenConfig(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,127 @@
|
||||||
|
update base_build_node set node_text='资局(开发建设部)部务会',node_lvl='030102' where node_text='方案评审(集团会议)' and node_lvl='030102';
|
||||||
|
UPDATE base_build_node SET node_text='管委会副主任专题会',node_lvl='030103' WHERE node_text='三方比选(资规局)' AND node_lvl='030103';
|
||||||
|
UPDATE base_build_node SET node_text='管委会建规委会',node_lvl='030104' WHERE node_text='副主任专题会' AND node_lvl='030104';
|
||||||
|
UPDATE base_build_node SET node_text='集团总办会',node_lvl='030102' WHERE node_text='主任办公会' AND node_lvl='030105';
|
||||||
|
UPDATE base_build_node SET node_text='初设确定',node_lvl='0302' WHERE node_text='方案深化设计' AND node_lvl='030106';
|
||||||
|
UPDATE base_build_node SET node_text='初步设计',node_lvl='030201' WHERE node_text='方案确定(集团会议)' AND node_lvl='030107';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LOCK TABLES `base_build_node` WRITE;
|
||||||
|
|
||||||
|
insert into `base_build_node`(`id`,`build_type`,`node_text`,`node_lvl`,`node_type`,`remark`,`is_del`,`create_by`,`create_time`,`update_by`,`update_time`) values
|
||||||
|
(492,1,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(493,1,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(494,1,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(495,1,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(496,1,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(497,1,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(498,1,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(499,1,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(500,1,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(501,1,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(502,1,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
(503,2,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(504,2,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(505,2,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(506,2,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(507,2,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(508,2,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(509,2,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(510,2,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(511,2,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(512,2,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(513,2,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
|
||||||
|
(514,3,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(515,3,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(516,3,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(517,3,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(518,3,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(519,3,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(520,3,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(521,3,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(522,3,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(523,3,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(524,3,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
(525,4,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(526,4,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(527,4,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(528,4,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(529,4,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(530,4,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(531,4,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(532,4,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(533,4,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(534,4,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(535,4,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
(536,5,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(537,5,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(538,5,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(539,5,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(540,5,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(541,5,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(542,5,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(543,5,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(544,5,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(545,5,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(546,5,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
(547,6,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(548,6,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(549,6,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(550,6,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(551,6,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(552,6,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(553,6,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(554,6,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(555,6,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(556,6,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(557,6,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
(558,7,'初步设计评审','030202',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(559,7,'施工图确定','0304',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(560,7,'施工图设计','030401',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(561,7,'精装修方案','030402',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(562,7,'景观方案','030403',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(563,7,'精装修施工图设计','030404',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(564,7,'景观施工图设计','030405',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(565,7,'精装修施工图设计','030406',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(566,7,'二次深化设计(外立面、幕墙门窗、泛光照明)','0305',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(567,7,'二次深化设计(车库划线、标识标牌)','0306',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
(568,7,'图纸会审、设计交底、图纸答疑等','0307',0,'',0,'admin','2024-03-16 21:27:31',NULL,NULL),
|
||||||
|
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- 菜单 SQL
|
||||||
|
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values('设计管理', '2061', '1', 'projectDesign', 'project/projectDesign/index', 1, 0, 'C', '0', '0', 'project:projectDesign:list', '#', 'admin', sysdate(), '', null, '设计管理菜单');
|
||||||
|
|
||||||
|
-- 按钮父菜单ID
|
||||||
|
SELECT @parentId := LAST_INSERT_ID();
|
||||||
|
|
||||||
|
-- 按钮 SQL
|
||||||
|
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values('设计管理查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'project:projectDesign:query', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values('设计管理新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'project:projectDesign:add', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values('设计管理修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'project:projectDesign:edit', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values('设计管理删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'project:projectDesign:remove', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values('设计管理导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'project:projectDesign:export', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,137 @@
|
||||||
|
package com.yanzhu.jh.project.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectBuildDesignData;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectBuildDesignDataService;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理Controller
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-03-16
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/project/projectDesign")
|
||||||
|
public class SurProjectBuildDesignDataController extends BaseController
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private ISurProjectBuildDesignDataService surProjectBuildDesignDataService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设计管理列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:list')")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
startPage();
|
||||||
|
List<SurProjectBuildDesignData> list = surProjectBuildDesignDataService.selectSurProjectBuildDesignDataList(surProjectBuildDesignData);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出设计管理列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:export')")
|
||||||
|
@Log(title = "设计管理", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(HttpServletResponse response, SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
List<SurProjectBuildDesignData> list = surProjectBuildDesignDataService.selectSurProjectBuildDesignDataList(surProjectBuildDesignData);
|
||||||
|
ExcelUtil<SurProjectBuildDesignData> util = new ExcelUtil<SurProjectBuildDesignData>(SurProjectBuildDesignData.class);
|
||||||
|
util.exportExcel(response, list, "设计管理数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取设计管理详细信息
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:query')")
|
||||||
|
@GetMapping(value = "/{id}")
|
||||||
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||||
|
{
|
||||||
|
return success(surProjectBuildDesignDataService.selectSurProjectBuildDesignDataById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增设计管理
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:add')")
|
||||||
|
@Log(title = "设计管理", businessType = BusinessType.INSERT)
|
||||||
|
@PostMapping
|
||||||
|
public AjaxResult add(@RequestBody SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
return toAjax(surProjectBuildDesignDataService.insertSurProjectBuildDesignData(surProjectBuildDesignData));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改设计管理
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:edit')")
|
||||||
|
@Log(title = "设计管理", businessType = BusinessType.UPDATE)
|
||||||
|
@PutMapping
|
||||||
|
public AjaxResult edit(@RequestBody SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
return toAjax(surProjectBuildDesignDataService.updateSurProjectBuildDesignData(surProjectBuildDesignData));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改设计管理
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:edit')")
|
||||||
|
@Log(title = "设计管理", businessType = BusinessType.UPDATE)
|
||||||
|
@PostMapping("updateList")
|
||||||
|
public AjaxResult updateList(@RequestBody List<SurProjectBuildDesignData> list)
|
||||||
|
{
|
||||||
|
return AjaxResult.success (surProjectBuildDesignDataService.updateList(list));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除设计管理
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:remove')")
|
||||||
|
@Log(title = "设计管理", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public AjaxResult remove(@PathVariable Long[] ids)
|
||||||
|
{
|
||||||
|
return toAjax(surProjectBuildDesignDataService.deleteSurProjectBuildDesignDataByIds(ids));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设计管理列表 按项目查询
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDesign:list')")
|
||||||
|
@GetMapping("/listByProject")
|
||||||
|
public AjaxResult listByProject(SurProjectBuildDesignData where)
|
||||||
|
{
|
||||||
|
//按项目ID查找设计管理数据,日期为当前周内,如果没有就增加一组数据,增加的数据先找后一条数据进行克隆,如果没有就增加空白数据
|
||||||
|
where.setStartDate(DateUtil.beginOfWeek(DateTime.now()));
|
||||||
|
where.setEndDate(DateUtil.endOfWeek(DateTime.now()));
|
||||||
|
List<SurProjectBuildDesignData> list=surProjectBuildDesignDataService.selectWeekData(where);
|
||||||
|
if(list.size()==0){
|
||||||
|
surProjectBuildDesignDataService.addWeekData(where);
|
||||||
|
list=surProjectBuildDesignDataService.selectWeekData(where);
|
||||||
|
}
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -131,12 +131,8 @@ public class SurProjectBuildNodeDataController extends BaseController
|
||||||
public AjaxResult getListByProject(long projectId){
|
public AjaxResult getListByProject(long projectId){
|
||||||
SurProjectBuildNodeData surProjectBuildNodeData=new SurProjectBuildNodeData();
|
SurProjectBuildNodeData surProjectBuildNodeData=new SurProjectBuildNodeData();
|
||||||
surProjectBuildNodeData.setProjectId(projectId);
|
surProjectBuildNodeData.setProjectId(projectId);
|
||||||
List list=surProjectBuildNodeDataService.selectSurProjectBuildNodeDataList(surProjectBuildNodeData);
|
|
||||||
if(list.size()>0){
|
List<SurProjectBuildNodeData> list=surProjectBuildNodeDataService.selectSurProjectBuildNodeDataListAndAdd(surProjectBuildNodeData);
|
||||||
return AjaxResult.success(list);
|
|
||||||
}
|
|
||||||
surProjectBuildNodeDataService.addProjectNodes(projectId);
|
|
||||||
list=surProjectBuildNodeDataService.selectSurProjectBuildNodeDataList(surProjectBuildNodeData);
|
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -136,4 +136,10 @@ public class SurProjectUserinfoController extends BaseController
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:surProjectUserInfo:list')")
|
||||||
|
@GetMapping("/findDesignUsers")
|
||||||
|
public AjaxResult findDesignUsers(){
|
||||||
|
return AjaxResult.success(surProjectUserinfoService.selectDesignUsers());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.yanzhu.jh.project.domain;
|
package com.yanzhu.jh.project.domain;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
@ -62,7 +63,7 @@ public class SurProjectAttendanceData extends BaseEntity
|
||||||
|
|
||||||
/** 分包商id */
|
/** 分包商id */
|
||||||
@Excel(name = "分包商id")
|
@Excel(name = "分包商id")
|
||||||
private Long companyId;
|
private String companyId;
|
||||||
|
|
||||||
/** 平台对应分包商ID */
|
/** 平台对应分包商ID */
|
||||||
@Excel(name = "平台对应分包商ID")
|
@Excel(name = "平台对应分包商ID")
|
||||||
|
|
@ -112,11 +113,27 @@ public class SurProjectAttendanceData extends BaseEntity
|
||||||
d.identification=j.getString("idCardNo");
|
d.identification=j.getString("idCardNo");
|
||||||
d.teamId=j.getLongValue("teamId",0);
|
d.teamId=j.getLongValue("teamId",0);
|
||||||
d.workTypeCode=j.getString("workerTypeId");
|
d.workTypeCode=j.getString("workerTypeId");
|
||||||
d.companyId=j.getLongValue("unitId",1);
|
d.companyId=j.getString("unitId");
|
||||||
d.deviceCode=j.getString("deviceNo");
|
d.deviceCode=j.getString("deviceNo");
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static SurProjectAttendanceData createFromJgw(JSONObject j) {
|
||||||
|
SurProjectAttendanceData d=new SurProjectAttendanceData();
|
||||||
|
d.vendorsCode="jgw";
|
||||||
|
d.serverid=j.getString("id");
|
||||||
|
d.workerId=j.getString("workerId");
|
||||||
|
d.attendanceType = j.getLongValue("signType", 1l) == 2l ? "E" : "L";
|
||||||
|
d.attendanceTime = j.getString("checkinTime");
|
||||||
|
d.identification="";
|
||||||
|
d.teamId=0l;
|
||||||
|
d.workTypeCode="";
|
||||||
|
d.companyId=j.getString("subcontractorId");
|
||||||
|
d.deviceCode=j.getString("deviceSerialNo");
|
||||||
|
d.isDel=0l;
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
||||||
public Long getDeptId() {
|
public Long getDeptId() {
|
||||||
return deptId;
|
return deptId;
|
||||||
}
|
}
|
||||||
|
|
@ -161,7 +178,7 @@ public class SurProjectAttendanceData extends BaseEntity
|
||||||
d.identification=json.getString("identification");
|
d.identification=json.getString("identification");
|
||||||
d.teamId=json.getLong("teamId");
|
d.teamId=json.getLong("teamId");
|
||||||
d.workTypeCode=json.getString("workerTypeId");
|
d.workTypeCode=json.getString("workerTypeId");
|
||||||
d.companyId=json.getLong("companyId");
|
d.companyId=json.getString("companyId");
|
||||||
d.vendorId=json.getLong("vendorId");
|
d.vendorId=json.getLong("vendorId");
|
||||||
d.projectType=json.getLong("projectType");
|
d.projectType=json.getLong("projectType");
|
||||||
d.deviceCode=json.getString("deviceCode");
|
d.deviceCode=json.getString("deviceCode");
|
||||||
|
|
@ -263,12 +280,12 @@ public class SurProjectAttendanceData extends BaseEntity
|
||||||
{
|
{
|
||||||
return workTypeCode;
|
return workTypeCode;
|
||||||
}
|
}
|
||||||
public void setCompanyId(Long companyId)
|
public void setCompanyId(String companyId)
|
||||||
{
|
{
|
||||||
this.companyId = companyId;
|
this.companyId = companyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getCompanyId()
|
public String getCompanyId()
|
||||||
{
|
{
|
||||||
return companyId;
|
return companyId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class SurProjectAttendanceGroup extends BaseEntity
|
||||||
|
|
||||||
/** 分包商ID */
|
/** 分包商ID */
|
||||||
@Excel(name = "分包商ID")
|
@Excel(name = "分包商ID")
|
||||||
private Long companyId;
|
private String companyId;
|
||||||
|
|
||||||
/** 分包商名称 */
|
/** 分包商名称 */
|
||||||
@Excel(name = "分包商名称")
|
@Excel(name = "分包商名称")
|
||||||
|
|
@ -113,12 +113,27 @@ public class SurProjectAttendanceGroup extends BaseEntity
|
||||||
|
|
||||||
public static SurProjectAttendanceGroup createHuazhu(JSONObject j) {
|
public static SurProjectAttendanceGroup createHuazhu(JSONObject j) {
|
||||||
SurProjectAttendanceGroup g=new SurProjectAttendanceGroup();
|
SurProjectAttendanceGroup g=new SurProjectAttendanceGroup();
|
||||||
g.companyId=j.getLongValue("unitId",0);
|
g.companyId=""+j.getLongValue("unitId",0);
|
||||||
g.companyName=j.getString("unitName");
|
g.companyName=j.getString("unitName");
|
||||||
g.companyTypeId=j.getString("unitType");
|
g.companyTypeId=j.getString("unitType");
|
||||||
g.serverid=j.getString("id");
|
g.serverid=j.getString("id");
|
||||||
g.enterDate=j.getLong("enterTime");
|
g.enterDate=j.getLong("enterTime");
|
||||||
g.exitDate=j.getLong("leaveTime");
|
g.exitDate=j.getLong("leaveTime");
|
||||||
|
g.isDel=0l;
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SurProjectAttendanceGroup createJgw(JSONObject j) {
|
||||||
|
SurProjectAttendanceGroup g=new SurProjectAttendanceGroup();
|
||||||
|
g.serverid=j.getString("id");
|
||||||
|
g.companyId=j.getString("subcontractorId");
|
||||||
|
g.companyName=j.getString("corpName");
|
||||||
|
g.teamName=j.getString("teamName");
|
||||||
|
g.bizLicense=j.getString("corpCode");
|
||||||
|
g.companyTypeId="";
|
||||||
|
g.enterDate=0l;
|
||||||
|
g.exitDate=0l;
|
||||||
|
g.isDel=0l;
|
||||||
return g;
|
return g;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -135,7 +150,7 @@ public class SurProjectAttendanceGroup extends BaseEntity
|
||||||
g.serverid=json.getString("id");
|
g.serverid=json.getString("id");
|
||||||
g.bizLicense=json.getString("bizLicense");
|
g.bizLicense=json.getString("bizLicense");
|
||||||
g.companyCode=json.getString("companyCode");
|
g.companyCode=json.getString("companyCode");
|
||||||
g.companyId=json.getLongValue("companyId",0);
|
g.companyId=""+json.getLongValue("companyId",0);
|
||||||
g.companyName=json.getString("companyName");
|
g.companyName=json.getString("companyName");
|
||||||
g.companyTypeId=json.getString("companyTypeId");
|
g.companyTypeId=json.getString("companyTypeId");
|
||||||
g.vendorId=json.getLongValue("vendorId",0);
|
g.vendorId=json.getLongValue("vendorId",0);
|
||||||
|
|
@ -201,12 +216,12 @@ public class SurProjectAttendanceGroup extends BaseEntity
|
||||||
{
|
{
|
||||||
return companyCode;
|
return companyCode;
|
||||||
}
|
}
|
||||||
public void setCompanyId(Long companyId)
|
public void setCompanyId(String companyId)
|
||||||
{
|
{
|
||||||
this.companyId = companyId;
|
this.companyId = companyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getCompanyId()
|
public String getCompanyId()
|
||||||
{
|
{
|
||||||
return companyId;
|
return companyId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.yanzhu.jh.project.domain;
|
package com.yanzhu.jh.project.domain;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
@ -129,7 +130,7 @@ public class SurProjectAttendanceUser extends BaseEntity
|
||||||
|
|
||||||
/** 分包商id */
|
/** 分包商id */
|
||||||
@Excel(name = "分包商id")
|
@Excel(name = "分包商id")
|
||||||
private Long companyId;
|
private String companyId;
|
||||||
|
|
||||||
/** 分包商名称 */
|
/** 分包商名称 */
|
||||||
@Excel(name = "分包商名称")
|
@Excel(name = "分包商名称")
|
||||||
|
|
@ -187,13 +188,43 @@ public class SurProjectAttendanceUser extends BaseEntity
|
||||||
u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "yyyy-MM-dd HH:mm:ss");
|
u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "yyyy-MM-dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
u.vendorId=j.getLongValue("unitProjectId",0);
|
u.vendorId=j.getLongValue("unitProjectId",0);
|
||||||
u.companyId=j.getLongValue("unitId",0);
|
u.companyId=""+j.getLongValue("unitId",0);
|
||||||
u.companyName=j.getString("unitName");
|
u.companyName=j.getString("unitName");
|
||||||
u.teamName=j.getString("teamName");
|
u.teamName=j.getString("teamName");
|
||||||
u.other=j.toJSONString();
|
u.other=j.toJSONString();
|
||||||
return u;
|
return u;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static SurProjectAttendanceUser createFromJgw(JSONObject j) {
|
||||||
|
SurProjectAttendanceUser u=new SurProjectAttendanceUser();
|
||||||
|
u.workerId=j.getString("workerId");
|
||||||
|
u.name=j.getString("name");
|
||||||
|
u.ethnic=j.getString("minor");
|
||||||
|
u.nativePlace=j.getString("address");
|
||||||
|
u.gender=j.getLong("sex")==0l?1l:0l;
|
||||||
|
u.birthDate= DateUtil.parse(j.getString("birthday")).getTime();
|
||||||
|
u.phone=j.getString("headImage");
|
||||||
|
u.degreeName=j.getString("education");
|
||||||
|
u.recentPhoto=j.getString("vaildPhoto");
|
||||||
|
u.groupId="";
|
||||||
|
u.groupName="";
|
||||||
|
u.workTypeCode="";
|
||||||
|
u.workTypeName="";
|
||||||
|
u.state="01".equals( j.getString("workerStatus"))?0l:1l;
|
||||||
|
String workDate=j.getString("workDate");
|
||||||
|
if(!StrUtil.isEmpty(workDate)){
|
||||||
|
u.enterDate=workDate;
|
||||||
|
}
|
||||||
|
u.vendorId=0l;
|
||||||
|
u.companyId=j.getString("subcontractorId");
|
||||||
|
u.companyName="";
|
||||||
|
u.teamName="";
|
||||||
|
u.other=j.toJSONString();
|
||||||
|
u.isDel=0l;
|
||||||
|
u.leader=j.getInteger("isAdmin")==1?1:0;
|
||||||
|
return u;
|
||||||
|
}
|
||||||
|
|
||||||
public Date getInTime() {
|
public Date getInTime() {
|
||||||
return inTime;
|
return inTime;
|
||||||
}
|
}
|
||||||
|
|
@ -290,7 +321,7 @@ public class SurProjectAttendanceUser extends BaseEntity
|
||||||
u.state=json.getLongValue("state",0);
|
u.state=json.getLongValue("state",0);
|
||||||
u.enterDate=json.getString("enterDate");
|
u.enterDate=json.getString("enterDate");
|
||||||
u.exitDate=json.getString("exitDate");
|
u.exitDate=json.getString("exitDate");
|
||||||
u.companyId=json.getLongValue("companyId",0);
|
u.companyId=""+json.getLongValue("companyId",0);
|
||||||
u.companyName=json.getString("companyName");
|
u.companyName=json.getString("companyName");
|
||||||
u.vendorId=json.getLongValue("vendorId",0);
|
u.vendorId=json.getLongValue("vendorId",0);
|
||||||
u.teamId=json.getInteger("teamId");
|
u.teamId=json.getInteger("teamId");
|
||||||
|
|
@ -534,12 +565,12 @@ public class SurProjectAttendanceUser extends BaseEntity
|
||||||
{
|
{
|
||||||
return exitDate;
|
return exitDate;
|
||||||
}
|
}
|
||||||
public void setCompanyId(Long companyId)
|
public void setCompanyId(String companyId)
|
||||||
{
|
{
|
||||||
this.companyId = companyId;
|
this.companyId = companyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getCompanyId()
|
public String getCompanyId()
|
||||||
{
|
{
|
||||||
return companyId;
|
return companyId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,322 @@
|
||||||
|
package com.yanzhu.jh.project.domain;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理对象 sur_project_build_design_data
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-03-16
|
||||||
|
*/
|
||||||
|
public class SurProjectBuildDesignData extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** $column.columnComment */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 节点编号 */
|
||||||
|
@Excel(name = "节点编号")
|
||||||
|
private Long nodeId;
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@Excel(name = "项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 责任人 */
|
||||||
|
@Excel(name = "责任人")
|
||||||
|
private String ownerName;
|
||||||
|
|
||||||
|
/** 责任人电话 */
|
||||||
|
@Excel(name = "责任人电话")
|
||||||
|
private String ownerPhone;
|
||||||
|
|
||||||
|
/** 数据日期,同一周一套数据 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "数据日期,同一周一套数据", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date dataDate;
|
||||||
|
|
||||||
|
/** 开始日期 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date startDate;
|
||||||
|
|
||||||
|
/** 计划开始日期 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date planStartDate;
|
||||||
|
|
||||||
|
/** 结束日期 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date endDate;
|
||||||
|
|
||||||
|
/** 计划结束日期 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date planEndDate;
|
||||||
|
|
||||||
|
/** 工期 */
|
||||||
|
@Excel(name = "工期")
|
||||||
|
private Long duration;
|
||||||
|
|
||||||
|
/** 剩余天数 */
|
||||||
|
@Excel(name = "剩余天数")
|
||||||
|
private Long remainingDays;
|
||||||
|
|
||||||
|
/** a.进行中 当前时间小于计划结束日期 */
|
||||||
|
@Excel(name = "a.进行中 当前时间小于计划结束日期")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/** 文件 */
|
||||||
|
@Excel(name = "文件")
|
||||||
|
private String files;
|
||||||
|
|
||||||
|
/** 本周完成工作 */
|
||||||
|
@Excel(name = "本周完成工作")
|
||||||
|
private String work;
|
||||||
|
|
||||||
|
/** 下周计划 */
|
||||||
|
@Excel(name = "下周计划")
|
||||||
|
private String nextWeekWork;
|
||||||
|
|
||||||
|
/** 存在问题 */
|
||||||
|
@Excel(name = "存在问题")
|
||||||
|
private String problem;
|
||||||
|
|
||||||
|
/** 删除状态 */
|
||||||
|
@Excel(name = "删除状态")
|
||||||
|
private Long isDel;
|
||||||
|
|
||||||
|
/** 修改记录 */
|
||||||
|
@Excel(name = "修改记录")
|
||||||
|
private String updateInfo;
|
||||||
|
|
||||||
|
private BaseBuildNode baseBuildNode;
|
||||||
|
|
||||||
|
public BaseBuildNode getBaseBuildNode() {
|
||||||
|
return baseBuildNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBaseBuildNode(BaseBuildNode baseBuildNode) {
|
||||||
|
this.baseBuildNode = baseBuildNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SurProject getProject() {
|
||||||
|
return project;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProject(SurProject project) {
|
||||||
|
this.project = project;
|
||||||
|
}
|
||||||
|
|
||||||
|
private SurProject project;
|
||||||
|
|
||||||
|
|
||||||
|
public void setId(Long id)
|
||||||
|
{
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId()
|
||||||
|
{
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
public void setNodeId(Long nodeId)
|
||||||
|
{
|
||||||
|
this.nodeId = nodeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getNodeId()
|
||||||
|
{
|
||||||
|
return nodeId;
|
||||||
|
}
|
||||||
|
public void setProjectId(Long projectId)
|
||||||
|
{
|
||||||
|
this.projectId = projectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getProjectId()
|
||||||
|
{
|
||||||
|
return projectId;
|
||||||
|
}
|
||||||
|
public void setOwnerName(String ownerName)
|
||||||
|
{
|
||||||
|
this.ownerName = ownerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOwnerName()
|
||||||
|
{
|
||||||
|
return ownerName;
|
||||||
|
}
|
||||||
|
public void setOwnerPhone(String ownerPhone)
|
||||||
|
{
|
||||||
|
this.ownerPhone = ownerPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOwnerPhone()
|
||||||
|
{
|
||||||
|
return ownerPhone;
|
||||||
|
}
|
||||||
|
public void setDataDate(Date dataDate)
|
||||||
|
{
|
||||||
|
this.dataDate = dataDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDataDate()
|
||||||
|
{
|
||||||
|
return dataDate;
|
||||||
|
}
|
||||||
|
public void setStartDate(Date startDate)
|
||||||
|
{
|
||||||
|
this.startDate = startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getStartDate()
|
||||||
|
{
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
public void setPlanStartDate(Date planStartDate)
|
||||||
|
{
|
||||||
|
this.planStartDate = planStartDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getPlanStartDate()
|
||||||
|
{
|
||||||
|
return planStartDate;
|
||||||
|
}
|
||||||
|
public void setEndDate(Date endDate)
|
||||||
|
{
|
||||||
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndDate()
|
||||||
|
{
|
||||||
|
return endDate;
|
||||||
|
}
|
||||||
|
public void setPlanEndDate(Date planEndDate)
|
||||||
|
{
|
||||||
|
this.planEndDate = planEndDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getPlanEndDate()
|
||||||
|
{
|
||||||
|
return planEndDate;
|
||||||
|
}
|
||||||
|
public void setDuration(Long duration)
|
||||||
|
{
|
||||||
|
this.duration = duration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getDuration()
|
||||||
|
{
|
||||||
|
return duration;
|
||||||
|
}
|
||||||
|
public void setRemainingDays(Long remainingDays)
|
||||||
|
{
|
||||||
|
this.remainingDays = remainingDays;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getRemainingDays()
|
||||||
|
{
|
||||||
|
return remainingDays;
|
||||||
|
}
|
||||||
|
public void setStatus(String status)
|
||||||
|
{
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus()
|
||||||
|
{
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
public void setFiles(String files)
|
||||||
|
{
|
||||||
|
this.files = files;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFiles()
|
||||||
|
{
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
public void setWork(String work)
|
||||||
|
{
|
||||||
|
this.work = work;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWork()
|
||||||
|
{
|
||||||
|
return work;
|
||||||
|
}
|
||||||
|
public void setNextWeekWork(String nextWeekWork)
|
||||||
|
{
|
||||||
|
this.nextWeekWork = nextWeekWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNextWeekWork()
|
||||||
|
{
|
||||||
|
return nextWeekWork;
|
||||||
|
}
|
||||||
|
public void setProblem(String problem)
|
||||||
|
{
|
||||||
|
this.problem = problem;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProblem()
|
||||||
|
{
|
||||||
|
return problem;
|
||||||
|
}
|
||||||
|
public void setIsDel(Long isDel)
|
||||||
|
{
|
||||||
|
this.isDel = isDel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIsDel()
|
||||||
|
{
|
||||||
|
return isDel;
|
||||||
|
}
|
||||||
|
public void setUpdateInfo(String updateInfo)
|
||||||
|
{
|
||||||
|
this.updateInfo = updateInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdateInfo()
|
||||||
|
{
|
||||||
|
return updateInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
.append("id", getId())
|
||||||
|
.append("nodeId", getNodeId())
|
||||||
|
.append("projectId", getProjectId())
|
||||||
|
.append("ownerName", getOwnerName())
|
||||||
|
.append("ownerPhone", getOwnerPhone())
|
||||||
|
.append("dataDate", getDataDate())
|
||||||
|
.append("startDate", getStartDate())
|
||||||
|
.append("planStartDate", getPlanStartDate())
|
||||||
|
.append("endDate", getEndDate())
|
||||||
|
.append("planEndDate", getPlanEndDate())
|
||||||
|
.append("duration", getDuration())
|
||||||
|
.append("remainingDays", getRemainingDays())
|
||||||
|
.append("status", getStatus())
|
||||||
|
.append("remark", getRemark())
|
||||||
|
.append("files", getFiles())
|
||||||
|
.append("work", getWork())
|
||||||
|
.append("nextWeekWork", getNextWeekWork())
|
||||||
|
.append("problem", getProblem())
|
||||||
|
.append("isDel", getIsDel())
|
||||||
|
.append("createBy", getCreateBy())
|
||||||
|
.append("createTime", getCreateTime())
|
||||||
|
.append("updateBy", getUpdateBy())
|
||||||
|
.append("updateTime", getUpdateTime())
|
||||||
|
.append("updateInfo", getUpdateInfo())
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -192,4 +192,5 @@ public class SurProjectBuildNodeData extends BaseEntity
|
||||||
.append("updateTime", getUpdateTime())
|
.append("updateTime", getUpdateTime())
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectBuildDesignData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-03-16
|
||||||
|
*/
|
||||||
|
public interface SurProjectBuildDesignDataMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询设计管理
|
||||||
|
*
|
||||||
|
* @param id 设计管理主键
|
||||||
|
* @return 设计管理
|
||||||
|
*/
|
||||||
|
public SurProjectBuildDesignData selectSurProjectBuildDesignDataById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设计管理列表
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 设计管理集合
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildDesignData> selectSurProjectBuildDesignDataList(SurProjectBuildDesignData surProjectBuildDesignData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增设计管理
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertSurProjectBuildDesignData(SurProjectBuildDesignData surProjectBuildDesignData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改设计管理
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateSurProjectBuildDesignData(SurProjectBuildDesignData surProjectBuildDesignData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除设计管理
|
||||||
|
*
|
||||||
|
* @param id 设计管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectBuildDesignDataById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除设计管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectBuildDesignDataByIds(Long[] ids);
|
||||||
|
/**
|
||||||
|
* 按周查询设计计划
|
||||||
|
* @param projectId,startDate,endDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildDesignData> selectWeekData(SurProjectBuildDesignData where);
|
||||||
|
}
|
||||||
|
|
@ -85,4 +85,10 @@ public interface SurProjectUserinfoMapper
|
||||||
* @return 用户信息集合信息
|
* @return 用户信息集合信息
|
||||||
*/
|
*/
|
||||||
public List<SysUser> selectProjectUserList(SurProject surProject);
|
public List<SysUser> selectProjectUserList(SurProject surProject);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理中负责人列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SysUser> selectDesignUsers();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,4 +84,10 @@ public interface ISurProjectAttendanceGroupService
|
||||||
public int batchSurProjectAttendanceGroup(List<SurProjectAttendanceGroup> surProjectAttendanceGroupList);
|
public int batchSurProjectAttendanceGroup(List<SurProjectAttendanceGroup> surProjectAttendanceGroupList);
|
||||||
|
|
||||||
public void add(SurProjectAttendanceGroup group);
|
public void add(SurProjectAttendanceGroup group);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新济工网的分组类型
|
||||||
|
* @param group
|
||||||
|
*/
|
||||||
|
public void updateJgw(SurProjectAttendanceGroup group);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,83 @@
|
||||||
|
package com.yanzhu.jh.project.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectBuildDesignData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-03-16
|
||||||
|
*/
|
||||||
|
public interface ISurProjectBuildDesignDataService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询设计管理
|
||||||
|
*
|
||||||
|
* @param id 设计管理主键
|
||||||
|
* @return 设计管理
|
||||||
|
*/
|
||||||
|
public SurProjectBuildDesignData selectSurProjectBuildDesignDataById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设计管理列表
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 设计管理集合
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildDesignData> selectSurProjectBuildDesignDataList(SurProjectBuildDesignData surProjectBuildDesignData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增设计管理
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertSurProjectBuildDesignData(SurProjectBuildDesignData surProjectBuildDesignData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改设计管理
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateSurProjectBuildDesignData(SurProjectBuildDesignData surProjectBuildDesignData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除设计管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的设计管理主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectBuildDesignDataByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除设计管理信息
|
||||||
|
*
|
||||||
|
* @param id 设计管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectBuildDesignDataById(Long id);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按周查询设计计划
|
||||||
|
* @param projectId,startDate,endDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildDesignData> selectWeekData(com.yanzhu.jh.project.domain.SurProjectBuildDesignData where);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按项目增加本周的设计计划
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int addWeekData(SurProjectBuildDesignData where);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量修改
|
||||||
|
* @param list
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int updateList(List<SurProjectBuildDesignData> list);
|
||||||
|
}
|
||||||
|
|
@ -83,4 +83,16 @@ public interface ISurProjectBuildNodeDataService
|
||||||
public List<SurProjectBuildNodeData> queryByProjectType(long type);
|
public List<SurProjectBuildNodeData> queryByProjectType(long type);
|
||||||
|
|
||||||
public List<SurProjectBuildNodeData> queryFinishProject(long projectId);
|
public List<SurProjectBuildNodeData> queryFinishProject(long projectId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 2024-3 设计管理功能调整设计部分结构
|
||||||
|
* @param projectId
|
||||||
|
*/
|
||||||
|
public int addDesignNodes(long projectId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询如果没有数据会增加
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildNodeData> selectSurProjectBuildNodeDataListAndAdd(SurProjectBuildNodeData where);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,4 +96,10 @@ public interface ISurProjectUserinfoService
|
||||||
* @return 用户信息集合信息
|
* @return 用户信息集合信息
|
||||||
*/
|
*/
|
||||||
public List<SysUser> selectProjectUserList(SurProject surProject);
|
public List<SysUser> selectProjectUserList(SurProject surProject);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理中负责人列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SysUser> selectDesignUsers();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -143,4 +143,19 @@ public class SurProjectAttendanceGroupServiceImpl implements ISurProjectAttendan
|
||||||
updateSurProjectAttendanceGroup(group);
|
updateSurProjectAttendanceGroup(group);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新济工网的分组类型
|
||||||
|
* @param group
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void updateJgw(SurProjectAttendanceGroup group) {
|
||||||
|
SurProjectAttendanceGroup where=new SurProjectAttendanceGroup();
|
||||||
|
where.setBizLicense(group.getBizLicense());
|
||||||
|
List<SurProjectAttendanceGroup> list=selectSurProjectAttendanceGroupList(where);
|
||||||
|
for(SurProjectAttendanceGroup g:list){
|
||||||
|
g.setCompanyTypeId(group.getCompanyTypeId());
|
||||||
|
updateSurProjectAttendanceGroup(g);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,213 @@
|
||||||
|
package com.yanzhu.jh.project.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import com.yanzhu.jh.project.domain.BaseBuildNode;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectBuildNodeData;
|
||||||
|
import com.yanzhu.jh.project.mapper.BaseBuildNodeMapper;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectBuildNodeDataService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.yanzhu.jh.project.mapper.SurProjectBuildDesignDataMapper;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectBuildDesignData;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectBuildDesignDataService;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
/**
|
||||||
|
* 设计管理Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-03-16
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SurProjectBuildDesignDataServiceImpl implements ISurProjectBuildDesignDataService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private SurProjectBuildDesignDataMapper surProjectBuildDesignDataMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseBuildNodeMapper baseBuildNodeMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISurProjectBuildNodeDataService surProjectBuildNodeDataService;
|
||||||
|
/**
|
||||||
|
* 查询设计管理
|
||||||
|
*
|
||||||
|
* @param id 设计管理主键
|
||||||
|
* @return 设计管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SurProjectBuildDesignData selectSurProjectBuildDesignDataById(Long id)
|
||||||
|
{
|
||||||
|
return surProjectBuildDesignDataMapper.selectSurProjectBuildDesignDataById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设计管理列表
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 设计管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectBuildDesignData> selectSurProjectBuildDesignDataList(SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
return surProjectBuildDesignDataMapper.selectSurProjectBuildDesignDataList(surProjectBuildDesignData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增设计管理
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertSurProjectBuildDesignData(SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
surProjectBuildDesignData.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
surProjectBuildDesignData.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return surProjectBuildDesignDataMapper.insertSurProjectBuildDesignData(surProjectBuildDesignData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改设计管理
|
||||||
|
*
|
||||||
|
* @param surProjectBuildDesignData 设计管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateSurProjectBuildDesignData(SurProjectBuildDesignData surProjectBuildDesignData)
|
||||||
|
{
|
||||||
|
surProjectBuildDesignData.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
surProjectBuildDesignData.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return surProjectBuildDesignDataMapper.updateSurProjectBuildDesignData(surProjectBuildDesignData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除设计管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的设计管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteSurProjectBuildDesignDataByIds(Long[] ids)
|
||||||
|
{
|
||||||
|
return surProjectBuildDesignDataMapper.deleteSurProjectBuildDesignDataByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除设计管理信息
|
||||||
|
*
|
||||||
|
* @param id 设计管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteSurProjectBuildDesignDataById(Long id)
|
||||||
|
{
|
||||||
|
return surProjectBuildDesignDataMapper.deleteSurProjectBuildDesignDataById(id);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 按周查询设计计划
|
||||||
|
* @param projectId,startDate,endDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectBuildDesignData> selectWeekData(SurProjectBuildDesignData where) {
|
||||||
|
return surProjectBuildDesignDataMapper.selectWeekData(where);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int addWeekData(SurProjectBuildDesignData where) {
|
||||||
|
int n=0;
|
||||||
|
//查询上周数据
|
||||||
|
SurProjectBuildDesignData prvWhere=new SurProjectBuildDesignData();
|
||||||
|
DateTime dt= DateUtil.offsetDay(DateUtil.date(),-7);
|
||||||
|
prvWhere.setProjectId(where.getProjectId());
|
||||||
|
prvWhere.setStartDate(DateUtil.beginOfWeek(dt));
|
||||||
|
prvWhere.setEndDate(DateUtil.endOfWeek(dt));
|
||||||
|
List<SurProjectBuildDesignData> prvList=selectWeekData(prvWhere);
|
||||||
|
DateTime dataTime=DateTime.now();
|
||||||
|
if(prvList.size()>0){ //上周有数据,使用上周的数据,如果没有就创建新数据
|
||||||
|
for(SurProjectBuildDesignData node :prvList){
|
||||||
|
SurProjectBuildDesignData it = getSurProjectBuildDesignData(node, dataTime);
|
||||||
|
insertSurProjectBuildDesignData(it);
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
List<BaseBuildNode> list=baseBuildNodeMapper.selectByProject(where.getProjectId());
|
||||||
|
|
||||||
|
for(BaseBuildNode node:list){
|
||||||
|
if(node.getNodeLvl().startsWith("03") && node.getNodeLvl().length()>2){
|
||||||
|
SurProjectBuildDesignData it=new SurProjectBuildDesignData();
|
||||||
|
it.setNodeId(node.getId());
|
||||||
|
it.setProjectId(where.getProjectId());
|
||||||
|
it.setDataDate(dataTime);
|
||||||
|
it.setIsDel(0l);
|
||||||
|
insertSurProjectBuildDesignData(it);
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量修改
|
||||||
|
* @param list
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateList(List<SurProjectBuildDesignData> list) {
|
||||||
|
if(list.size()==0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
long projectId= list.get(0).getProjectId();
|
||||||
|
SurProjectBuildNodeData where=new SurProjectBuildNodeData();
|
||||||
|
where.setProjectId(projectId);
|
||||||
|
List<SurProjectBuildNodeData> nodeDataList=surProjectBuildNodeDataService.selectSurProjectBuildNodeDataListAndAdd(where);
|
||||||
|
int cnt=0;
|
||||||
|
for(SurProjectBuildDesignData item :list){
|
||||||
|
updateSurProjectBuildDesignData(item);
|
||||||
|
SurProjectBuildNodeData it=findNodeDataInList(nodeDataList,item);
|
||||||
|
if(it!=null){
|
||||||
|
it.setStartDate(item.getStartDate());
|
||||||
|
it.setEndDate(item.getEndDate());
|
||||||
|
it.setPlanStartDate(item.getPlanStartDate());
|
||||||
|
it.setPlanEndDate(item.getPlanEndDate());
|
||||||
|
surProjectBuildNodeDataService.updateSurProjectBuildNodeData(it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cnt;
|
||||||
|
}
|
||||||
|
|
||||||
|
private SurProjectBuildNodeData findNodeDataInList(List<SurProjectBuildNodeData> nodeDataList, SurProjectBuildDesignData item) {
|
||||||
|
for(SurProjectBuildNodeData it:nodeDataList){
|
||||||
|
if(it.getNodeId()==item.getNodeId()){
|
||||||
|
return it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static SurProjectBuildDesignData getSurProjectBuildDesignData(SurProjectBuildDesignData node, DateTime dataTime) {
|
||||||
|
SurProjectBuildDesignData it=new SurProjectBuildDesignData();
|
||||||
|
it.setOwnerPhone(node.getOwnerPhone());
|
||||||
|
it.setOwnerName(node.getOwnerName());
|
||||||
|
it.setStartDate(node.getStartDate());
|
||||||
|
it.setDataDate(dataTime);
|
||||||
|
it.setProjectId(node.getProjectId());
|
||||||
|
it.setEndDate(node.getEndDate());
|
||||||
|
it.setIsDel(0l);
|
||||||
|
it.setNodeId(node.getNodeId());
|
||||||
|
it.setDuration(node.getDuration());
|
||||||
|
it.setNextWeekWork(node.getNextWeekWork());
|
||||||
|
it.setPlanEndDate(node.getPlanEndDate());
|
||||||
|
it.setPlanEndDate(node.getPlanEndDate());
|
||||||
|
it.setProblem(node.getProblem());
|
||||||
|
it.setWork(node.getWork());
|
||||||
|
it.setRemainingDays(node.getRemainingDays());
|
||||||
|
it.setStatus(node.getStatus());
|
||||||
|
return it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package com.yanzhu.jh.project.service.impl;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.yanzhu.jh.project.domain.vo.SurProjectBuildNodeDataExport;
|
import com.yanzhu.jh.project.domain.vo.SurProjectBuildNodeDataExport;
|
||||||
import com.yanzhu.jh.project.mapper.SurProjectMapper;
|
import com.yanzhu.jh.project.mapper.SurProjectMapper;
|
||||||
|
|
@ -124,6 +125,45 @@ public class SurProjectBuildNodeDataServiceImpl implements ISurProjectBuildNodeD
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public int addDesignNodes(long projectId) {
|
||||||
|
List<BaseBuildNode> list=baseBuildNodeMapper.selectByProject(projectId);
|
||||||
|
int n=0;
|
||||||
|
for(BaseBuildNode it :list){
|
||||||
|
if(it.getId()>491) {
|
||||||
|
SurProjectBuildNodeData item = new SurProjectBuildNodeData();
|
||||||
|
item.setProjectId(projectId);
|
||||||
|
item.setNodeId(it.getId());
|
||||||
|
item.setIsDel(0l);
|
||||||
|
n += this.insertSurProjectBuildNodeData(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SurProjectBuildNodeData> selectSurProjectBuildNodeDataListAndAdd(SurProjectBuildNodeData where) {
|
||||||
|
long projectId=where.getProjectId();
|
||||||
|
List<SurProjectBuildNodeData> list=this.selectSurProjectBuildNodeDataList(where);
|
||||||
|
if(list.size()>0){
|
||||||
|
boolean foundNewDesignLvl=false;
|
||||||
|
for(SurProjectBuildNodeData it:list){
|
||||||
|
if(it.getBaseBuildNode().getNodeLvl().equals("0304")){
|
||||||
|
foundNewDesignLvl=true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!foundNewDesignLvl){
|
||||||
|
this.addDesignNodes(projectId);
|
||||||
|
list=this.selectSurProjectBuildNodeDataList(where);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
this.addProjectNodes(projectId);
|
||||||
|
list=this.selectSurProjectBuildNodeDataList(where);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int importData(List<SurProjectBuildNodeDataExport> list) {
|
public int importData(List<SurProjectBuildNodeDataExport> list) {
|
||||||
|
|
@ -190,4 +230,5 @@ public class SurProjectBuildNodeDataServiceImpl implements ISurProjectBuildNodeD
|
||||||
public List<SurProjectBuildNodeData> queryFinishProject(long projectId) {
|
public List<SurProjectBuildNodeData> queryFinishProject(long projectId) {
|
||||||
return surProjectBuildNodeDataMapper.queryFinishProject(projectId);
|
return surProjectBuildNodeDataMapper.queryFinishProject(projectId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -322,4 +322,13 @@ public class SurProjectUserinfoServiceImpl implements ISurProjectUserinfoService
|
||||||
{
|
{
|
||||||
return surProjectUserinfoMapper.selectProjectUserList(surProject);
|
return surProjectUserinfoMapper.selectProjectUserList(surProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计管理中负责人列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysUser> selectDesignUsers() {
|
||||||
|
return surProjectUserinfoMapper.selectDesignUsers();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,7 @@ public class AttendanceHuazhuTask {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 同步7天之内的数据
|
* 同步90天之内的数据
|
||||||
*/
|
*/
|
||||||
public void syncLast90DayAttendanceData() {
|
public void syncLast90DayAttendanceData() {
|
||||||
long endTime=DateUtil.current();
|
long endTime=DateUtil.current();
|
||||||
|
|
@ -132,6 +132,9 @@ public class AttendanceHuazhuTask {
|
||||||
syncAttendanceData(startTime);
|
syncAttendanceData(startTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步7天之内的数据
|
||||||
|
*/
|
||||||
public void syncLastWeekAttendanceData() {
|
public void syncLastWeekAttendanceData() {
|
||||||
long endTime=DateUtil.current();
|
long endTime=DateUtil.current();
|
||||||
long startTime=endTime-3600*1000*24*7;
|
long startTime=endTime-3600*1000*24*7;
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,50 @@
|
||||||
package com.yanzhu.jh.project.task;
|
package com.yanzhu.jh.project.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.codec.Base64;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpUtil;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.ruoyi.common.config.RuoYiConfig;
|
||||||
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||||
|
import com.ruoyi.common.utils.file.FileUtils;
|
||||||
import com.ruoyi.common.utils.sign.Md5Utils;
|
import com.ruoyi.common.utils.sign.Md5Utils;
|
||||||
|
import com.ruoyi.common.utils.uuid.UUID;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceGroup;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceCfgService;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceGroupService;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceUserService;
|
||||||
import okhttp3.*;
|
import okhttp3.*;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@Component("attendanceJgwTask")
|
||||||
public class AttendanceJgwTask {
|
public class AttendanceJgwTask {
|
||||||
|
@Autowired
|
||||||
|
ISurProjectAttendanceUserService attendanceUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ISurProjectAttendanceCfgService attendanceCfgService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ISurProjectAttendanceDataService attendanceDataService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ISurProjectAttendanceGroupService attendanceGroupService;
|
||||||
|
|
||||||
static String host="http://api.gongyoumishu.com:80/gomeetapi/";
|
static String host="http://api.gongyoumishu.com:80/gomeetapi/";
|
||||||
//sign/photo/20240101/E24E76-C9A5CB-0000FF/1741751233297383424_8848.JPG
|
//sign/photo/20240101/E24E76-C9A5CB-0000FF/1741751233297383424_8848.JPG
|
||||||
public static String getToken(String appid,String secret){
|
public static String getToken(String appid,String secret){
|
||||||
|
|
@ -40,17 +74,24 @@ public class AttendanceJgwTask {
|
||||||
}
|
}
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args){
|
public static void main(String[] args){
|
||||||
|
String d="sxyzxx2024suc";
|
||||||
|
System.out.println(Base64.encode(d));
|
||||||
|
|
||||||
String appid="6a6f24fe35b04ee0bcf31cfb46ed1051";
|
String appid="6a6f24fe35b04ee0bcf31cfb46ed1051";
|
||||||
String secret="c3h5enh4MjAyNHN1Yw==";
|
String secret="c3h5enh4MjAyNHN1Yw==";
|
||||||
String prjId="b67f1baa6dca4558a16bf90a4681b82e";
|
String prjId="db955e11ef774e63968a47c3dc2acc15";//"b67f1baa6dca4558a16bf90a4681b82e";
|
||||||
String token= getToken(appid,secret);
|
String token= getToken(appid,secret);
|
||||||
if(token==null || token.length()==0){
|
if(token==null || token.length()==0){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
System.out.println(token);
|
System.out.println(token);
|
||||||
//findAddWorkerByProject(appid,token,prjId);
|
System.out.println(DateUtil.format(DateTime.now(),"yyyy-MM-dd"));
|
||||||
|
//findAddWorkerByProject(appid,token,prjId,0);
|
||||||
findAttendanceByProject(appid,token,prjId);
|
findAttendanceByProject(appid,token,prjId);
|
||||||
|
//findTeamByProjectId(appid,token,prjId);
|
||||||
|
//findProContractorByProjectId(appid,token,prjId);
|
||||||
}
|
}
|
||||||
public static void findAttendanceByProject(String appId,String token,String projectId){
|
public static void findAttendanceByProject(String appId,String token,String projectId){
|
||||||
String path="/webapi/project/findAttendanceByProject";
|
String path="/webapi/project/findAttendanceByProject";
|
||||||
|
|
@ -66,24 +107,138 @@ public class AttendanceJgwTask {
|
||||||
params.put("tokenSign",tokenSign);
|
params.put("tokenSign",tokenSign);
|
||||||
params.put("projectId",projectId);
|
params.put("projectId",projectId);
|
||||||
params.put("startId",startId);
|
params.put("startId",startId);
|
||||||
params.put("startId",startId);
|
params.put("startTime",DateUtil.format(DateTime.now(),"yyyy-MM-dd"));
|
||||||
params.put("startTime","2024-01-01");
|
params.put("endTime",DateUtil.format(DateUtil.offsetDay(DateTime.now(),0),"yyyy-MM-dd"));
|
||||||
params.put("endTime","2024-01-20");
|
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
.url(host+path)
|
.url(host+path)
|
||||||
.post(toFormBody(params))
|
.post(toFormBody(params))
|
||||||
.build();
|
.build();
|
||||||
String data=AttendanceTask.getResult(request);
|
String data=AttendanceTask.getResult(request);
|
||||||
System.out.println(data);
|
System.out.println(data);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
String endId= joData.getString("endId");
|
||||||
|
JSONArray arr=joData.getJSONArray("workerAttList");
|
||||||
|
if(arr!=null && arr.size()>0){
|
||||||
|
for(int i=0;i<arr.size();i++) {
|
||||||
|
JSONObject json = arr.getJSONObject(i);
|
||||||
|
String photo=json.getString("signimg");
|
||||||
|
String photoUrl=getPhoto(appId,token,photo);
|
||||||
|
SurProjectAttendanceData sdata = SurProjectAttendanceData.createFromJgw(json);
|
||||||
|
sdata.setScanPhoto(photoUrl);
|
||||||
}
|
}
|
||||||
public static void findAddWorkerByProject(String appId,String token,String projectId){
|
}
|
||||||
String path="/webapi/project/findAddWorkerByProject";
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getPhoto(String appId,String token, String photo) {
|
||||||
|
String path="/webapi/dictInfo/getPhoyoAllPaths";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("filePath",photo);
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(host+path)
|
||||||
|
.post(toFormBody(params))
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
String purl=joData.getString("result");
|
||||||
|
byte[] buffer= HttpUtil.downloadBytes(purl);
|
||||||
|
String filePath= RuoYiConfig.getUploadPath();
|
||||||
|
filePath="D:/data/uploadPath";
|
||||||
|
try {
|
||||||
|
return FileUtils.writeBytes(buffer, filePath+"/jgw");
|
||||||
|
}catch (Exception ex){
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void findProContractorByProjectId(String appId,String token,String projectId){
|
||||||
|
String path="/webapi/project/findProContractorByProjectId";
|
||||||
String time = System.currentTimeMillis() + "";
|
String time = System.currentTimeMillis() + "";
|
||||||
String startId="0";
|
String startId="0";
|
||||||
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
System.out.println(url);
|
|
||||||
String tokenSign = Md5Utils.hash(url);
|
String tokenSign = Md5Utils.hash(url);
|
||||||
System.out.println(tokenSign);
|
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("projectId",projectId);
|
||||||
|
params.put("rowId",startId);
|
||||||
|
url=host+path+"?appId="+appId+"&tokenSign="+tokenSign+"&projectId="+projectId+"×tamp="+time+"&rowId="+startId;
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(url)
|
||||||
|
.get()
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
JSONArray arr=joData.getJSONArray("proContractorList");
|
||||||
|
if(arr.size()>0){
|
||||||
|
for(int i=0;i<arr.size();i++){
|
||||||
|
JSONObject json=arr.getJSONObject(i);
|
||||||
|
SurProjectAttendanceGroup group=new SurProjectAttendanceGroup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void findTeamByProjectId(String appId,String token,String projectId){
|
||||||
|
String path="/webapi/project/findTeamByProjectId";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String startId="34549";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("projectId",projectId);
|
||||||
|
params.put("rowId",startId);
|
||||||
|
url=host+path+"?appId="+appId+"&tokenSign="+tokenSign+"&projectId="+projectId+"×tamp="+time+"&rowId="+startId;
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(url)
|
||||||
|
.get()
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
JSONArray arr=joData.getJSONArray("teamList");
|
||||||
|
if(arr.size()>0){
|
||||||
|
for(int i=0;i<arr.size();i++){
|
||||||
|
JSONObject json=arr.getJSONObject(i);
|
||||||
|
SurProjectAttendanceGroup group=SurProjectAttendanceGroup.createJgw(json);
|
||||||
|
group.setBizLicense(json.getString("corpCode"));
|
||||||
|
String type=json.getString("corpType");
|
||||||
|
if("009".equals(type)){ //总包人员
|
||||||
|
group.setCompanyTypeId("1");
|
||||||
|
}else if("007".equals(type)){//监理人员
|
||||||
|
group.setCompanyTypeId("8");
|
||||||
|
}else if("006".equals(type)){//劳务人员
|
||||||
|
group.setCompanyTypeId("2");
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotEmpty(group.getCompanyTypeId())){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void findAddWorkerByProject(String appId,String token,String projectId,int startId){
|
||||||
|
String path="/webapi/project/findAddWorkerByProject";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
|
||||||
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> params = new HashMap<>();
|
||||||
params.put("appId",appId);
|
params.put("appId",appId);
|
||||||
params.put("timestamp",time);
|
params.put("timestamp",time);
|
||||||
|
|
@ -95,7 +250,323 @@ public class AttendanceJgwTask {
|
||||||
.post(toFormBody(params))
|
.post(toFormBody(params))
|
||||||
.build();
|
.build();
|
||||||
String data=AttendanceTask.getResult(request);
|
String data=AttendanceTask.getResult(request);
|
||||||
System.out.println(data);
|
JSONObject jo= JSON.parseObject(data);
|
||||||
|
JSONObject joData= jo.getJSONObject("data");
|
||||||
|
int endId= joData.getInteger("endId");
|
||||||
|
JSONArray arr=joData.getJSONArray("workerList");
|
||||||
|
if(arr.size()>0) {
|
||||||
|
int cnt=0;
|
||||||
|
for(int i=0;i<arr.size();i++){
|
||||||
|
JSONObject json=arr.getJSONObject(i);
|
||||||
|
String workerStatus= json.getString("workerStatus");
|
||||||
|
if("02".equals(workerStatus)){
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
|
// SurProjectAttendanceUser user=SurProjectAttendanceUser.createFromJgw(json);
|
||||||
|
}
|
||||||
|
System.out.println("cnt:"+cnt+","+arr.size());
|
||||||
|
//findAddWorkerByProject(appId, token, projectId, endId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步人员信息
|
||||||
|
*/
|
||||||
|
public void syncWorker(){
|
||||||
|
SurProjectAttendanceCfg where =new SurProjectAttendanceCfg();
|
||||||
|
where.setEnabled(1l);
|
||||||
|
where.setIsDel(0l);
|
||||||
|
where.setVendorsCode("jgw");
|
||||||
|
List<SurProjectAttendanceCfg> list=attendanceCfgService.selectSurProjectAttendanceCfgList(where);
|
||||||
|
for(SurProjectAttendanceCfg it :list){
|
||||||
|
String param= it.getVendorsParameter();
|
||||||
|
if(Strings.isNotEmpty(param)){
|
||||||
|
try{
|
||||||
|
JSONObject jo=JSON.parseObject(param);
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String secret=jo.getString("secret");
|
||||||
|
secret=Base64.encode(secret);
|
||||||
|
jo.put("secret",secret);
|
||||||
|
String token= getToken(appId,secret);
|
||||||
|
jo.put("token",token);
|
||||||
|
doSyncWorker(jo,0l,it);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doSyncWorker(JSONObject jo, long startId, SurProjectAttendanceCfg it) {
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String token=jo.getString("token");
|
||||||
|
String projectId=jo.getString("projectId");
|
||||||
|
String path="/webapi/project/findAddWorkerByProject";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("projectId",projectId);
|
||||||
|
params.put("startId",startId);
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(host+path)
|
||||||
|
.post(toFormBody(params))
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
long endId= joData.getLong("endId");
|
||||||
|
JSONArray arr=joData.getJSONArray("workerList");
|
||||||
|
if(arr.size()>0) {
|
||||||
|
for(int i=0;i<arr.size();i++){
|
||||||
|
JSONObject json=arr.getJSONObject(i);
|
||||||
|
SurProjectAttendanceUser user=SurProjectAttendanceUser.createFromJgw(json);
|
||||||
|
user.setVendorsCode(it.getVendorsCode());
|
||||||
|
user.setCfgid(it.getId());
|
||||||
|
user.setAppId(appId);
|
||||||
|
attendanceUserService.add(user);
|
||||||
|
}
|
||||||
|
doSyncWorker(jo,endId,it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步群组信息
|
||||||
|
*/
|
||||||
|
public void syncGroup(){
|
||||||
|
SurProjectAttendanceCfg where =new SurProjectAttendanceCfg();
|
||||||
|
where.setEnabled(1l);
|
||||||
|
where.setIsDel(0l);
|
||||||
|
where.setVendorsCode("jgw");
|
||||||
|
List<SurProjectAttendanceCfg> list=attendanceCfgService.selectSurProjectAttendanceCfgList(where);
|
||||||
|
for(SurProjectAttendanceCfg it :list){
|
||||||
|
String param= it.getVendorsParameter();
|
||||||
|
if(Strings.isNotEmpty(param)){
|
||||||
|
try{
|
||||||
|
JSONObject jo=JSON.parseObject(param);
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String secret=jo.getString("secret");
|
||||||
|
secret=Base64.encode(secret);
|
||||||
|
jo.put("secret",secret);
|
||||||
|
String token= getToken(appId,secret);
|
||||||
|
jo.put("token",token);
|
||||||
|
doSyncGroup(jo,0l,it);
|
||||||
|
doSyncProContractor(jo,0l,it);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参建单位
|
||||||
|
* @param jo
|
||||||
|
* @param l
|
||||||
|
* @param it
|
||||||
|
*/
|
||||||
|
private void doSyncProContractor(JSONObject jo, long startId, SurProjectAttendanceCfg it) {
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String token=jo.getString("token");
|
||||||
|
String projectId=jo.getString("projectId");
|
||||||
|
String path="/webapi/project/findProContractorByProjectId";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("projectId",projectId);
|
||||||
|
params.put("rowId",startId);
|
||||||
|
url=host+path+"?appId="+appId+"&tokenSign="+tokenSign+"&projectId="+projectId+"×tamp="+time+"&rowId="+startId;
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(url)
|
||||||
|
.get()
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
JSONArray arr=joData.getJSONArray("proContractorList");
|
||||||
|
if(arr.size()>0){
|
||||||
|
long rowId=0;
|
||||||
|
for(int i=0;i<arr.size();i++){
|
||||||
|
JSONObject json=arr.getJSONObject(i);
|
||||||
|
rowId=json.getLong("id");
|
||||||
|
SurProjectAttendanceGroup group=SurProjectAttendanceGroup.createJgw(json);
|
||||||
|
group.setBizLicense(json.getString("corpCode"));
|
||||||
|
String type=json.getString("corpType");
|
||||||
|
if("009".equals(type)){ //总包人员
|
||||||
|
group.setCompanyTypeId("1");
|
||||||
|
}else if("007".equals(type)){//监理人员
|
||||||
|
group.setCompanyTypeId("8");
|
||||||
|
}else if("006".equals(type)){//劳务人员
|
||||||
|
group.setCompanyTypeId("2");
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotEmpty(group.getCompanyTypeId())){
|
||||||
|
attendanceGroupService.updateJgw(group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(rowId>0){
|
||||||
|
doSyncProContractor(jo,rowId+1,it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询班组
|
||||||
|
* @param jo
|
||||||
|
* @param startId
|
||||||
|
* @param it
|
||||||
|
*/
|
||||||
|
private void doSyncGroup(JSONObject jo, long startId, SurProjectAttendanceCfg it) {
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String token=jo.getString("token");
|
||||||
|
String projectId=jo.getString("projectId");
|
||||||
|
String path="/webapi/project/findTeamByProjectId";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("projectId",projectId);
|
||||||
|
params.put("rowId",startId);
|
||||||
|
url=host+path+"?appId="+appId+"&tokenSign="+tokenSign+"&projectId="+projectId+"×tamp="+time+"&rowId="+startId;
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(url)
|
||||||
|
.get()
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
JSONArray arr=joData.getJSONArray("teamList");
|
||||||
|
if(arr.size()>0){
|
||||||
|
long rowId=0;
|
||||||
|
for(int i=0;i<arr.size();i++){
|
||||||
|
JSONObject json=arr.getJSONObject(i);
|
||||||
|
SurProjectAttendanceGroup group=SurProjectAttendanceGroup.createJgw(json);
|
||||||
|
group.setCfgid(it.getId());
|
||||||
|
group.setAppId(appId);
|
||||||
|
rowId=json.getLong("id");
|
||||||
|
attendanceGroupService.add(group);
|
||||||
|
}
|
||||||
|
if(rowId>0){
|
||||||
|
doSyncGroup(jo,rowId+1,it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步当天数据
|
||||||
|
*/
|
||||||
|
public void syncAttendanceData(){
|
||||||
|
String dtStart=DateUtil.format(DateTime.now(),"yyyy-MM-dd");
|
||||||
|
String dtEnd=dtStart;
|
||||||
|
syncAttendanceData(dtStart,dtEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步7天之内数据
|
||||||
|
*/
|
||||||
|
public void syncLastWeekAttendanceData(){
|
||||||
|
String dtEnd=DateUtil.format(DateTime.now(),"yyyy-MM-dd");
|
||||||
|
String dtStart=DateUtil.format(DateUtil.offsetDay(DateTime.now(),-7),"yyyy-MM-dd");
|
||||||
|
syncAttendanceData(dtStart,dtEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步30天内数据
|
||||||
|
*/
|
||||||
|
public void syncLast30DayAttendanceData(){
|
||||||
|
String dtEnd=DateUtil.format(DateTime.now(),"yyyy-MM-dd");
|
||||||
|
String dtStart=DateUtil.format(DateUtil.offsetDay(DateTime.now(),-30),"yyyy-MM-dd");
|
||||||
|
syncAttendanceData(dtStart,dtEnd);
|
||||||
|
syncAttendanceData(dtStart,dtEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void syncAttendanceData(String dtStart,String dtEnd){
|
||||||
|
SurProjectAttendanceCfg where =new SurProjectAttendanceCfg();
|
||||||
|
where.setEnabled(1l);
|
||||||
|
where.setIsDel(0l);
|
||||||
|
where.setVendorsCode("jgw");
|
||||||
|
List<SurProjectAttendanceCfg> list=attendanceCfgService.selectSurProjectAttendanceCfgList(where);
|
||||||
|
for(SurProjectAttendanceCfg it :list){
|
||||||
|
String param= it.getVendorsParameter();
|
||||||
|
if(Strings.isNotEmpty(param)){
|
||||||
|
try{
|
||||||
|
JSONObject jo=JSON.parseObject(param);
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String secret=jo.getString("secret");
|
||||||
|
secret=Base64.encode(secret);
|
||||||
|
jo.put("secret",secret);
|
||||||
|
String token= getToken(appId,secret);
|
||||||
|
jo.put("token",token);
|
||||||
|
jo.put("startTime",dtStart);
|
||||||
|
jo.put("endTime",dtEnd);
|
||||||
|
doSyncAttendanceData(jo,"0",it);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doSyncAttendanceData(JSONObject jo, String startId, SurProjectAttendanceCfg it) {
|
||||||
|
String appId=jo.getString("appId");
|
||||||
|
String token=jo.getString("token");
|
||||||
|
String projectId=jo.getString("projectId");
|
||||||
|
String startTime=jo.getString("startTime");
|
||||||
|
String endTime=jo.getString("endTime");
|
||||||
|
String path="/webapi/project/findAttendanceByProject";
|
||||||
|
String time = System.currentTimeMillis() + "";
|
||||||
|
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time;
|
||||||
|
|
||||||
|
String tokenSign = Md5Utils.hash(url);
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("appId",appId);
|
||||||
|
params.put("timestamp",time);
|
||||||
|
params.put("tokenSign",tokenSign);
|
||||||
|
params.put("projectId",projectId);
|
||||||
|
params.put("startId",startId);
|
||||||
|
params.put("startTime",startTime);
|
||||||
|
params.put("endTime",endTime);
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(host+path)
|
||||||
|
.post(toFormBody(params))
|
||||||
|
.build();
|
||||||
|
String data=AttendanceTask.getResult(request);
|
||||||
|
System.out.println(data);
|
||||||
|
JSONObject j= JSON.parseObject(data);
|
||||||
|
JSONObject joData= j.getJSONObject("data");
|
||||||
|
String endId= joData.getString("endId");
|
||||||
|
JSONArray arr=joData.getJSONArray("workerAttList");
|
||||||
|
if(arr!=null && arr.size()>0){
|
||||||
|
for(int i=0;i<arr.size();i++) {
|
||||||
|
JSONObject json = arr.getJSONObject(i);
|
||||||
|
String photo=json.getString("signimg");
|
||||||
|
String photoUrl=getPhoto(appId,token,photo);
|
||||||
|
SurProjectAttendanceData sdata = SurProjectAttendanceData.createFromJgw(json);
|
||||||
|
sdata.setScanPhoto(photoUrl);
|
||||||
|
sdata.setCfgid(it.getId());
|
||||||
|
sdata.setAppId(appId);
|
||||||
|
sdata.setVendorsCode(it.getVendorsCode());
|
||||||
|
attendanceDataService.add(sdata);
|
||||||
|
}
|
||||||
|
doSyncAttendanceData(jo,endId,it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,193 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.yanzhu.jh.project.mapper.SurProjectBuildDesignDataMapper">
|
||||||
|
|
||||||
|
<resultMap type="SurProjectBuildDesignData" id="SurProjectBuildDesignDataResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="nodeId" column="node_id" />
|
||||||
|
<result property="projectId" column="project_id" />
|
||||||
|
<result property="ownerName" column="owner_name" />
|
||||||
|
<result property="ownerPhone" column="owner_phone" />
|
||||||
|
<result property="dataDate" column="data_date" />
|
||||||
|
<result property="startDate" column="start_date" />
|
||||||
|
<result property="planStartDate" column="plan_start_date" />
|
||||||
|
<result property="endDate" column="end_date" />
|
||||||
|
<result property="planEndDate" column="plan_end_date" />
|
||||||
|
<result property="duration" column="duration" />
|
||||||
|
<result property="remainingDays" column="remaining_days" />
|
||||||
|
<result property="status" column="status" />
|
||||||
|
<result property="remark" column="remark" />
|
||||||
|
<result property="files" column="files" />
|
||||||
|
<result property="work" column="work" />
|
||||||
|
<result property="nextWeekWork" column="next_week_work" />
|
||||||
|
<result property="problem" column="problem" />
|
||||||
|
<result property="isDel" column="is_del" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="updateInfo" column="update_info" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="SurProjectBuildDesignData" id="SurProjectBuildDesignDataResultNode">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="nodeId" column="node_id" />
|
||||||
|
<result property="projectId" column="project_id" />
|
||||||
|
<result property="ownerName" column="owner_name" />
|
||||||
|
<result property="ownerPhone" column="owner_phone" />
|
||||||
|
<result property="dataDate" column="data_date" />
|
||||||
|
<result property="startDate" column="start_date" />
|
||||||
|
<result property="planStartDate" column="plan_start_date" />
|
||||||
|
<result property="endDate" column="end_date" />
|
||||||
|
<result property="planEndDate" column="plan_end_date" />
|
||||||
|
<result property="duration" column="duration" />
|
||||||
|
<result property="remainingDays" column="remaining_days" />
|
||||||
|
<result property="status" column="status" />
|
||||||
|
<result property="remark" column="remark" />
|
||||||
|
<result property="files" column="files" />
|
||||||
|
<result property="work" column="work" />
|
||||||
|
<result property="nextWeekWork" column="next_week_work" />
|
||||||
|
<result property="problem" column="problem" />
|
||||||
|
<result property="isDel" column="is_del" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="updateInfo" column="update_info" />
|
||||||
|
<association property="baseBuildNode" javaType="baseBuildNode">
|
||||||
|
<result property="id" column="node_id" />
|
||||||
|
<result property="nodeText" column="node_text" />
|
||||||
|
<result property="nodeLvl" column="node_lvl" />
|
||||||
|
<result property="nodeType" column="node_type" />
|
||||||
|
</association>
|
||||||
|
<association property="project" javaType="SurProject">
|
||||||
|
<result property="id" column="project_id" />
|
||||||
|
<result property="projectName" column="projectName"/>
|
||||||
|
</association>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectSurProjectBuildDesignDataVo">
|
||||||
|
select id, node_id, project_id, owner_name, owner_phone, data_date, start_date, plan_start_date, end_date, plan_end_date, duration, remaining_days, status, remark, files, work, next_week_work, problem, is_del, create_by, create_time, update_by, update_time, update_info from sur_project_build_design_data
|
||||||
|
</sql>
|
||||||
|
<sql id="selectSurProjectBuildDesignDataVoView">
|
||||||
|
select a.*,b.node_text,b.node_lvl,b.node_type,p.projectName
|
||||||
|
from sur_project_build_design_data a,base_build_node b,sur_project p
|
||||||
|
where a.node_id=b.id and a.project_id=p.id and a.is_del!=1 and b.is_del!=1 and p.isdel!=1
|
||||||
|
</sql>
|
||||||
|
<select id="selectSurProjectBuildDesignDataList" parameterType="SurProjectBuildDesignData" resultMap="SurProjectBuildDesignDataResultNode">
|
||||||
|
<include refid="selectSurProjectBuildDesignDataVoView"/>
|
||||||
|
|
||||||
|
<if test="projectId != null "> and a.project_id = #{projectId}</if>
|
||||||
|
<if test="startDate != null "> and a.data_date >= #{startDate}</if>
|
||||||
|
<if test="endDate != null "> and a.data_date <= #{endDate}</if>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSurProjectBuildDesignDataById" parameterType="Long" resultMap="SurProjectBuildDesignDataResult">
|
||||||
|
<include refid="selectSurProjectBuildDesignDataVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectWeekData" parameterType="SurProjectBuildDesignData" resultMap="SurProjectBuildDesignDataResultNode">
|
||||||
|
<include refid="selectSurProjectBuildDesignDataVoView"/>
|
||||||
|
<if test="projectId != null "> and a.project_id = #{projectId}</if>
|
||||||
|
<if test="startDate != null "> and a.data_date >= #{startDate}</if>
|
||||||
|
<if test="endDate != null "> and a.data_date <= #{endDate}</if>
|
||||||
|
</select>
|
||||||
|
<insert id="insertSurProjectBuildDesignData" parameterType="SurProjectBuildDesignData" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into sur_project_build_design_data
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="nodeId != null">node_id,</if>
|
||||||
|
<if test="projectId != null">project_id,</if>
|
||||||
|
<if test="ownerName != null">owner_name,</if>
|
||||||
|
<if test="ownerPhone != null">owner_phone,</if>
|
||||||
|
<if test="dataDate != null">data_date,</if>
|
||||||
|
<if test="startDate != null">start_date,</if>
|
||||||
|
<if test="planStartDate != null">plan_start_date,</if>
|
||||||
|
<if test="endDate != null">end_date,</if>
|
||||||
|
<if test="planEndDate != null">plan_end_date,</if>
|
||||||
|
<if test="duration != null">duration,</if>
|
||||||
|
<if test="remainingDays != null">remaining_days,</if>
|
||||||
|
<if test="status != null">status,</if>
|
||||||
|
<if test="remark != null">remark,</if>
|
||||||
|
<if test="files != null">files,</if>
|
||||||
|
<if test="work != null">work,</if>
|
||||||
|
<if test="nextWeekWork != null">next_week_work,</if>
|
||||||
|
<if test="problem != null">problem,</if>
|
||||||
|
<if test="isDel != null">is_del,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
<if test="updateInfo != null">update_info,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="nodeId != null">#{nodeId},</if>
|
||||||
|
<if test="projectId != null">#{projectId},</if>
|
||||||
|
<if test="ownerName != null">#{ownerName},</if>
|
||||||
|
<if test="ownerPhone != null">#{ownerPhone},</if>
|
||||||
|
<if test="dataDate != null">#{dataDate},</if>
|
||||||
|
<if test="startDate != null">#{startDate},</if>
|
||||||
|
<if test="planStartDate != null">#{planStartDate},</if>
|
||||||
|
<if test="endDate != null">#{endDate},</if>
|
||||||
|
<if test="planEndDate != null">#{planEndDate},</if>
|
||||||
|
<if test="duration != null">#{duration},</if>
|
||||||
|
<if test="remainingDays != null">#{remainingDays},</if>
|
||||||
|
<if test="status != null">#{status},</if>
|
||||||
|
<if test="remark != null">#{remark},</if>
|
||||||
|
<if test="files != null">#{files},</if>
|
||||||
|
<if test="work != null">#{work},</if>
|
||||||
|
<if test="nextWeekWork != null">#{nextWeekWork},</if>
|
||||||
|
<if test="problem != null">#{problem},</if>
|
||||||
|
<if test="isDel != null">#{isDel},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
<if test="updateInfo != null">#{updateInfo},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateSurProjectBuildDesignData" parameterType="SurProjectBuildDesignData">
|
||||||
|
update sur_project_build_design_data
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="nodeId != null">node_id = #{nodeId},</if>
|
||||||
|
<if test="projectId != null">project_id = #{projectId},</if>
|
||||||
|
<if test="ownerName != null">owner_name = #{ownerName},</if>
|
||||||
|
<if test="ownerPhone != null">owner_phone = #{ownerPhone},</if>
|
||||||
|
<if test="dataDate != null">data_date = #{dataDate},</if>
|
||||||
|
<if test="startDate != null">start_date = #{startDate},</if>
|
||||||
|
<if test="planStartDate != null">plan_start_date = #{planStartDate},</if>
|
||||||
|
<if test="endDate != null">end_date = #{endDate},</if>
|
||||||
|
<if test="planEndDate != null">plan_end_date = #{planEndDate},</if>
|
||||||
|
<if test="duration != null">duration = #{duration},</if>
|
||||||
|
<if test="remainingDays != null">remaining_days = #{remainingDays},</if>
|
||||||
|
<if test="status != null">status = #{status},</if>
|
||||||
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
<if test="files != null">files = #{files},</if>
|
||||||
|
<if test="work != null">work = #{work},</if>
|
||||||
|
<if test="nextWeekWork != null">next_week_work = #{nextWeekWork},</if>
|
||||||
|
<if test="problem != null">problem = #{problem},</if>
|
||||||
|
<if test="isDel != null">is_del = #{isDel},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="updateInfo != null">update_info = #{updateInfo},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteSurProjectBuildDesignDataById" parameterType="Long">
|
||||||
|
delete from sur_project_build_design_data where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteSurProjectBuildDesignDataByIds" parameterType="String">
|
||||||
|
delete from sur_project_build_design_data where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
||||||
|
|
@ -52,6 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<sql id="selectSurProjectBuildNodeDataVo">
|
<sql id="selectSurProjectBuildNodeDataVo">
|
||||||
select id, node_id, project_id, start_date, plan_start_date, end_date, plan_end_date, status, remark, files, is_del, create_by, create_time, update_by, update_time from sur_project_build_node_data
|
select id, node_id, project_id, start_date, plan_start_date, end_date, plan_end_date, status, remark, files, is_del, create_by, create_time, update_by, update_time from sur_project_build_node_data
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="selectSurProjectBuildNodeDataVoByNode">
|
<sql id="selectSurProjectBuildNodeDataVoByNode">
|
||||||
SELECT * FROM vw_sur_project_build_node_data_all
|
SELECT * FROM vw_sur_project_build_node_data_all
|
||||||
</sql>
|
</sql>
|
||||||
|
|
|
||||||
|
|
@ -182,5 +182,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<!-- 数据范围过滤 -->
|
<!-- 数据范围过滤 -->
|
||||||
${params.dataScope}
|
${params.dataScope}
|
||||||
</select>
|
</select>
|
||||||
|
<resultMap type="SysUser" id="SurProjectDesignUserinfoResult">
|
||||||
|
<id property="userId" column="user_id" />
|
||||||
|
<result property="deptId" column="dept_id" />
|
||||||
|
<result property="remark" column="dept_name" />
|
||||||
|
<result property="userName" column="user_name" />
|
||||||
|
<result property="nickName" column="nick_name" />
|
||||||
|
<result property="phonenumber" column="phonenumber" />
|
||||||
|
</resultMap>
|
||||||
|
<select id="selectDesignUsers" resultMap="SurProjectDesignUserinfoResult">
|
||||||
|
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
|
||||||
|
from sys_user u
|
||||||
|
left join sys_dept d on u.dept_id = d.dept_id
|
||||||
|
where u.del_flag = '0'
|
||||||
|
AND (u.dept_id = 101 or find_in_set(101, d.ancestors))
|
||||||
|
order by d.dept_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue