diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/copy/controller/XzLimitSpaceSafeController.java b/src/main/java/com/zhgd/xmgl/modules/xz/copy/controller/XzLimitSpaceSafeController.java new file mode 100644 index 000000000..63d6e88f6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/copy/controller/XzLimitSpaceSafeController.java @@ -0,0 +1,120 @@ +package com.zhgd.xmgl.modules.xz.copy.controller; + +import com.zhgd.xmgl.modules.xz.copy.entity.XzLimitSpaceSafe; +import com.zhgd.xmgl.modules.xz.copy.service.IXzLimitSpaceSafeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiImplicitParams; + +import java.util.HashMap; + +import springfox.documentation.annotations.ApiIgnore; + +import java.util.List; + +import com.zhgd.jeecg.common.api.vo.Result; +import org.apache.commons.collections.MapUtils; + +import org.simpleframework.xml.core.Validate; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +/** + * @Title: Controller + * @Description: 星纵-受限空间安全作业票 + * @author: pds + * @date: 2024-05-14 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/xzLimitSpaceSafe") +@Slf4j +@Api(tags = "星纵-受限空间安全作业票相关Api") +public class XzLimitSpaceSafeController { + @Autowired + private IXzLimitSpaceSafeService xzLimitSpaceSafeService; + + /** + * 分页列表查询 + * + * @return + */ + @ApiOperation(value = "分页列表查询星纵-受限空间安全作业票信息", notes = "分页列表查询星纵-受限空间安全作业票信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(xzLimitSpaceSafeService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询星纵-受限空间安全作业票信息", notes = "列表查询星纵-受限空间安全作业票信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(xzLimitSpaceSafeService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param xzLimitSpaceSafe + * @return + */ + @ApiOperation(value = "添加星纵-受限空间安全作业票信息", notes = "添加星纵-受限空间安全作业票信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate XzLimitSpaceSafe xzLimitSpaceSafe) { + xzLimitSpaceSafeService.add(xzLimitSpaceSafe); + return Result.ok(); + } + + /** + * 编辑 + * + * @param xzLimitSpaceSafe + * @return + */ + @ApiOperation(value = "编辑星纵-受限空间安全作业票信息", notes = "编辑星纵-受限空间安全作业票信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody XzLimitSpaceSafe xzLimitSpaceSafe) { + xzLimitSpaceSafeService.edit(xzLimitSpaceSafe); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @ApiOperation(value = "删除星纵-受限空间安全作业票信息", notes = "删除星纵-受限空间安全作业票信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "星纵-受限空间安全作业票ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + xzLimitSpaceSafeService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询星纵-受限空间安全作业票信息", notes = "通过id查询星纵-受限空间安全作业票信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "星纵-受限空间安全作业票ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + return Result.success(xzLimitSpaceSafeService.queryById(id)); + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/copy/entity/XzLimitSpaceSafe.java b/src/main/java/com/zhgd/xmgl/modules/xz/copy/entity/XzLimitSpaceSafe.java new file mode 100644 index 000000000..1f8175c76 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/copy/entity/XzLimitSpaceSafe.java @@ -0,0 +1,225 @@ +package com.zhgd.xmgl.modules.xz.copy.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zhgd.xmgl.modules.xz.special.entity.XzGasAnalyze; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description: 星纵-受限空间安全作业票 + * @author: pds + * @date: 2024-05-14 + * @version: V1.0 + */ +@Data +@TableName("xz_limit_space_safe") +@ApiModel(value = "XzLimitSpaceSafe实体类", description = "XzLimitSpaceSafe") +public class XzLimitSpaceSafe implements Serializable { + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.Long id; + + /** + * 作业申请单位 + */ + @Excel(name = "作业申请单位", width = 15) + @ApiModelProperty(value = "作业申请单位") + private java.lang.Long jobApplicationUnit; + /** + * 作业申请时间 + */ + @Excel(name = "作业申请时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "作业申请时间") + private java.util.Date jobApplicationTime; + + /** + * 受限空间名称 + */ + @Excel(name = "受限空间名称", width = 15) + @ApiModelProperty(value = "受限空间名称") + private String limitSpaceName; + /** + * 受限空间内原有介质名称 + */ + @Excel(name = "受限空间内原有介质名称", width = 15) + @ApiModelProperty(value = "受限空间内原有介质名称") + private String limitSpaceMediumName; + /** + * 作业人 + */ + @Excel(name = "作业人", width = 15) + @ApiModelProperty(value = "作业人") + private Long jobPerson; + + /** + * 作业单位 + */ + @Excel(name = "作业单位", width = 15) + @ApiModelProperty(value = "作业单位") + private java.lang.Long operatingUnit; + /** + * 作业负责人 + */ + @Excel(name = "作业负责人", width = 15) + @ApiModelProperty(value = "作业负责人") + private java.lang.Long assignmentPersonInCharge; + /** + * 安全交底人 + */ + @Excel(name = "安全交底人", width = 15) + @ApiModelProperty(value = "安全交底人") + private java.lang.Long safetyInformant; + /** + * 接受交底人 + */ + @Excel(name = "接受交底人", width = 15) + @ApiModelProperty(value = "接受交底人") + private java.lang.Long acceptTheInformant; + /** + * 监护人 + */ + @Excel(name = "监护人", width = 15) + @ApiModelProperty(value = "监护人") + private java.lang.Long guardian; + /** + * 风险辨识结果 + */ + @Excel(name = "风险辨识结果", width = 15) + @ApiModelProperty(value = "风险辨识结果") + private java.lang.String riskIdentificationResult; + /** + * 作业内容 + */ + @Excel(name = "作业内容", width = 15) + @ApiModelProperty(value = "作业内容") + private java.lang.String jobContent; + /** + * 安全作业票编号 + */ + @Excel(name = "安全作业票编号", width = 15) + @ApiModelProperty(value = "安全作业票编号") + private java.lang.String safetyWorkTicketCode; + /** + * 关联的其他特殊作业 + */ + @Excel(name = "关联的其他特殊作业", width = 15) + @ApiModelProperty(value = "关联的其他特殊作业") + private java.lang.String otherRelatedSpecialTask; + /** + * 动火作业实施时间开始 + */ + @Excel(name = "动火作业实施时间开始", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "动火作业实施时间开始") + private java.util.Date hotWorkExecutionBeginTime; + /** + * 动火作业实施时间结束 + */ + @Excel(name = "动火作业实施时间结束", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "动火作业实施时间结束") + private java.util.Date hotWorkExecutionEndTime; + /** + * 所属项目SN + */ + @Excel(name = "所属项目SN", width = 15) + @ApiModelProperty(value = "所属项目SN") + private java.lang.String projectSn; + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + private java.util.Date createDate; + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间") + private java.util.Date updateDate; + @ApiModelProperty(value = "安全措施") + private java.lang.String safeMeasure; + @ApiModelProperty(value = "作业票编号") + private java.lang.String workTicketCode; + @ApiModelProperty(value = "最终验收状态1进行中2已闭合") + private Integer finalAcceptanceStatus; + + /** + * 作业申请单位名称 + */ + @TableField(exist = false) + @Excel(name = "作业申请单位名称", width = 15) + @ApiModelProperty(value = "作业申请单位名称") + private java.lang.String jobApplicationUnitName; + /** + * 作业单位名称 + */ + @TableField(exist = false) + @Excel(name = "作业单位名称", width = 15) + @ApiModelProperty(value = "作业单位名称") + private java.lang.String operatingUnitName; + + /** + * 作业负责人名称 + */ + @TableField(exist = false) + @Excel(name = "作业负责人名称", width = 15) + @ApiModelProperty(value = "作业负责人名称") + private java.lang.String assignmentPersonInChargeName; + + /** + * 作业人名称 + */ + @Excel(name = "作业人名称", width = 15) + @ApiModelProperty(value = "作业人名称") + private Long jobPersonName; + + /** + * 监护人名称 + */ + @TableField(exist = false) + @Excel(name = "监护人名称", width = 15) + @ApiModelProperty(value = "监护人名称") + private java.lang.String guardianName; + + /** + * 安全交底人名称 + */ + @TableField(exist = false) + @Excel(name = "安全交底人名称", width = 15) + @ApiModelProperty(value = "安全交底人名称") + private java.lang.String safetyInformantName; + /** + * 接受交底人名称 + */ + @TableField(exist = false) + @Excel(name = "接受交底人名称", width = 15) + @ApiModelProperty(value = "接受交底人名称") + private java.lang.String acceptTheInformantName; + + + @TableField(exist = false) + @ApiModelProperty(value = "安全隐患总数") + private Integer hiddenDangerNum; + + + @TableField(exist = false) + @ApiModelProperty(value = "星纵-气体分析列表") + private List xzGasAnalyzeList; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/copy/mapper/XzLimitSpaceSafeMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz/copy/mapper/XzLimitSpaceSafeMapper.java new file mode 100644 index 000000000..a15659d88 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/copy/mapper/XzLimitSpaceSafeMapper.java @@ -0,0 +1,31 @@ +package com.zhgd.xmgl.modules.xz.copy.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.xmgl.modules.xz.copy.entity.XzLimitSpaceSafe; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 星纵-受限空间安全作业票 + * @author: pds + * @date: 2024-05-14 + * @version: V1.0 + */ +@Mapper +public interface XzLimitSpaceSafeMapper extends BaseMapper { + + IPage queryList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + List queryList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + XzLimitSpaceSafe queryById(@Param("param") Map param); + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/copy/mapper/xml/XzLimitSpaceSafeMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/copy/mapper/xml/XzLimitSpaceSafeMapper.xml new file mode 100644 index 000000000..a373425b8 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/copy/mapper/xml/XzLimitSpaceSafeMapper.xml @@ -0,0 +1,50 @@ + + + + + t.*, + ei1.enterprise_name as jobApplicationUnitName, + ei2.enterprise_name as operatingUnitName, + su.real_name as assignmentPersonInChargeName, + wi1.worker_name as jobPersonName, + wi2.worker_name as safetyInformantName, + wi3.worker_name as acceptTheInformantName, + wi4.worker_name as guardianName, + IFNULL(tp.hidden_danger_num, 0) hidden_danger_num + + + select + + from xz_limit_space_safe t + left join enterprise_info ei1 on t.job_application_unit = ei1.id + left join enterprise_info ei2 on t.operating_unit = ei2.id + left join system_user su on su.user_id=t.assignment_person_in_charge + left join worker_info wi1 on t.job_person = wi1.id + left join worker_info wi2 on t.safety_informant = wi2.id + left join worker_info wi3 on t.accept_the_informant = wi3.id + left join worker_info wi4 on t.guardian = wi4.id + LEFT JOIN (SELECT engineering_id, COUNT(1) hidden_danger_num + from xz_security_quality_inspection_record + WHERE 1 = 1 + + and project_sn = #{param.projectSn} + + + and enterprise_id = #{param.engineeringId} + + AND `status` in (2, 3, 4) + AND type = 1 + GROUP BY engineering_id) tp ON t.id = tp.engineering_id + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/copy/service/IXzLimitSpaceSafeService.java b/src/main/java/com/zhgd/xmgl/modules/xz/copy/service/IXzLimitSpaceSafeService.java new file mode 100644 index 000000000..d2d36968c --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/copy/service/IXzLimitSpaceSafeService.java @@ -0,0 +1,31 @@ +package com.zhgd.xmgl.modules.xz.copy.service; + +import com.zhgd.xmgl.modules.xz.copy.entity.XzLimitSpaceSafe; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 星纵-受限空间安全作业票 + * @author: pds + * @date: 2024-05-14 + * @version: V1.0 + */ +public interface IXzLimitSpaceSafeService extends IService { + + IPage queryPageList(HashMap paramMap); + + List queryList(HashMap paramMap); + + void add(XzLimitSpaceSafe xzLimitSpaceSafe); + + void edit(XzLimitSpaceSafe xzLimitSpaceSafe); + + void delete(String id); + + XzLimitSpaceSafe queryById(String id); + + void finish(Long engineeringId); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/copy/service/impl/XzLimitSpaceSafeServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/copy/service/impl/XzLimitSpaceSafeServiceImpl.java new file mode 100644 index 000000000..d4fabd532 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/copy/service/impl/XzLimitSpaceSafeServiceImpl.java @@ -0,0 +1,116 @@ +package com.zhgd.xmgl.modules.xz.copy.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.modules.xz.copy.entity.XzLimitSpaceSafe; +import com.zhgd.xmgl.modules.xz.copy.mapper.XzLimitSpaceSafeMapper; +import com.zhgd.xmgl.modules.xz.copy.service.IXzLimitSpaceSafeService; +import com.zhgd.xmgl.modules.xz.special.entity.XzGasAnalyze; +import com.zhgd.xmgl.modules.xz.special.mapper.XzGasAnalyzeMapper; +import com.zhgd.xmgl.util.MapBuilder; +import com.zhgd.xmgl.util.PageUtil; +import com.zhgd.xmgl.util.RefUtil; +import org.apache.commons.collections.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 星纵-受限空间安全作业票 + * @author: pds + * @date: 2024-05-14 + * @version: V1.0 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class XzLimitSpaceSafeServiceImpl extends ServiceImpl implements IXzLimitSpaceSafeService { + @Autowired + private XzLimitSpaceSafeMapper xzSpecialOperationFireSafetyMapper; + @Autowired + private XzGasAnalyzeMapper xzGasAnalyzeMapper; + + @Override + public IPage queryPageList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + Page page = PageUtil.getPage(paramMap); + IPage pageList = baseMapper.queryList(page, queryWrapper, paramMap); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + return dealList(baseMapper.queryList(queryWrapper, paramMap)); + } + + private QueryWrapper getQueryWrapper(HashMap paramMap) { + String alias = "t."; + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(XzLimitSpaceSafe.class, paramMap, alias); + String firemanName = MapUtils.getString(paramMap, "firemanName"); + if (StrUtil.isNotBlank(firemanName)) { + queryWrapper.like("wi1.worker_name", firemanName); + } + queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(XzLimitSpaceSafe::getJobApplicationTime)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(XzLimitSpaceSafe xzLimitSpaceSafe) { + xzLimitSpaceSafe.setId(null); + baseMapper.insert(xzLimitSpaceSafe); + } + + @Override + public void edit(XzLimitSpaceSafe xzLimitSpaceSafe) { + XzLimitSpaceSafe oldXzLimitSpaceSafe = baseMapper.selectById(xzLimitSpaceSafe.getId()); + if (oldXzLimitSpaceSafe == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.updateById(xzLimitSpaceSafe); + } + + @Override + public void delete(String id) { + XzLimitSpaceSafe xzLimitSpaceSafe = baseMapper.selectById(id); + if (xzLimitSpaceSafe == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.deleteById(id); + } + + @Override + public XzLimitSpaceSafe queryById(String id) { + XzLimitSpaceSafe safety = baseMapper.queryById(new MapBuilder().put("id", id).build()); + if (safety == null) { + throw new OpenAlertException("未找到对应实体"); + } + //List xzGasAnalyzes = xzGasAnalyzeMapper.selectList(new LambdaQueryWrapper() + // .eq(XzGasAnalyze::getXzLimitSpaceSafeId, id)); + //safety.setXzGasAnalyzeList(xzGasAnalyzes); + return safety; + } + + @Override + public void finish(Long engineeringId) { + baseMapper.update(null, new LambdaUpdateWrapper() + .eq(XzLimitSpaceSafe::getId, engineeringId) + .set(XzLimitSpaceSafe::getFinalAcceptanceStatus, 2) + ); + } + +}