Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
Z
zlmy-cloud
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zlmy
zlmy-cloud
Commits
73f926a0
Commit
73f926a0
authored
Nov 01, 2025
by
鲁鸿波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
承包商准入修改,考试查询,监测氧气含量等
parent
75d38c26
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
1138 additions
and
69 deletions
+1138
-69
上线说明.md
zlmy-modules/zlmy-boot/doc/国产化/上线说明.md
+51
-5
TContractorAllowController.java
...tractor/manage/controller/TContractorAllowController.java
+26
-8
TContractorConditionReviewController.java
...nage/controller/TContractorConditionReviewController.java
+25
-0
TContractorDailyPlanController.java
...tor/manage/controller/TContractorDailyPlanController.java
+23
-0
TContractorConditionReview.java
...actor/manage/model/domain/TContractorConditionReview.java
+3
-0
TContractorDailyPlan.java
.../contractor/manage/model/domain/TContractorDailyPlan.java
+4
-0
ContractorSafetyBriefDto.java
...contractor/manage/model/dto/ContractorSafetyBriefDto.java
+6
-0
TContractorAllowDTO.java
...dule/contractor/manage/model/dto/TContractorAllowDTO.java
+4
-0
TContractorDailyPlanDTO.java
.../contractor/manage/model/dto/TContractorDailyPlanDTO.java
+1
-0
TContractorAllowServiceImpl.java
...ctor/manage/service/impl/TContractorAllowServiceImpl.java
+42
-15
TContractorDailyPlanServiceImpl.java
.../manage/service/impl/TContractorDailyPlanServiceImpl.java
+38
-5
TContractorSafetyBriefServiceImpl.java
...anage/service/impl/TContractorSafetyBriefServiceImpl.java
+24
-0
TContractorAccessLogApprovalController.java
...rd/controller/TContractorAccessLogApprovalController.java
+4
-4
THazardWorkPlanMonitoringRecordController.java
...controller/THazardWorkPlanMonitoringRecordController.java
+52
-0
TContractorAccessLogApprovalDao.java
...or/module/hazard/dao/TContractorAccessLogApprovalDao.java
+9
-0
THazardWorkPlanMonitoringRecordDao.java
...module/hazard/dao/THazardWorkPlanMonitoringRecordDao.java
+40
-0
THazardWorkPlanMonitoringRecordProjectDao.java
...hazard/dao/THazardWorkPlanMonitoringRecordProjectDao.java
+45
-0
THazardWorkPlanMonitoringRecord.java
.../hazard/model/domain/THazardWorkPlanMonitoringRecord.java
+110
-0
THazardWorkPlanMonitoringRecordProject.java
.../model/domain/THazardWorkPlanMonitoringRecordProject.java
+73
-0
TContractorAccessLogApprovalParam.java
...e/hazard/model/dto/TContractorAccessLogApprovalParam.java
+5
-0
THazardWorkPlanDelParam.java
...stor/module/hazard/model/dto/THazardWorkPlanDelParam.java
+1
-0
THazardWorkPlanMonitoringRecordParam.java
...azard/model/dto/THazardWorkPlanMonitoringRecordParam.java
+28
-0
TContractorAccessLogApprovalService.java
...e/hazard/service/TContractorAccessLogApprovalService.java
+1
-1
THazardWorkPlanMonitoringRecordProjectService.java
...ervice/THazardWorkPlanMonitoringRecordProjectService.java
+8
-0
THazardWorkPlanMonitoringRecordService.java
...azard/service/THazardWorkPlanMonitoringRecordService.java
+30
-0
TContractorAccessLogApprovalServiceImpl.java
...service/impl/TContractorAccessLogApprovalServiceImpl.java
+2
-2
THazardWorkPlanMonitoringRecordProjectServiceImpl.java
...pl/THazardWorkPlanMonitoringRecordProjectServiceImpl.java
+14
-0
THazardWorkPlanMonitoringRecordServiceImpl.java
...vice/impl/THazardWorkPlanMonitoringRecordServiceImpl.java
+66
-0
SysUserDao.java
...t/src/main/java/com/testor/module/iam/dao/SysUserDao.java
+19
-4
SysUserService.java
...in/java/com/testor/module/iam/service/SysUserService.java
+18
-5
SysUserServiceImpl.java
...om/testor/module/iam/service/impl/SysUserServiceImpl.java
+85
-3
TTrainExaminationManageController.java
...nManage/controller/TTrainExaminationManageController.java
+9
-0
TTrainExaminationManageService.java
...inationManage/service/TTrainExaminationManageService.java
+2
-0
TTrainExaminationManageServiceImpl.java
...nage/service/impl/TTrainExaminationManageServiceImpl.java
+22
-0
TTrainMyManagementService.java
...train/myManagement/service/TTrainMyManagementService.java
+3
-0
TTrainMyManagementServiceImpl.java
...anagement/service/impl/TTrainMyManagementServiceImpl.java
+12
-0
TContractorAccessLogApprovalDao.xml
...sources/mapper/hazard/TContractorAccessLogApprovalDao.xml
+5
-0
THazardWorkPlanMonitoringRecordDao.xml
...rces/mapper/hazard/THazardWorkPlanMonitoringRecordDao.xml
+84
-0
THazardWorkPlanMonitoringRecordProjectDao.xml
...pper/hazard/THazardWorkPlanMonitoringRecordProjectDao.xml
+84
-0
SysUserDao.xml
...es/zlmy-boot/src/main/resources/mapper/iam/SysUserDao.xml
+60
-17
No files found.
zlmy-modules/zlmy-boot/doc/国产化/上线说明.md
View file @
73f926a0
...
...
@@ -134,8 +134,10 @@ INSERT INTO "public"."t_sys_config" ("config_id", "config_name", "config_key", "
# 20251106上线需求
t_contractor_access_log
t_contractor_access_log_approval
t_hazard_work_plan_monitoring_record
t_hazard_work_plan_monitoring_record_project
ALTER TABLE t_contractor_person ADD COLUMN contract_period varchar(200) NULL; -- 合同期限
COMMENT ON COLUMN public.t_contractor_person.contract_period IS '合同期限';
...
...
@@ -143,7 +145,6 @@ COMMENT ON COLUMN public.t_contractor_person.contract_period IS '合同期限';
-- public.t_contractor_access_log definition
-- Drop table
...
...
@@ -286,4 +287,49 @@ COMMENT ON COLUMN public.t_contractor_access_log_approval."type" IS '修改项(1
COMMENT ON COLUMN public.t_contractor_access_log_approval.contractor_allow_id IS '准入管理对象ID';
-- public.t_contractor_access_log_approval foreign keys
\ No newline at end of file
-- public.t_contractor_access_log_approval foreign keys
CREATE TABLE public.t_hazard_work_plan_monitoring_record (
id varchar(64) NOT NULL,
plan_id varchar(64) NULL,
detection_position varchar(500) NULL,
conclusion varchar(500) NULL,
scene_photo varchar(500) NULL,
status varchar(1) NULL DEFAULT '0'::varchar,
inspector_signature varchar(500) NULL,
inspector_time timestamp,
create_by varchar(64) NULL,
create_date sys."timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_by varchar(64) NULL,
update_date sys."timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE public.t_contractor_access_log_approval IS '危险作业监测记录表';
-- Column comments
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.id IS '主键ID';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.plan_id IS '危险作业id';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.detection_position IS '检测位置';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.conclusion IS '结论';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.scene_photo IS '现场照片';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.inspector_signature IS '检测人签字';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record.inspector_time IS '检测时间';
CREATE TABLE public.t_hazard_work_plan_monitoring_record_project (
id varchar(64) NOT NULL,
project_name varchar(200) NULL,
project_value varchar(500) NULL,
hazard_work_plan_monitoring_record_id varchar(64) NULL,
status varchar(1) NULL DEFAULT '0'::varchar,
create_by varchar(64) NULL,
create_date sys."timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_by varchar(64) NULL,
update_date sys."timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE public.t_hazard_work_plan_monitoring_record_project IS '危险作业监测记录项目表';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record_project.project_name IS '项目名称';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record_project.project_value IS '项目值';
COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record_project.hazard_work_plan_monitoring_record_id IS '危险作业监测记录表id';
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/controller/TContractorAllowController.java
View file @
73f926a0
...
...
@@ -14,21 +14,17 @@ import java.util.List;
import
java.util.Random
;
import
java.util.stream.Collectors
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.testor.common.constant.StatusEnum
;
import
com.testor.common.core.domain.R
;
import
com.testor.common.util.BeanConverUtil
;
import
com.testor.module.contractor.ledger.model.domain.TContractorMaterial
;
import
com.testor.module.contractor.ledger.model.domain.TContractorPerson
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProtectiveEquipment
;
import
com.testor.module.contractor.ledger.model.domain.TContractorTools
;
import
com.testor.module.contractor.ledger.model.domain.*
;
import
com.testor.module.contractor.ledger.model.dto.TContractorMaterialParam
;
import
com.testor.module.contractor.ledger.model.dto.TContractorPersonParam
;
import
com.testor.module.contractor.ledger.model.dto.TContractorProtectiveEquipmentParam
;
import
com.testor.module.contractor.ledger.model.dto.TContractorToolsParam
;
import
com.testor.module.contractor.ledger.service.TContractorMaterialService
;
import
com.testor.module.contractor.ledger.service.TContractorPersonService
;
import
com.testor.module.contractor.ledger.service.TContractorProtectiveEquipmentService
;
import
com.testor.module.contractor.ledger.service.TContractorToolsService
;
import
com.testor.module.contractor.ledger.service.*
;
import
com.testor.module.contractor.manage.model.domain.TContractorAllowPerson
;
import
com.testor.module.contractor.manage.model.dto.*
;
import
com.testor.module.contractor.manage.service.*
;
...
...
@@ -92,6 +88,9 @@ public class TContractorAllowController extends SuperController
@Autowired
private
TContractorToolsService
tContractorToolsService
;
@Autowired
private
TContractorProjectService
tContractorProjectService
;
/* Generated Method*/
@ApiOperation
(
value
=
"新增 准入管理"
,
notes
=
"Add TContractorAllow"
)
@PostMapping
(
value
=
"/add"
)
...
...
@@ -170,6 +169,25 @@ public class TContractorAllowController extends SuperController
tContractorAllowDTO
.
setTContractorTools
(
tContractorToolsList
);
tContractorAllowDTO
.
setToolsIds
(
toolIdsByAllowId
);
}
if
(
null
!=
tContractorAllowDTO
){
if
(
tContractorAllowDTO
.
getProjId
()
!=
null
)
{
List
<
TContractorProject
>
contractorProject
=
tContractorProjectService
.
list
(
new
LambdaQueryWrapper
<
TContractorProject
>()
.
eq
(
TContractorProject:
:
getId
,
tContractorAllowDTO
.
getProjId
()));
if
(
contractorProject
!=
null
&&
!
contractorProject
.
isEmpty
())
{
// 使用Stream API提取项目名称并用逗号拼接
String
projectNames
=
contractorProject
.
stream
()
.
map
(
TContractorProject:
:
getName
)
// 假设TContractorProject有getName方法
.
filter
(
StringUtils:
:
isNotBlank
)
// 过滤掉空值
.
collect
(
Collectors
.
joining
(
","
));
// 用逗号拼接
// 将拼接后的项目名称设置到DTO中
tContractorAllowDTO
.
setTcontractorProjectName
(
projectNames
);
}
}
}
baseResponse
.
setData
(
tContractorAllowDTO
);
}
return
baseResponse
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/controller/TContractorConditionReviewController.java
View file @
73f926a0
package
com
.
testor
.
module
.
contractor
.
manage
.
controller
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.testor.module.contractor.common.model.constant.ContractorProcessStatus
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProject
;
import
com.testor.module.contractor.ledger.service.TContractorProjectService
;
import
com.testor.module.contractor.manage.model.domain.TContractorConditionReview
;
import
com.testor.module.contractor.manage.model.dto.ContractorConditionReviewDto
;
import
com.testor.module.contractor.manage.model.dto.TContractorConditionReviewDelParam
;
...
...
@@ -32,6 +36,7 @@ import org.springframework.web.bind.annotation.*;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 承包商管理-条件审查Controller
...
...
@@ -57,6 +62,9 @@ public class TContractorConditionReviewController extends SuperController
@Autowired
private
WfTaskController
wfTaskController
;
@Autowired
private
TContractorProjectService
tContractorProjectService
;
/* Generated Method*/
@ApiOperation
(
value
=
"新增 承包商管理-条件审查"
,
notes
=
"Add TContractorConditionReview"
)
@PostMapping
(
value
=
"/add"
)
...
...
@@ -85,6 +93,23 @@ public class TContractorConditionReviewController extends SuperController
if
(
StringHelper
.
isNotEmpty
(
id
)){
// TODO 按需求添加业务异常判断
TContractorConditionReview
data
=
tContractorConditionReviewService
.
getById
(
id
);
if
(
null
!=
data
){
if
(
data
.
getProjId
()
!=
null
)
{
List
<
TContractorProject
>
contractorProject
=
tContractorProjectService
.
list
(
new
LambdaQueryWrapper
<
TContractorProject
>()
.
eq
(
TContractorProject:
:
getId
,
data
.
getProjId
()));
if
(
contractorProject
!=
null
&&
!
contractorProject
.
isEmpty
())
{
// 使用Stream API提取项目名称并用逗号拼接
String
projectNames
=
contractorProject
.
stream
()
.
map
(
TContractorProject:
:
getName
)
// 假设TContractorProject有getName方法
.
filter
(
StringUtils:
:
isNotBlank
)
// 过滤掉空值
.
collect
(
Collectors
.
joining
(
","
));
// 用逗号拼接
// 将拼接后的项目名称设置到DTO中
data
.
setTcontractorProjectName
(
projectNames
);
}
}
}
baseResponse
.
setData
(
data
);
}
return
baseResponse
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/controller/TContractorDailyPlanController.java
View file @
73f926a0
...
...
@@ -6,11 +6,14 @@ import java.util.List;
import
java.util.stream.Collectors
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.testor.common.constant.StatusEnum
;
import
com.testor.common.util.BeanConverUtil
;
import
com.testor.module.contractor.enums.DailyPlanContentEnum
;
import
com.testor.module.contractor.enums.DailyPlanStatusEnum
;
import
com.testor.module.contractor.enums.DailyPlanStopRestartWorkEnum
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProject
;
import
com.testor.module.contractor.ledger.service.TContractorProjectService
;
import
com.testor.module.contractor.manage.model.domain.TContractorDailyPlanChange
;
import
com.testor.module.contractor.manage.model.domain.TContractorDailyPlanContent
;
import
com.testor.module.contractor.manage.model.domain.TContractorDailyPlanStopRestartWork
;
...
...
@@ -65,6 +68,9 @@ public class TContractorDailyPlanController extends SuperController
@Autowired
private
TContractorDailyPlanService
tContractorDailyPlanService
;
@Autowired
private
TContractorProjectService
tContractorProjectService
;
/* Generated Method*/
@ApiOperation
(
value
=
"新增 日常管理-每日工作计划"
,
notes
=
"Add TContractorDailyPlan"
)
@PostMapping
(
value
=
"/add"
)
...
...
@@ -83,6 +89,23 @@ public class TContractorDailyPlanController extends SuperController
BaseResponse
<
TContractorDailyPlan
>
baseResponse
=
new
BaseResponse
<>();
if
(
StringHelper
.
isNotEmpty
(
id
)){
TContractorDailyPlanDTO
tContractorDailyPlanDTO
=
tContractorDailyPlanService
.
getDetails
(
id
);
if
(
null
!=
tContractorDailyPlanDTO
){
if
(
tContractorDailyPlanDTO
.
getProjId
()
!=
null
)
{
List
<
TContractorProject
>
contractorProject
=
tContractorProjectService
.
list
(
new
LambdaQueryWrapper
<
TContractorProject
>()
.
eq
(
TContractorProject:
:
getId
,
tContractorDailyPlanDTO
.
getProjId
()));
if
(
contractorProject
!=
null
&&
!
contractorProject
.
isEmpty
())
{
// 使用Stream API提取项目名称并用逗号拼接
String
projectNames
=
contractorProject
.
stream
()
.
map
(
TContractorProject:
:
getName
)
// 假设TContractorProject有getName方法
.
filter
(
StringUtils:
:
isNotBlank
)
// 过滤掉空值
.
collect
(
Collectors
.
joining
(
","
));
// 用逗号拼接
// 将拼接后的项目名称设置到DTO中
tContractorDailyPlanDTO
.
setTcontractorProjectName
(
projectNames
);
}
}
}
baseResponse
.
setData
(
tContractorDailyPlanDTO
);
}
return
baseResponse
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/model/domain/TContractorConditionReview.java
View file @
73f926a0
...
...
@@ -94,6 +94,9 @@ public class TContractorConditionReview extends SuperModel
@TableField
(
"reject_opinion"
)
private
String
rejectOpinion
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
exist
=
false
)
private
String
tcontractorProjectName
;
public
static
final
String
ID
=
"id"
;
public
static
final
String
CONTRACTOR_ID
=
"contractor_id"
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/model/domain/TContractorDailyPlan.java
View file @
73f926a0
...
...
@@ -220,6 +220,10 @@ public class TContractorDailyPlan extends SuperModel
@Translation
(
other
=
"0=--,1=作业中,2=作业关闭,3=暂停,4=停工,5=取消"
,
mapper
=
"workStatus"
)
private
String
workStatusName
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
exist
=
false
)
private
String
tcontractorProjectName
;
public
static
final
String
ID
=
"id"
;
public
static
final
String
CONTRACTOR_ID
=
"contractor_id"
;
public
static
final
String
PROJ_ID
=
"proj_id"
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/model/dto/ContractorSafetyBriefDto.java
View file @
73f926a0
package
com
.
testor
.
module
.
contractor
.
manage
.
model
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProject
;
import
com.testor.module.contractor.ledger.model.dto.TContractorLedgerDto
;
import
com.testor.module.contractor.manage.model.domain.TContractorSafetyBrief
;
import
com.testor.module.contractor.manage.model.domain.TContractorSafetyBriefDetail
;
...
...
@@ -21,4 +23,8 @@ public class ContractorSafetyBriefDto extends TContractorSafetyBrief {
@ApiModelProperty
(
value
=
"承包商台账信息"
)
private
TContractorLedgerDto
contractorLedgerDto
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
exist
=
false
)
private
String
tcontractorProjectName
;
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/model/dto/TContractorAllowDTO.java
View file @
73f926a0
package
com
.
testor
.
module
.
contractor
.
manage
.
model
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.testor.module.contractor.ledger.model.domain.TContractorMaterial
;
import
com.testor.module.contractor.ledger.model.domain.TContractorPerson
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProtectiveEquipment
;
...
...
@@ -59,5 +60,8 @@ public class TContractorAllowDTO extends TContractorAllow {
@ApiModelProperty
(
"是否需要审批(1:可以审批,0:不需要审批)"
)
private
String
approval
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
exist
=
false
)
private
String
tcontractorProjectName
;
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/model/dto/TContractorDailyPlanDTO.java
View file @
73f926a0
...
...
@@ -3,6 +3,7 @@ package com.testor.module.contractor.manage.model.dto;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.testor.common.annotation.Translation
;
import
com.testor.common.constant.TransConstant
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProject
;
import
com.testor.module.contractor.manage.model.domain.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/service/impl/TContractorAllowServiceImpl.java
View file @
73f926a0
...
...
@@ -79,27 +79,54 @@ public class TContractorAllowServiceImpl extends SuperServiceImpl<TContractorAll
// TODO 根据需求修改查询条件及查询参数
Page
<
TContractorAllowDTO
>
tContractorAllowDTOPage
=
tContractorAllowDao
.
pageList
(
resultPage
,
param
);
//自己创建的+状态已通过+没有进行中的修改记录=可以修改
//自己创建的+状态已通过+有进行中的修改记录=不能修改
//自己创建的+状态未通过+没有进行中的修改记录=不能修改
//自己创建的+状态未通过+有进行中的修改记录=不能修改
//不是自己创建的+状态已通过+没有进行中的修改记录=不能修改
//不是自己创建的+状态已通过+有进行中的修改记录=不能修改
//不是自己创建的+状态未通过+没有进行中的修改记录=不能修改
//不是自己创建的+状态未通过+有进行中的修改记录=不能修改
for
(
TContractorAllowDTO
tContractorAllowDTO:
tContractorAllowDTOPage
.
getRecords
()){
if
(
param
.
getCreateBy
()!=
null
){
tContractorAllowDTO
.
setApproval
(
param
.
getCreateBy
().
equals
(
tContractorAllowDTO
.
getCreateBy
())?
Constants
.
APPROVAL_STATUS_ONE
:
Constants
.
APPROVAL_STATUS_ZERO
);
List
<
TContractorAccessLogApproval
>
tContractorAccessLogApprovals
=
contractorAccessLogApprovalDao
.
selectByContractorAllowIdAndCreateBy
(
tContractorAllowDTO
.
getId
(),
param
.
getCreateBy
());
if
(
CollectionUtils
.
isNotEmpty
(
tContractorAccessLogApprovals
)
&&
tContractorAllowDTO
.
getProcessStatus
().
equals
(
ContractorProcessStatus
.
APPROVED
.
getDescription
())){
//上一次的状态已通过
if
(
contractorAccessLogApprovalDao
.
selectCountByContractorAllowIdAndApprovalStatus
(
tContractorAllowDTO
.
getId
(),
ContractorProcessStatus
.
UNDER_REVIEW
.
getValue
())>
0
){
//有审批中记录
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ONE
);
tContractorAllowDTO
.
setModify
(
Constants
.
MODIFY_STATUS_ZERO
);
}
else
{
if
(
param
.
getCreateBy
()
!=
null
)
{
// 初始设置:如果是自己创建的,有审批权限
tContractorAllowDTO
.
setApproval
(
param
.
getCreateBy
().
equals
(
tContractorAllowDTO
.
getCreateBy
())
?
Constants
.
APPROVAL_STATUS_ONE
:
Constants
.
APPROVAL_STATUS_ZERO
);
// 如果记录状态是"已通过"
if
(
null
!=
tContractorAllowDTO
.
getProcessStatus
()){
if
(
tContractorAllowDTO
.
getProcessStatus
().
equals
(
ContractorProcessStatus
.
APPROVED
.
getValue
()))
{
// 检查是否有进行中的审批记录
if
(
contractorAccessLogApprovalDao
.
selectCountByContractorAllowIdAndApprovalStatus
(
tContractorAllowDTO
.
getId
(),
ContractorProcessStatus
.
UNDER_REVIEW
.
getValue
())
>
0
)
{
// 有进行中的审批记录:有审批权限,但不能修改
List
<
TContractorAccessLogApproval
>
tContractorAccessLogApprovals
=
contractorAccessLogApprovalDao
.
selectByContractorAllowIdAndNameBy
(
tContractorAllowDTO
.
getId
(),
param
.
getCreateBy
());
if
(
tContractorAccessLogApprovals
.
size
()
>
0
){
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ONE
);
}
else
{
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ZERO
);
}
tContractorAllowDTO
.
setModify
(
Constants
.
MODIFY_STATUS_ZERO
);
}
else
{
// 没有进行中的审批记录:无审批权限,但如果是自己创建的可以修改
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ZERO
);
tContractorAllowDTO
.
setModify
(
param
.
getCreateBy
().
equals
(
tContractorAllowDTO
.
getCreateBy
())
?
Constants
.
MODIFY_STATUS_ONE
:
Constants
.
MODIFY_STATUS_ZERO
);
}
}
else
{
// 记录状态不是"已通过":无审批权限,无修改权限
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ZERO
);
tContractorAllowDTO
.
setModify
(
Constants
.
MODIFY_STATUS_
ONE
);
tContractorAllowDTO
.
setModify
(
Constants
.
MODIFY_STATUS_
ZERO
);
}
}
else
{
}
else
{
// 记录状态不是"已通过":无审批权限,无修改权限
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ZERO
);
tContractorAllowDTO
.
setModify
(
Constants
.
MODIFY_STATUS_ZERO
);
}
}
else
{
tContractorAllowDTO
.
setApproval
(
Constants
.
APPROVAL_STATUS_ZERO
);
tContractorAllowDTO
.
setModify
(
Constants
.
APPROVAL_STATUS_ZERO
);
}
}
return
tContractorAllowDTOPage
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/service/impl/TContractorDailyPlanServiceImpl.java
View file @
73f926a0
...
...
@@ -7,9 +7,11 @@ import com.testor.common.util.BeanConverUtil;
import
com.testor.module.contractor.common.model.constant.ContractorProcessStatus
;
import
com.testor.module.contractor.enums.*
;
import
com.testor.module.contractor.ledger.model.domain.TContractorMaterial
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProject
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProtectiveEquipment
;
import
com.testor.module.contractor.ledger.model.domain.TContractorTools
;
import
com.testor.module.contractor.ledger.service.TContractorMaterialService
;
import
com.testor.module.contractor.ledger.service.TContractorProjectService
;
import
com.testor.module.contractor.ledger.service.TContractorProtectiveEquipmentService
;
import
com.testor.module.contractor.ledger.service.TContractorToolsService
;
import
com.testor.module.contractor.manage.dao.TContractorDailyPlanDao
;
...
...
@@ -81,6 +83,9 @@ public class TContractorDailyPlanServiceImpl extends SuperServiceImpl<TContracto
@Autowired
private
TContractorToolsService
tContractorToolsService
;
@Autowired
private
TContractorProjectService
tContractorProjectService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
TContractorDailyPlan
addEntity
(
TContractorDailyPlanDTO
addRequest
)
{
...
...
@@ -237,6 +242,22 @@ public class TContractorDailyPlanServiceImpl extends SuperServiceImpl<TContracto
loadTools
(
tContractorDailyPlanDTO
,
id
);
loadMaterials
(
tContractorDailyPlanDTO
,
id
);
if
(
null
!=
tContractorDailyPlanDTO
){
if
(
tContractorDailyPlanDTO
.
getProjId
()
!=
null
)
{
List
<
TContractorProject
>
contractorProject
=
tContractorProjectService
.
list
(
new
LambdaQueryWrapper
<
TContractorProject
>()
.
eq
(
TContractorProject:
:
getId
,
tContractorDailyPlanDTO
.
getProjId
()));
if
(
contractorProject
!=
null
&&
!
contractorProject
.
isEmpty
())
{
// 使用Stream API提取项目名称并用逗号拼接
String
projectNames
=
contractorProject
.
stream
()
.
map
(
TContractorProject:
:
getName
)
// 假设TContractorProject有getName方法
.
filter
(
StringUtils:
:
isNotBlank
)
// 过滤掉空值
.
collect
(
Collectors
.
joining
(
","
));
// 用逗号拼接
// 将拼接后的项目名称设置到DTO中
tContractorDailyPlanDTO
.
setTcontractorProjectName
(
projectNames
);
}
}
}
return
tContractorDailyPlanDTO
;
}
...
...
@@ -244,33 +265,45 @@ public class TContractorDailyPlanServiceImpl extends SuperServiceImpl<TContracto
private
void
loadSpecialOperationsManagement
(
TContractorDailyPlanDTO
dto
,
String
id
)
{
List
<
TContractorDailyPlanContent
>
specialOperationsManagementList
=
tContractorDailyPlanContentService
.
getByIdAndType
(
id
,
DailyPlanContentEnum
.
SPECIAL_WORK_MANAGEMENT
.
getValue
());
dto
.
setSpecialOperationsManagementList
(
specialOperationsManagementList
);
if
(
null
!=
specialOperationsManagementList
&&
specialOperationsManagementList
.
size
()
>
0
){
dto
.
setSpecialOperationsManagementList
(
specialOperationsManagementList
);
}
}
// 加载安全科技管理
private
void
loadSafetyTechnologyManagement
(
TContractorDailyPlanDTO
dto
,
String
id
)
{
List
<
TContractorDailyPlanContent
>
safetyTechnologyManagement
=
tContractorDailyPlanContentService
.
getByIdAndType
(
id
,
DailyPlanContentEnum
.
PENDING_SUBMISSION
.
getValue
());
dto
.
setSafetyTechnologyManagement
(
safetyTechnologyManagement
);
if
(
null
!=
safetyTechnologyManagement
&&
safetyTechnologyManagement
.
size
()
>
0
){
dto
.
setSafetyTechnologyManagement
(
safetyTechnologyManagement
);
}
}
// 加载计划变更和工作停复工信息
private
void
loadPlanChangeInfo
(
TContractorDailyPlanDTO
dto
,
String
id
)
{
TContractorDailyPlanChange
tContractorDailyPlanChange
=
tContractorDailyPlanChangeService
.
getByPlanId
(
id
);
dto
.
setTContractorDailyPlanChange
(
tContractorDailyPlanChange
);
if
(
null
!=
tContractorDailyPlanChange
){
dto
.
setTContractorDailyPlanChange
(
tContractorDailyPlanChange
);
}
TContractorDailyPlanStopRestartWork
dailyPlanStopWork
=
tContractorDailyPlanStopRestartWorkService
.
getOne
(
new
LambdaQueryWrapper
<
TContractorDailyPlanStopRestartWork
>()
.
eq
(
TContractorDailyPlanStopRestartWork:
:
getPlanId
,
id
)
.
eq
(
TContractorDailyPlanStopRestartWork:
:
getType
,
DailyPlanStopRestartWorkEnum
.
STOPPAGES
.
getValue
()));
dto
.
setTContractorDailyPlanStopWork
(
dailyPlanStopWork
);
if
(
null
!=
dailyPlanStopWork
){
dto
.
setTContractorDailyPlanStopWork
(
dailyPlanStopWork
);
}
TContractorDailyPlanStopRestartWork
dailyPlanRestartWork
=
tContractorDailyPlanStopRestartWorkService
.
getOne
(
new
LambdaQueryWrapper
<
TContractorDailyPlanStopRestartWork
>()
.
eq
(
TContractorDailyPlanStopRestartWork:
:
getPlanId
,
id
)
.
eq
(
TContractorDailyPlanStopRestartWork:
:
getType
,
DailyPlanStopRestartWorkEnum
.
RETURN_TO_WORK
.
getValue
()));
dto
.
setTContractorDailyPlanRestartWork
(
dailyPlanRestartWork
);
if
(
null
!=
dailyPlanRestartWork
){
dto
.
setTContractorDailyPlanRestartWork
(
dailyPlanRestartWork
);
}
}
// 加载防护设备并拼接
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/contractor/manage/service/impl/TContractorSafetyBriefServiceImpl.java
View file @
73f926a0
package
com
.
testor
.
module
.
contractor
.
manage
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.testor.biz.file.model.dto.FileAjaxDTO
;
...
...
@@ -14,10 +15,12 @@ import com.testor.module.contractor.enums.ContractorFlowTypeEnum;
import
com.testor.module.contractor.enums.GeneralStatusEnum
;
import
com.testor.module.contractor.enums.SafetyBriefContentEnum
;
import
com.testor.module.contractor.ledger.model.domain.TContractorPerson
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProject
;
import
com.testor.module.contractor.ledger.model.domain.TContractorProtectiveEquipment
;
import
com.testor.module.contractor.ledger.model.dto.TContractorPersonParam
;
import
com.testor.module.contractor.ledger.model.dto.TContractorProtectiveEquipmentParam
;
import
com.testor.module.contractor.ledger.service.TContractorPersonService
;
import
com.testor.module.contractor.ledger.service.TContractorProjectService
;
import
com.testor.module.contractor.ledger.service.TContractorProtectiveEquipmentService
;
import
com.testor.module.contractor.manage.dao.TContractorSafetyBriefDao
;
import
com.testor.module.contractor.manage.model.domain.*
;
...
...
@@ -94,6 +97,9 @@ public class TContractorSafetyBriefServiceImpl extends SuperServiceImpl<TContrac
@Autowired
private
FileController
fileController
;
@Autowired
private
TContractorProjectService
tContractorProjectService
;
@Override
public
Page
<
ContractorSafetyBriefDto
>
pageList
(
TContractorSafetyBriefParam
param
)
{
Long
page
=
...
...
@@ -113,6 +119,24 @@ public class TContractorSafetyBriefServiceImpl extends SuperServiceImpl<TContrac
List
<
TContractorSafetyBriefDetail
>
detailList
=
tContractorSafetyBriefDetailService
.
list
(
new
QueryWrapper
<
TContractorSafetyBriefDetail
>().
eq
(
TContractorSafetyBriefDetail
.
BRIEF_ID
,
id
).
orderByAsc
(
TContractorSafetyBriefDetail
.
TREE_SORT
));
dto
.
setBriefDetailList
(
detailList
);
if
(
null
!=
dto
){
if
(
dto
.
getProjId
()
!=
null
)
{
List
<
TContractorProject
>
contractorProject
=
tContractorProjectService
.
list
(
new
LambdaQueryWrapper
<
TContractorProject
>()
.
eq
(
TContractorProject:
:
getId
,
dto
.
getProjId
()));
if
(
contractorProject
!=
null
&&
!
contractorProject
.
isEmpty
())
{
// 使用Stream API提取项目名称并用逗号拼接
String
projectNames
=
contractorProject
.
stream
()
.
map
(
TContractorProject:
:
getName
)
// 假设TContractorProject有getName方法
.
filter
(
StringUtils:
:
isNotBlank
)
// 过滤掉空值
.
collect
(
Collectors
.
joining
(
","
));
// 用逗号拼接
// 将拼接后的项目名称设置到DTO中
dto
.
setTcontractorProjectName
(
projectNames
);
}
}
}
return
dto
;
}
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/controller/TContractorAccessLogApprovalController.java
View file @
73f926a0
...
...
@@ -60,7 +60,7 @@ public class TContractorAccessLogApprovalController extends SuperController {
@GetMapping
(
value
=
"/selectUserIdsByOrgId"
)
public
BaseResponse
<
List
<
SysUser
>>
selectUserIdsByOrgId
(
@RequestParam
(
"orgId"
)
String
orgId
){
BaseResponse
<
List
<
SysUser
>>
baseResponse
=
new
BaseResponse
<>();
List
<
SysUser
>
sysUsers
=
userService
.
selectUserIdsByOrgId
(
orgId
);
List
<
SysUser
>
sysUsers
=
userService
.
getApprovalUsers
(
orgId
);
baseResponse
.
setData
(
sysUsers
);
return
baseResponse
;
}
...
...
@@ -77,10 +77,10 @@ public class TContractorAccessLogApprovalController extends SuperController {
@ApiOperation
(
value
=
"批量更新审批状态"
,
notes
=
"List THazardWorkPlan with page"
)
@
GetMapping
(
value
=
"/批量更新审批状态
"
)
public
BaseResponse
<
Integer
>
updateApprovalStatus
(
@Request
Param
(
"ids"
)
List
<
String
>
ids
,
@RequestParam
(
"approvalStatus"
)
String
approvalStatus
){
@
PostMapping
(
value
=
"/updateApprovalStatus
"
)
public
BaseResponse
<
Integer
>
updateApprovalStatus
(
@Request
Body
TContractorAccessLogApprovalParam
param
){
BaseResponse
<
Integer
>
baseResponse
=
new
BaseResponse
<>();
int
count
=
tContractorAccessLogApprovalService
.
updateApprovalStatus
(
ids
,
approvalStatus
);
int
count
=
tContractorAccessLogApprovalService
.
updateApprovalStatus
(
param
);
baseResponse
.
setData
(
count
);
return
baseResponse
;
}
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/controller/THazardWorkPlanMonitoringRecordController.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.testor.module.hazard.model.domain.TContractorAccessLogApproval
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord
;
import
com.testor.module.hazard.model.dto.TContractorAccessLogApprovalParam
;
import
com.testor.module.hazard.model.dto.THazardWorkPlanMonitoringRecordParam
;
import
com.testor.module.hazard.service.THazardWorkPlanMonitoringRecordService
;
import
com.tongtech.tfw.backend.common.biz.models.BaseResponse
;
import
com.tongtech.tfw.backend.common.biz.models.BaseResponseList
;
import
com.tongtech.tfw.backend.core.helper.ObjectHelper
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/hazard/hazardWorkPlanMonitoringRecord"
)
@Api
(
value
=
"THazardWorkPlanMonitoringRecordController"
,
tags
=
"危险作业计划监控记录"
)
@Slf4j
public
class
THazardWorkPlanMonitoringRecordController
{
@Autowired
private
THazardWorkPlanMonitoringRecordService
tHazardWorkPlanMonitoringRecordService
;
@ApiOperation
(
value
=
"获取 危险作业计划监控记录 分页列表"
,
notes
=
"List THazardWorkPlanMonitoringRecord with page"
)
@GetMapping
(
value
=
"/list"
)
public
BaseResponse
<
BaseResponseList
<
THazardWorkPlanMonitoringRecord
>>
listEntity
(
THazardWorkPlanMonitoringRecordParam
param
){
BaseResponse
<
BaseResponseList
<
THazardWorkPlanMonitoringRecord
>>
baseResponse
=
new
BaseResponse
<>();
Page
<
THazardWorkPlanMonitoringRecord
>
THazardWorkPlanMonitoringRecord
=
tHazardWorkPlanMonitoringRecordService
.
selectPage
(
param
);
BaseResponseList
<
THazardWorkPlanMonitoringRecord
>
baseResponseList
=
new
BaseResponseList
<>();
baseResponseList
.
setData
(
THazardWorkPlanMonitoringRecord
.
getRecords
());
baseResponseList
.
setTotal
(
THazardWorkPlanMonitoringRecord
.
getTotal
());
baseResponse
.
setData
(
baseResponseList
);
return
baseResponse
;
}
@ApiOperation
(
value
=
"新增 危险作业计划监控记录"
,
notes
=
"Add THazardWorkPlanMonitoringRecord"
)
@PostMapping
(
value
=
"/add"
)
public
BaseResponse
<
THazardWorkPlanMonitoringRecord
>
addEntity
(
@RequestBody
THazardWorkPlanMonitoringRecord
addRequest
)
{
BaseResponse
<
THazardWorkPlanMonitoringRecord
>
baseResponse
=
new
BaseResponse
<>();
if
(
ObjectHelper
.
isNotEmpty
(
addRequest
)){
tHazardWorkPlanMonitoringRecordService
.
insertContractorAccessLogApproval
(
addRequest
);
}
return
baseResponse
;
}
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/dao/TContractorAccessLogApprovalDao.java
View file @
73f926a0
...
...
@@ -29,6 +29,15 @@ public interface TContractorAccessLogApprovalDao extends BaseMapper<TContractorA
*/
List
<
TContractorAccessLogApproval
>
selectByContractorAllowIdAndCreateBy
(
@Param
(
"contractorAllowId"
)
String
contractorAllowId
,
@Param
(
"createBy"
)
String
createBy
);
/**
* 根据合同准入管理ID和审批人查询审批记录
*
* @param contractorAllowId 合同准入管理ID
* @param nameBy 审批人
* @return 审批记录
*/
List
<
TContractorAccessLogApproval
>
selectByContractorAllowIdAndNameBy
(
@Param
(
"contractorAllowId"
)
String
contractorAllowId
,
@Param
(
"nameBy"
)
String
nameBy
);
/**
* 根据合同准入管理ID和审批状态查询审批记录数量
*
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/dao/THazardWorkPlanMonitoringRecordDao.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord
;
import
com.tongtech.tfw.backend.common.models.supers.SuperDao
;
import
com.tongtech.tfw.workflow.apis.task.model.dto.TodoTask
;
import
com.tongtech.tfw.workflow.apis.task.model.dto.TodoTaskSqlParam
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 危险作业监测记录Mapper接口
*
* @author testor-framework
* @date 2025-01-20
*/
public
interface
THazardWorkPlanMonitoringRecordDao
extends
SuperDao
<
THazardWorkPlanMonitoringRecord
>
{
/**
* 查询待办列表
*/
IPage
<
TodoTask
>
selectToDoList
(
Page
<
TodoTask
>
resultPage
,
@Param
(
"todo"
)
TodoTaskSqlParam
todoTaskSqlParam
);
/**
* 根据计划ID查询监测记录
*/
List
<
THazardWorkPlanMonitoringRecord
>
selectByPlanId
(
@Param
(
"planId"
)
String
planId
);
/**
* 根据计划ID列表查询监测记录
*/
List
<
THazardWorkPlanMonitoringRecord
>
selectByPlanIds
(
@Param
(
"planIds"
)
List
<
String
>
planIds
);
/**
* 批量插入监测记录
*/
int
insertBatch
(
@Param
(
"list"
)
List
<
THazardWorkPlanMonitoringRecord
>
list
);
}
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/dao/THazardWorkPlanMonitoringRecordProjectDao.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
dao
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecordProject
;
import
com.tongtech.tfw.backend.common.models.supers.SuperDao
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
/**
* 危险作业监测记录项目Mapper接口
*
* @author testor-framework
* @date 2025-01-20
*/
public
interface
THazardWorkPlanMonitoringRecordProjectDao
extends
SuperDao
<
THazardWorkPlanMonitoringRecordProject
>
{
/**
* 根据监测记录ID查询项目列表
*/
List
<
THazardWorkPlanMonitoringRecordProject
>
selectByRecordId
(
@Param
(
"recordId"
)
String
recordId
);
/**
* 根据监测记录ID列表查询项目列表
*/
List
<
THazardWorkPlanMonitoringRecordProject
>
selectByRecordIds
(
@Param
(
"recordIds"
)
List
<
String
>
recordIds
);
/**
* 批量插入监测记录项目
*/
int
insertBatch
(
@Param
(
"list"
)
List
<
THazardWorkPlanMonitoringRecordProject
>
list
);
/**
* 根据监测记录ID删除项目
*/
int
deleteByRecordId
(
@Param
(
"recordId"
)
String
recordId
);
/**
* 根据监测记录ID列表批量删除项目
*/
int
deleteByRecordIds
(
@Param
(
"recordIds"
)
List
<
String
>
recordIds
);
}
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/model/domain/THazardWorkPlanMonitoringRecord.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
model
.
domain
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.List
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.testor.common.annotation.Translation
;
import
com.testor.common.constant.TransConstant
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.SuperBuilder
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.tongtech.tfw.backend.common.models.supers.SuperModel
;
import
org.springframework.format.annotation.DateTimeFormat
;
/**
* 危险作业监测记录对象 t_hazard_work_plan_monitoring_record
*
* @author testor-framework
* @date 2025-01-20
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"t_hazard_work_plan_monitoring_record"
)
@ApiModel
(
value
=
"THazardWorkPlanMonitoringRecord对象"
,
description
=
"危险作业监测记录"
)
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public
class
THazardWorkPlanMonitoringRecord
extends
SuperModel
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键ID
*/
@ApiModelProperty
(
value
=
"主键ID"
)
@TableId
(
"id"
)
private
String
id
;
/**
* 危险作业id
*/
@ApiModelProperty
(
value
=
"危险作业id"
)
@TableField
(
"plan_id"
)
private
String
planId
;
/**
* 检测位置
*/
@ApiModelProperty
(
value
=
"检测位置"
)
@TableField
(
"detection_position"
)
private
String
detectionPosition
;
/**
* 结论
*/
@ApiModelProperty
(
value
=
"结论"
)
@TableField
(
"conclusion"
)
private
String
conclusion
;
/**
* 现场照片
*/
@ApiModelProperty
(
value
=
"现场照片"
)
@TableField
(
"scene_photo"
)
private
String
scenePhoto
;
/**
* 检测人签字
*/
@ApiModelProperty
(
value
=
"检测人签字"
)
@TableField
(
"inspector_signature"
)
private
String
inspectorSignature
;
/**
* 检测时间
*/
@ApiModelProperty
(
value
=
"检测时间"
)
@TableField
(
"inspector_time"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
inspectorTime
;
/**
* 监测项目列表(非数据库字段)
*/
@ApiModelProperty
(
value
=
"监测项目列表"
)
@TableField
(
exist
=
false
)
private
List
<
THazardWorkPlanMonitoringRecordProject
>
projectList
;
// 常量定义
public
static
final
String
ID
=
"id"
;
public
static
final
String
PLAN_ID
=
"plan_id"
;
public
static
final
String
DETECTION_POSITION
=
"detection_position"
;
public
static
final
String
CONCLUSION
=
"conclusion"
;
public
static
final
String
SCENE_PHOTO
=
"scene_photo"
;
public
static
final
String
STATUS
=
"status"
;
public
static
final
String
INSPECTOR_SIGNATURE
=
"inspector_signature"
;
public
static
final
String
INSPECTOR_TIME
=
"inspector_time"
;
}
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/model/domain/THazardWorkPlanMonitoringRecordProject.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
model
.
domain
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.SuperBuilder
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.tongtech.tfw.backend.common.models.supers.SuperModel
;
import
org.springframework.format.annotation.DateTimeFormat
;
/**
* 危险作业监测记录项目对象 t_hazard_work_plan_monitoring_record_project
*
* @author testor-framework
* @date 2025-01-20
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"t_hazard_work_plan_monitoring_record_project"
)
@ApiModel
(
value
=
"THazardWorkPlanMonitoringRecordProject对象"
,
description
=
"危险作业监测记录项目"
)
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public
class
THazardWorkPlanMonitoringRecordProject
extends
SuperModel
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键ID
*/
@ApiModelProperty
(
value
=
"主键ID"
)
@TableId
(
"id"
)
private
String
id
;
/**
* 项目名称
*/
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
"project_name"
)
private
String
projectName
;
/**
* 项目值
*/
@ApiModelProperty
(
value
=
"项目值"
)
@TableField
(
"project_value"
)
private
String
projectValue
;
/**
* 危险作业监测记录表id
*/
@ApiModelProperty
(
value
=
"危险作业监测记录表id"
)
@TableField
(
"hazard_work_plan_monitoring_record_id"
)
private
String
hazardWorkPlanMonitoringRecordId
;
// 常量定义
public
static
final
String
ID
=
"id"
;
public
static
final
String
PROJECT_NAME
=
"project_name"
;
public
static
final
String
PROJECT_VALUE
=
"project_value"
;
public
static
final
String
HAZARD_WORK_PLAN_MONITORING_RECORD_ID
=
"hazard_work_plan_monitoring_record_id"
;
public
static
final
String
STATUS
=
"status"
;
}
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/model/dto/TContractorAccessLogApprovalParam.java
View file @
73f926a0
...
...
@@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* 危险作业计划 删除参数对象
*
...
...
@@ -31,4 +33,7 @@ public class TContractorAccessLogApprovalParam extends TContractorAccessLogAppro
@ApiModelProperty
(
value
=
"排序方式"
)
private
String
orderType
;
@ApiModelProperty
(
value
=
"批量ID"
)
private
List
<
String
>
ids
;
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/model/dto/THazardWorkPlanDelParam.java
View file @
73f926a0
...
...
@@ -23,4 +23,5 @@ public class THazardWorkPlanDelParam implements java.io.Serializable
@ApiModelProperty
(
value
=
"批量ID"
)
private
List
<
String
>
ids
;
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/model/dto/THazardWorkPlanMonitoringRecordParam.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
model
.
dto
;
import
com.testor.module.hazard.model.domain.TContractorAccessLogApproval
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@Data
@ApiModel
(
value
=
"THazardWorkPlanMonitoringRecordParam 列表查询参数对象"
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
THazardWorkPlanMonitoringRecordParam
extends
THazardWorkPlanMonitoringRecord
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"每页数量"
)
private
String
limit
;
@ApiModelProperty
(
value
=
"当前页数"
)
private
String
page
;
@ApiModelProperty
(
value
=
"排序字段"
)
private
String
orderBy
;
@ApiModelProperty
(
value
=
"排序方式"
)
private
String
orderType
;
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/TContractorAccessLogApprovalService.java
View file @
73f926a0
...
...
@@ -53,7 +53,7 @@ public interface TContractorAccessLogApprovalService extends SuperService<TContr
* @param approvalStatus 审批状态
* @return 更新数量
*/
int
updateApprovalStatus
(
List
<
String
>
ids
,
String
approvalStatus
);
int
updateApprovalStatus
(
TContractorAccessLogApprovalParam
param
);
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/THazardWorkPlanMonitoringRecordProjectService.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
service
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecordProject
;
import
com.tongtech.tfw.backend.common.models.supers.SuperService
;
public
interface
THazardWorkPlanMonitoringRecordProjectService
extends
SuperService
<
THazardWorkPlanMonitoringRecordProject
>
{
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/THazardWorkPlanMonitoringRecordService.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.testor.module.hazard.model.domain.TContractorAccessLogApproval
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanCheck
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord
;
import
com.testor.module.hazard.model.dto.TContractorAccessLogApprovalParam
;
import
com.testor.module.hazard.model.dto.THazardWorkPlanMonitoringRecordParam
;
import
com.tongtech.tfw.backend.common.models.supers.SuperService
;
import
java.util.List
;
public
interface
THazardWorkPlanMonitoringRecordService
extends
SuperService
<
THazardWorkPlanMonitoringRecord
>
{
/**
* 查询计划监控记录列表
* @param param
* @return
*/
Page
<
THazardWorkPlanMonitoringRecord
>
selectPage
(
THazardWorkPlanMonitoringRecordParam
param
);
/**
* 新增计划监控记录
* @param hazardWorkPlanMonitoringRecord
*/
void
insertContractorAccessLogApproval
(
THazardWorkPlanMonitoringRecord
hazardWorkPlanMonitoringRecord
);
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/impl/TContractorAccessLogApprovalServiceImpl.java
View file @
73f926a0
...
...
@@ -55,8 +55,8 @@ public class TContractorAccessLogApprovalServiceImpl extends SuperServiceImpl<TC
}
@Override
public
int
updateApprovalStatus
(
List
<
String
>
ids
,
String
approvalStatus
)
{
return
baseMapper
.
updateApprovalStatus
(
ids
,
approvalStatus
);
public
int
updateApprovalStatus
(
TContractorAccessLogApprovalParam
param
)
{
return
baseMapper
.
updateApprovalStatus
(
param
.
getIds
(),
param
.
getApprovalStatus
()
);
}
private
QueryWrapper
<
TContractorAccessLogApproval
>
createQuery
(
TContractorAccessLogApprovalParam
queryParam
)
{
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/impl/THazardWorkPlanMonitoringRecordProjectServiceImpl.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
service
.
impl
;
import
com.testor.module.hazard.dao.THazardWorkPlanMonitoringRecordDao
;
import
com.testor.module.hazard.dao.THazardWorkPlanMonitoringRecordProjectDao
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecordProject
;
import
com.testor.module.hazard.service.THazardWorkPlanMonitoringRecordProjectService
;
import
com.testor.module.hazard.service.THazardWorkPlanMonitoringRecordService
;
import
com.tongtech.tfw.backend.common.models.supers.SuperServiceImpl
;
import
org.springframework.stereotype.Service
;
@Service
public
class
THazardWorkPlanMonitoringRecordProjectServiceImpl
extends
SuperServiceImpl
<
THazardWorkPlanMonitoringRecordProjectDao
,
THazardWorkPlanMonitoringRecordProject
>
implements
THazardWorkPlanMonitoringRecordProjectService
{
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/impl/THazardWorkPlanMonitoringRecordServiceImpl.java
0 → 100644
View file @
73f926a0
package
com
.
testor
.
module
.
hazard
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.testor.module.hazard.dao.THazardWorkPlanCheckDao
;
import
com.testor.module.hazard.dao.THazardWorkPlanMonitoringRecordDao
;
import
com.testor.module.hazard.dao.THazardWorkPlanMonitoringRecordProjectDao
;
import
com.testor.module.hazard.model.domain.TContractorAccessLogApproval
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanCheck
;
import
com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord
;
import
com.testor.module.hazard.model.dto.TContractorAccessLogApprovalParam
;
import
com.testor.module.hazard.model.dto.THazardWorkPlanMonitoringRecordParam
;
import
com.testor.module.hazard.service.THazardWorkPlanCheckService
;
import
com.testor.module.hazard.service.THazardWorkPlanMonitoringRecordService
;
import
com.tongtech.tfw.backend.common.biz.constants.BizConstants
;
import
com.tongtech.tfw.backend.common.models.supers.SuperServiceImpl
;
import
com.tongtech.tfw.backend.core.helper.StringHelper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
@Service
public
class
THazardWorkPlanMonitoringRecordServiceImpl
extends
SuperServiceImpl
<
THazardWorkPlanMonitoringRecordDao
,
THazardWorkPlanMonitoringRecord
>
implements
THazardWorkPlanMonitoringRecordService
{
@Autowired
private
THazardWorkPlanMonitoringRecordProjectDao
hazardWorkPlanMonitoringRecordProjectDao
;
@Override
public
Page
<
THazardWorkPlanMonitoringRecord
>
selectPage
(
THazardWorkPlanMonitoringRecordParam
param
)
{
Long
page
=
StringHelper
.
isEmpty
(
param
.
getPage
())
?
BizConstants
.
PAGE
:
Long
.
valueOf
(
param
.
getPage
());
Long
limit
=
StringHelper
.
isEmpty
(
param
.
getLimit
())
?
BizConstants
.
LIMIT
:
Long
.
valueOf
(
param
.
getLimit
());
Page
<
THazardWorkPlanMonitoringRecord
>
resultPage
=
new
Page
<>(
page
,
limit
);
// 修改此处泛型类型
QueryWrapper
<
THazardWorkPlanMonitoringRecord
>
queryWrapper
=
this
.
createQuery
(
param
);
Page
<
THazardWorkPlanMonitoringRecord
>
tHazardWorkPlanMonitoringRecordPage
=
this
.
page
(
resultPage
,
queryWrapper
);
tHazardWorkPlanMonitoringRecordPage
.
getRecords
().
forEach
(
tHazardWorkPlanMonitoringRecord
->
{
tHazardWorkPlanMonitoringRecord
.
setProjectList
(
hazardWorkPlanMonitoringRecordProjectDao
.
selectByRecordId
(
tHazardWorkPlanMonitoringRecord
.
getId
()));
});
return
tHazardWorkPlanMonitoringRecordPage
;
}
@Transactional
@Override
public
void
insertContractorAccessLogApproval
(
THazardWorkPlanMonitoringRecord
hazardWorkPlanMonitoringRecord
)
{
this
.
baseMapper
.
insert
(
hazardWorkPlanMonitoringRecord
);
if
(
hazardWorkPlanMonitoringRecord
.
getProjectList
()
!=
null
&&
!
hazardWorkPlanMonitoringRecord
.
getProjectList
().
isEmpty
())
{
hazardWorkPlanMonitoringRecord
.
getProjectList
().
forEach
(
project
->
{
project
.
setHazardWorkPlanMonitoringRecordId
(
hazardWorkPlanMonitoringRecord
.
getId
());
hazardWorkPlanMonitoringRecordProjectDao
.
insert
(
project
);
});
}
}
private
QueryWrapper
<
THazardWorkPlanMonitoringRecord
>
createQuery
(
THazardWorkPlanMonitoringRecordParam
queryParam
)
{
QueryWrapper
<
THazardWorkPlanMonitoringRecord
>
queryWrapper
=
new
QueryWrapper
<>();
if
(
StringHelper
.
isNotEmpty
(
queryParam
.
getPlanId
()))
{
queryWrapper
.
eq
(
"plan_id"
,
queryParam
.
getPlanId
());
}
queryWrapper
.
orderByDesc
(
THazardWorkPlanMonitoringRecord
.
CREATE_DATE
);
return
queryWrapper
;
}
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/iam/dao/SysUserDao.java
View file @
73f926a0
...
...
@@ -3,6 +3,7 @@ package com.testor.module.iam.dao;
import
com.testor.biz.sys.user.model.domain.SysUser
;
import
com.testor.module.iam.model.domain.IamSysUser
;
import
com.tongtech.tfw.backend.common.models.supers.SuperDao
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
@@ -11,10 +12,24 @@ import java.util.List;
public
interface
SysUserDao
extends
SuperDao
<
SysUser
>
{
/**
* 准入管理修改获取审批人
* @param orgId
* @return
* 查询有权限审批当前组织数据的用户
* 逻辑:用户所在组织能够看到当前组织的数据
*/
List
<
SysUser
>
selectUserIdsByOrgId
(
String
orgId
);
List
<
SysUser
>
selectApprovalUsersByOrgId
(
@Param
(
"orgId"
)
String
orgId
);
/**
* 查询有权限审批特定承包商记录的用户
*/
List
<
SysUser
>
selectApprovalUsersForContractor
(
@Param
(
"contractorId"
)
String
contractorId
,
@Param
(
"orgId"
)
String
orgId
);
/**
* 检查用户是否有审批角色
*/
boolean
checkUserHasApprovalRole
(
@Param
(
"userId"
)
String
userId
);
/**
* 检查组织访问权限
*/
boolean
checkOrgAccess
(
@Param
(
"sourceOrgId"
)
String
sourceOrgId
,
@Param
(
"targetOrgId"
)
String
targetOrgId
);
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/iam/service/SysUserService.java
View file @
73f926a0
...
...
@@ -7,12 +7,25 @@ import com.tongtech.tfw.backend.common.models.supers.SuperService;
import
java.util.List
;
public
interface
SysUserService
extends
SuperService
<
SysUser
>
{
/**
* 获取有权限审批当前组织承包商数据的用户
*/
public
List
<
SysUser
>
getApprovalUsers
(
String
orgId
);
/**
* 获取有权限审批特定承包商记录的用户
*/
public
List
<
SysUser
>
getApprovalUsersForContractor
(
String
contractorId
,
String
orgId
);
/**
* 验证用户是否有审批权限
*/
public
boolean
validateApprovalPermission
(
String
userId
,
String
recordId
,
String
orgId
);
/**
* 准入管理修改获取审批人
* @param orgId
* @return
* 验证用户是否有审批权限
*/
List
<
SysUser
>
selectUserIdsByOrgId
(
String
orgId
);
public
boolean
validateApprovalPermissionForOrg
(
String
userId
,
String
orgId
);
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/iam/service/impl/SysUserServiceImpl.java
View file @
73f926a0
package
com
.
testor
.
module
.
iam
.
service
.
impl
;
import
com.testor.biz.sys.user.model.domain.SysUser
;
import
com.testor.module.contractor.manage.dao.TContractorAllowDao
;
import
com.testor.module.contractor.manage.model.domain.TContractorAllow
;
import
com.testor.module.contractor.manage.model.dto.TContractorAllowDTO
;
import
com.testor.module.iam.dao.IamSysUserDao
;
import
com.testor.module.iam.dao.SysUserDao
;
import
com.testor.module.iam.model.domain.IamSysUser
;
import
com.testor.module.iam.service.IamSysUserService
;
import
com.testor.module.iam.service.SysUserService
;
import
com.tongtech.tfw.backend.common.models.supers.SuperServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Collections
;
import
java.util.List
;
@Service
(
"SysUserService"
)
public
class
SysUserServiceImpl
extends
SuperServiceImpl
<
SysUserDao
,
SysUser
>
implements
SysUserService
{
@Override
public
List
<
SysUser
>
selectUserIdsByOrgId
(
String
orgId
)
{
return
baseMapper
.
selectUserIdsByOrgId
(
orgId
);
@Autowired
private
TContractorAllowDao
tContractorAllowDao
;
/**
* 获取有权限审批当前组织承包商数据的用户
*/
public
List
<
SysUser
>
getApprovalUsers
(
String
orgId
)
{
return
baseMapper
.
selectApprovalUsersByOrgId
(
orgId
);
}
/**
* 获取有权限审批特定承包商记录的用户
*/
@Transactional
(
readOnly
=
true
)
public
List
<
SysUser
>
getApprovalUsersForContractor
(
String
contractorId
,
String
orgId
)
{
// 首先验证承包商记录是否存在且可访问
TContractorAllow
contractor
=
tContractorAllowDao
.
selectById
(
contractorId
);
if
(
contractor
==
null
)
{
throw
new
RuntimeException
(
"承包商记录不存在"
);
}
// 检查当前用户是否有权限访问该承包商记录
boolean
hasAccess
=
baseMapper
.
checkOrgAccess
(
contractor
.
getOrgId
(),
orgId
);
if
(!
hasAccess
)
{
throw
new
RuntimeException
(
"无权限访问该承包商记录"
);
}
return
baseMapper
.
selectApprovalUsersForContractor
(
contractorId
,
orgId
);
}
/**
* 验证用户是否有审批权限
*/
public
boolean
validateApprovalPermission
(
String
userId
,
String
recordId
,
String
orgId
)
{
// 1. 检查用户是否有审批角色
boolean
hasRole
=
baseMapper
.
checkUserHasApprovalRole
(
userId
);
if
(!
hasRole
)
{
return
false
;
}
// 2. 获取用户信息
SysUser
user
=
baseMapper
.
selectById
(
userId
);
if
(
user
==
null
)
{
return
false
;
}
// 3. 检查用户组织权限
boolean
hasOrgAccess
=
baseMapper
.
checkOrgAccess
(
user
.
getOrgId
(),
orgId
);
if
(!
hasOrgAccess
)
{
return
false
;
}
// 4. 检查记录访问权限
TContractorAllow
record
=
tContractorAllowDao
.
selectById
(
recordId
);
if
(
record
==
null
)
{
return
false
;
}
return
baseMapper
.
checkOrgAccess
(
record
.
getOrgId
(),
user
.
getOrgId
());
}
/**
* 验证用户是否有审批当前组织数据的权限
*/
public
boolean
validateApprovalPermissionForOrg
(
String
userId
,
String
orgId
)
{
// 1. 检查用户是否有审批角色
boolean
hasRole
=
baseMapper
.
checkUserHasApprovalRole
(
userId
);
if
(!
hasRole
)
{
return
false
;
}
// 2. 获取用户信息
SysUser
user
=
baseMapper
.
selectById
(
userId
);
if
(
user
==
null
)
{
return
false
;
}
// 3. 检查用户组织权限
return
baseMapper
.
checkOrgAccess
(
user
.
getOrgId
(),
orgId
);
}
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/examinationManage/controller/TTrainExaminationManageController.java
View file @
73f926a0
...
...
@@ -154,6 +154,15 @@ public class TTrainExaminationManageController extends SuperController {
return
tTrainExaminationManageService
.
getByIds
(
id
);
}
@ApiOperation
(
value
=
"获取 考试管理—安全培训教育 "
,
notes
=
"Get TTrainExaminationManage By Id"
)
@GetMapping
(
value
=
"/select"
)
public
BaseResponse
<
TTrainExaminationManageParam
>
getByCondition
(
@RequestParam
(
"id"
)
String
id
,
@RequestParam
(
value
=
"orgId"
,
required
=
false
)
String
orgId
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"status"
,
required
=
false
)
String
status
)
{
return
tTrainExaminationManageService
.
getByCondition
(
id
,
orgId
,
name
,
status
);
}
@ApiOperation
(
value
=
"删除 考试管理—安全培训教育 "
,
notes
=
"delete TTrainExaminationManage By Id"
)
@PutMapping
(
value
=
"/delete"
)
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/examinationManage/service/TTrainExaminationManageService.java
View file @
73f926a0
...
...
@@ -24,6 +24,8 @@ public interface TTrainExaminationManageService extends SuperService<TTrainExami
BaseResponse
<
TTrainExaminationManageParam
>
getByIds
(
String
id
);
BaseResponse
<
TTrainExaminationManageParam
>
getByCondition
(
String
id
,
String
orgId
,
String
name
,
String
status
);
BaseResponse
<
BizGeneralResponse
>
deleteEntity
(
TTrainExaminationManageDelParam
deleteRequest
)
throws
Exception
;
IPage
<
TTrainExaminationManageParam
>
getExamAffiliation
(
TTrainExaminationManageParam
param
,
String
parentIds
,
String
orgId
);
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/examinationManage/service/impl/TTrainExaminationManageServiceImpl.java
View file @
73f926a0
...
...
@@ -185,6 +185,28 @@ public class TTrainExaminationManageServiceImpl extends SuperServiceImpl<TTrainE
return
baseResponse
;
}
@Override
public
BaseResponse
<
TTrainExaminationManageParam
>
getByCondition
(
String
id
,
String
orgId
,
String
name
,
String
status
)
{
BaseResponse
<
TTrainExaminationManageParam
>
baseResponse
=
new
BaseResponse
<>();
if
(
StringHelper
.
isNotEmpty
(
id
))
{
TTrainExaminationManage
data
=
this
.
getById
(
id
);
TTrainExaminationManageParam
tTrainProjectParam
=
BeanHelper
.
beanToBean
(
data
,
TTrainExaminationManageParam
.
class
);
// 培训计划id
String
projectParamId
=
tTrainProjectParam
.
getId
();
// 试卷id
String
testPaperId
=
tTrainProjectParam
.
getPaperId
();
// 获取人员集合
List
<
TTrainMyManagement
>
personList
=
tTrainMyManagementService
.
getPerson
(
projectParamId
,
orgId
,
name
,
status
);
List
<
MyManagement
>
collect
=
personList
.
stream
().
map
(
bean
->
bean
.
beanToBean
(
MyManagement
.
class
)).
collect
(
Collectors
.
toList
());
// 获取试卷名称
String
testPaperName
=
tTrainPaperService
.
getTestPaperName
(
testPaperId
);
tTrainProjectParam
.
setMyManagements
(
collect
);
tTrainProjectParam
.
setTestPaperName
(
testPaperName
);
baseResponse
.
setData
(
tTrainProjectParam
);
}
return
baseResponse
;
}
@Override
public
BaseResponse
<
BizGeneralResponse
>
deleteEntity
(
TTrainExaminationManageDelParam
deleteRequest
)
throws
Exception
{
BaseResponse
<
BizGeneralResponse
>
baseResponse
=
new
BaseResponse
<>();
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/myManagement/service/TTrainMyManagementService.java
View file @
73f926a0
...
...
@@ -31,6 +31,9 @@ public interface TTrainMyManagementService extends SuperService<TTrainMyManageme
// 教育培训获取详情
List
<
TTrainMyManagement
>
getPerson
(
String
projectParamId
);
// 教育培训获取详情
List
<
TTrainMyManagement
>
getPerson
(
String
projectParamId
,
String
orgId
,
String
name
,
String
status
);
// 员工培训情况-培训计划
IPage
<
TTrainMyManagementParam
>
staffTrainCase
(
TTrainMyManagementParam
param
,
String
parentIds
,
String
orgId
);
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/myManagement/service/impl/TTrainMyManagementServiceImpl.java
View file @
73f926a0
package
com
.
testor
.
module
.
train
.
myManagement
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -177,6 +178,17 @@ public class TTrainMyManagementServiceImpl extends SuperServiceImpl<TTrainMyMana
return
list
;
}
@Override
public
List
<
TTrainMyManagement
>
getPerson
(
String
projectParamId
,
String
orgId
,
String
name
,
String
status
)
{
return
this
.
list
(
new
LambdaQueryWrapper
<
TTrainMyManagement
>()
.
eq
(
TTrainMyManagement:
:
getTaskId
,
projectParamId
)
.
eq
(
StringUtils
.
isNotBlank
(
orgId
),
TTrainMyManagement:
:
getOrgId
,
orgId
)
.
like
(
StringUtils
.
isNotBlank
(
name
),
TTrainMyManagement:
:
getPersonName
,
name
)
.
eq
(
StringUtils
.
isNotBlank
(
status
),
TTrainMyManagement:
:
getCurrentStatus
,
status
)
.
orderByDesc
(
TTrainMyManagement:
:
getCurrentStatus
,
TTrainMyManagement:
:
getCreateDate
)
);
}
@Override
public
IPage
<
TTrainMyManagementParam
>
staffTrainCase
(
TTrainMyManagementParam
param
,
String
parentIds
,
String
orgId
)
{
Long
page
=
StringHelper
.
isEmpty
(
param
.
getPage
())
?
BizConstants
.
PAGE
:
Long
.
valueOf
(
param
.
getPage
());
...
...
zlmy-modules/zlmy-boot/src/main/resources/mapper/hazard/TContractorAccessLogApprovalDao.xml
View file @
73f926a0
...
...
@@ -33,6 +33,11 @@
where approval_status = '2' and contractor_allow_id =#{contractorAllowId} and create_by = #{createBy}
</select>
<select
id=
"selectByContractorAllowIdAndNameBy"
resultMap=
"BaseResultMap"
>
select * from t_contractor_access_log_approval
where approval_status = '2' and contractor_allow_id =#{contractorAllowId} and name_by = #{nameBy}
</select>
<update
id=
"updateApprovalStatus"
>
update t_contractor_access_log_approval
...
...
zlmy-modules/zlmy-boot/src/main/resources/mapper/hazard/THazardWorkPlanMonitoringRecordDao.xml
0 → 100644
View file @
73f926a0
<?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.testor.module.hazard.dao.THazardWorkPlanMonitoringRecordDao"
>
<!-- 开启二级缓存 -->
<!-- <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> -->
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecord"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"plan_id"
property=
"planId"
/>
<result
column=
"detection_position"
property=
"detectionPosition"
/>
<result
column=
"conclusion"
property=
"conclusion"
/>
<result
column=
"scene_photo"
property=
"scenePhoto"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"inspector_signature"
property=
"inspectorSignature"
/>
<result
column=
"inspector_time"
property=
"inspectorTime"
/>
<!-- 继承父类的字段 -->
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_date"
property=
"createDate"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_date"
property=
"updateDate"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
id, plan_id, detection_position, conclusion, scene_photo, status,
inspector_signature, inspector_time, create_by, create_date, update_by,
update_date
</sql>
<!-- 查询待办列表 -->
<select
id=
"selectToDoList"
resultType=
"com.tongtech.tfw.workflow.apis.task.model.dto.TodoTask"
>
SELECT
t.id as taskId,
t.name as taskName,
t.proc_inst_id as processInstanceId,
t.proc_def_id as processDefinitionId,
t.create_time as createTime,
t.assignee as assignee,
i.business_key as businessKey
FROM act_ru_task t
LEFT JOIN act_ru_execution i ON t.proc_inst_id_ = i.id_
WHERE t.assignee_ = #{todo.userId}
ORDER BY t.create_time_ DESC
</select>
<!-- 根据计划ID查询监测记录 -->
<select
id=
"selectByPlanId"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_hazard_work_plan_monitoring_record
WHERE plan_id = #{planId}
ORDER BY create_date DESC
</select>
<!-- 根据计划ID列表查询监测记录 -->
<select
id=
"selectByPlanIds"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_hazard_work_plan_monitoring_record
WHERE plan_id IN
<foreach
collection=
"planIds"
item=
"planId"
open=
"("
separator=
","
close=
")"
>
#{planId}
</foreach>
ORDER BY create_date DESC
</select>
<!-- 批量插入监测记录 -->
<insert
id=
"insertBatch"
>
INSERT INTO t_hazard_work_plan_monitoring_record (
id, plan_id, detection_position, conclusion, scene_photo, status,
inspector_signature, inspector_time, create_by, create_date, update_by, update_date
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.id}, #{item.planId}, #{item.detectionPosition}, #{item.conclusion},
#{item.scenePhoto}, #{item.status}, #{item.inspectorSignature},
#{item.inspectorTime}, #{item.createBy}, #{item.createDate},
#{item.updateBy}, #{item.updateDate}
)
</foreach>
</insert>
</mapper>
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/resources/mapper/hazard/THazardWorkPlanMonitoringRecordProjectDao.xml
0 → 100644
View file @
73f926a0
<?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.testor.module.hazard.dao.THazardWorkPlanMonitoringRecordProjectDao"
>
<!-- 开启二级缓存 -->
<!-- <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> -->
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.testor.module.hazard.model.domain.THazardWorkPlanMonitoringRecordProject"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"project_name"
property=
"projectName"
/>
<result
column=
"project_value"
property=
"projectValue"
/>
<result
column=
"hazard_work_plan_monitoring_record_id"
property=
"hazardWorkPlanMonitoringRecordId"
/>
<result
column=
"status"
property=
"status"
/>
<!-- 继承父类的字段 -->
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_date"
property=
"createDate"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_date"
property=
"updateDate"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
id, project_name, project_value, hazard_work_plan_monitoring_record_id, status,
create_by, create_date, update_by, update_date
</sql>
<!-- 根据监测记录ID查询项目列表 -->
<select
id=
"selectByRecordId"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_hazard_work_plan_monitoring_record_project
WHERE hazard_work_plan_monitoring_record_id = #{recordId}
ORDER BY create_date ASC
</select>
<!-- 根据监测记录ID列表查询项目列表 -->
<select
id=
"selectByRecordIds"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_hazard_work_plan_monitoring_record_project
WHERE hazard_work_plan_monitoring_record_id IN
<foreach
collection=
"recordIds"
item=
"recordId"
open=
"("
separator=
","
close=
")"
>
#{recordId}
</foreach>
ORDER BY create_date ASC
</select>
<!-- 批量插入监测记录项目 -->
<insert
id=
"insertBatch"
>
INSERT INTO t_hazard_work_plan_monitoring_record_project (
id, project_name, project_value, hazard_work_plan_monitoring_record_id, status,
create_by, create_date, update_by, update_date
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.id}, #{item.projectName}, #{item.projectValue},
#{item.hazardWorkPlanMonitoringRecordId}, #{item.status},
#{item.createBy}, #{item.createDate}, #{item.updateBy}, #{item.updateDate}
)
</foreach>
</insert>
<!-- 根据监测记录ID删除项目 -->
<update
id=
"deleteByRecordId"
>
UPDATE t_hazard_work_plan_monitoring_record_project
SET
update_by = #{updateBy},
update_date = NOW()
WHERE hazard_work_plan_monitoring_record_id = #{recordId}
</update>
<!-- 根据监测记录ID列表批量删除项目 -->
<update
id=
"deleteByRecordIds"
>
UPDATE t_hazard_work_plan_monitoring_record_project
SET
update_by = #{updateBy},
update_date = NOW()
WHERE hazard_work_plan_monitoring_record_id IN
<foreach
collection=
"recordIds"
item=
"recordId"
open=
"("
separator=
","
close=
")"
>
#{recordId}
</foreach>
</update>
</mapper>
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/resources/mapper/iam/SysUserDao.xml
View file @
73f926a0
...
...
@@ -44,25 +44,68 @@
del_flag, remark
</sql>
<select
id=
"selectUserIdsByOrgId"
resultMap=
"BaseResultMap"
>
select * from t_sys_user
where user_id in(
select user_id from t_sys_user_role
where role_id in(
select role_id from t_sys_role
where role_name in(
'安全管理部门','作业所在部门','用户管理员','系统管理员'
)
)
and
user_id in(
select user_id from t_sys_user
where org_id in(
select org_id from t_sys_org
where status !=1 and is_dept = '0' and parent_ids like concat('%',#{orgId},'%') or org_id = #{orgId}
)
<!-- 查询有权限审批当前组织数据的用户 -->
<select
id=
"selectApprovalUsersByOrgId"
resultMap=
"BaseResultMap"
>
SELECT DISTINCT u.*
FROM t_sys_user u
JOIN t_sys_user_role ur ON u.user_id = ur.user_id
JOIN t_sys_role r ON ur.role_id = r.role_id
JOIN t_sys_org o ON u.org_id = o.org_id
WHERE r.role_name IN ('安全管理部门', '作业所在部门', '用户管理员', '系统管理员')
AND o.status != '1'
AND o.is_dept = '0'
AND EXISTS (
SELECT 1
FROM t_sys_org o2
WHERE o2.org_id = #{orgId}
AND (o2.parent_ids LIKE CONCAT('%', o.org_id, '%') OR o2.org_id = o.org_id)
)
</select>
<!-- 查询有权限审批特定承包商记录的用户 -->
<select
id=
"selectApprovalUsersForContractor"
resultMap=
"BaseResultMap"
>
WITH contractor_orgs AS (
SELECT unnest(string_to_array(tcl.org_id, ',')) AS org_id
FROM t_contractor_allow tca
JOIN t_contractor_ledger tcl ON tcl.id = tca.contractor_id
WHERE tca.id = #{contractorId}
)
SELECT DISTINCT u.*
FROM t_sys_user u
JOIN t_sys_user_role ur ON u.user_id = ur.user_id
JOIN t_sys_role r ON ur.role_id = r.role_id
JOIN t_sys_org o ON u.org_id = o.org_id
JOIN contractor_orgs co ON o.org_id = co.org_id
WHERE r.role_name IN ('安全管理部门', '作业所在部门', '用户管理员', '系统管理员')
AND o.status != '1'
AND o.is_dept = '0'
AND EXISTS (
SELECT 1
FROM t_sys_org o2
WHERE o2.org_id = #{orgId}
AND (o2.parent_ids LIKE CONCAT('%', o.org_id, '%') OR o2.org_id = o.org_id)
)
</select>
<!-- 检查用户是否有审批角色 -->
<select
id=
"checkUserHasApprovalRole"
resultType=
"boolean"
>
SELECT COUNT(*) > 0
FROM t_sys_user u
JOIN t_sys_user_role ur ON u.user_id = ur.user_id
JOIN t_sys_role r ON ur.role_id = r.role_id
WHERE u.user_id = #{userId}
AND r.role_name IN ('安全管理部门', '作业所在部门', '用户管理员', '系统管理员')
</select>
<!-- 检查组织访问权限 -->
<select
id=
"checkOrgAccess"
resultType=
"boolean"
>
SELECT EXISTS (
SELECT 1
FROM t_sys_org o1
JOIN t_sys_org o2 ON o1.org_id = #{sourceOrgId}
WHERE (o2.parent_ids LIKE CONCAT('%', o1.org_id, '%') OR o2.org_id = o1.org_id)
AND o1.org_id = #{targetOrgId}
)
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment