diff --git a/danger-manage-admin/src/main/java/com/zehong/web/controller/safetyManagement/TSafetyCommitmentAnnouncementController.java b/danger-manage-admin/src/main/java/com/zehong/web/controller/safetyManagement/TSafetyCommitmentAnnouncementController.java new file mode 100644 index 0000000000000000000000000000000000000000..c6250e1df9df7a230497bfa824b9fa2254ccd0fd --- /dev/null +++ b/danger-manage-admin/src/main/java/com/zehong/web/controller/safetyManagement/TSafetyCommitmentAnnouncementController.java @@ -0,0 +1,103 @@ +package com.zehong.web.controller.safetyManagement; + +import java.util.List; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zehong.common.annotation.Log; +import com.zehong.common.core.controller.BaseController; +import com.zehong.common.core.domain.AjaxResult; +import com.zehong.common.enums.BusinessType; +import com.zehong.system.domain.TSafetyCommitmentAnnouncement; +import com.zehong.system.service.ITSafetyCommitmentAnnouncementService; +import com.zehong.common.utils.poi.ExcelUtil; +import com.zehong.common.core.page.TableDataInfo; + +/** + * 安全承诺公告Controller + * + * @author zehong + * @date 2022-12-21 + */ +@RestController +@RequestMapping("/safetyManagement/announcement") +public class TSafetyCommitmentAnnouncementController extends BaseController +{ + @Autowired + private ITSafetyCommitmentAnnouncementService tSafetyCommitmentAnnouncementService; + + /** + * 查询安全承诺公告列表 + */ + @PreAuthorize("@ss.hasPermi('system:announcement:list')") + @GetMapping("/list") + public TableDataInfo list(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + startPage(); + List<TSafetyCommitmentAnnouncement> list = tSafetyCommitmentAnnouncementService.selectTSafetyCommitmentAnnouncementList(tSafetyCommitmentAnnouncement); + return getDataTable(list); + } + + /** + * 导出安全承诺公告列表 + */ + //@PreAuthorize("@ss.hasPermi('system:announcement:export')") + @Log(title = "安全承诺公告", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + List<TSafetyCommitmentAnnouncement> list = tSafetyCommitmentAnnouncementService.selectTSafetyCommitmentAnnouncementList(tSafetyCommitmentAnnouncement); + ExcelUtil<TSafetyCommitmentAnnouncement> util = new ExcelUtil<TSafetyCommitmentAnnouncement>(TSafetyCommitmentAnnouncement.class); + return util.exportExcel(list, "安全承诺公告数æ®"); + } + + /** + * 获å–å®‰å…¨æ‰¿è¯ºå…¬å‘Šè¯¦ç»†ä¿¡æ¯ + */ + //@PreAuthorize("@ss.hasPermi('system:announcement:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(tSafetyCommitmentAnnouncementService.selectTSafetyCommitmentAnnouncementById(id)); + } + + /** + * 新增安全承诺公告 + */ + //@PreAuthorize("@ss.hasPermi('system:announcement:add')") + @Log(title = "安全承诺公告", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + return toAjax(tSafetyCommitmentAnnouncementService.insertTSafetyCommitmentAnnouncement(tSafetyCommitmentAnnouncement)); + } + + /** + * 修改安全承诺公告 + */ + //@PreAuthorize("@ss.hasPermi('system:announcement:edit')") + @Log(title = "安全承诺公告", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + return toAjax(tSafetyCommitmentAnnouncementService.updateTSafetyCommitmentAnnouncement(tSafetyCommitmentAnnouncement)); + } + + /** + * åˆ é™¤å®‰å…¨æ‰¿è¯ºå…¬å‘Š + */ + //@PreAuthorize("@ss.hasPermi('system:announcement:remove')") + @Log(title = "安全承诺公告", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(tSafetyCommitmentAnnouncementService.deleteTSafetyCommitmentAnnouncementByIds(ids)); + } +} diff --git a/danger-manage-system/src/main/java/com/zehong/system/domain/TSafetyCommitmentAnnouncement.java b/danger-manage-system/src/main/java/com/zehong/system/domain/TSafetyCommitmentAnnouncement.java new file mode 100644 index 0000000000000000000000000000000000000000..9e30f15ce9f9a9aab41b4f474cf11d6b4c93124a --- /dev/null +++ b/danger-manage-system/src/main/java/com/zehong/system/domain/TSafetyCommitmentAnnouncement.java @@ -0,0 +1,87 @@ +package com.zehong.system.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zehong.common.annotation.Excel; +import com.zehong.common.core.domain.BaseEntity; + +/** + * 安全承诺公告对象 t_safety_commitment_announcement + * + * @author zehong + * @date 2022-12-21 + */ +@Data +public class TSafetyCommitmentAnnouncement extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 安全承诺公告id */ + private Long id; + + /** 生产装置 */ + @Excel(name = "生产装置") + private Long productionUnit; + + /** è¿è¡Œè£…ç½® */ + @Excel(name = "è¿è¡Œè£…ç½®") + private Long runningDevice; + + /** åœäº§è£…ç½® */ + @Excel(name = "åœäº§è£…ç½®") + private Long shutdownDevice; + + /** 检修装置 */ + @Excel(name = "检修装置") + private Long maintenanceDevice; + + /** 动ç«ä½œä¸š */ + @Excel(name = "动ç«ä½œä¸š") + private Long hotWork; + + /** 特殊动ç«ä½œä¸š */ + @Excel(name = "特殊动ç«ä½œä¸š") + private Long specialHotWork; + + /** 一级动ç«ä½œä¸š */ + @Excel(name = "一级动ç«ä½œä¸š") + private Long classOneHotWork; + + /** 二级动ç«ä½œä¸š */ + @Excel(name = "二级动ç«ä½œä¸š") + private Long classTwoHotWork; + + /** 是å¦å—é™ç©ºé—´ä½œä¸šï¼ˆ0是,1å¦ï¼‰ */ + @Excel(name = "是å¦å—é™ç©ºé—´ä½œä¸š", readConverterExp = "0=是,1å¦") + private String isConfinedSpace; + + /** 是å¦è¯•ç”Ÿäº§ï¼ˆ0是,1å¦ï¼‰ */ + @Excel(name = "是å¦è¯•ç”Ÿäº§", readConverterExp = "0=是,1å¦") + private String isTrialProduction; + + /** ç½è£…ã€ä»“库ç‰é‡å¤§å±é™©æºæ˜¯å¦å¤„于安全状æ€ï¼ˆ0是,1å¦ï¼‰ */ + @Excel(name = "ç½è£…ã€ä»“库ç‰é‡å¤§å±é™©æºæ˜¯å¦å¤„于安全状æ€", readConverterExp = "0=是,1å¦") + private String isSecurityStatus; + + /** 风险ç‰çº§ */ + @Excel(name = "风险ç‰çº§") + private String assessmentLevel; + + /** 主è¦è´Ÿè´£äºº */ + @Excel(name = "主è¦è´Ÿè´£äºº") + private String keyPerson; + + /** 承诺公告 */ + @Excel(name = "承诺公告") + private String announcement; + + private String status; + + /** 承诺日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "承诺日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date commitmentDate; +} diff --git a/danger-manage-system/src/main/java/com/zehong/system/mapper/TSafetyCommitmentAnnouncementMapper.java b/danger-manage-system/src/main/java/com/zehong/system/mapper/TSafetyCommitmentAnnouncementMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..da56dae01200a0e155095dacb554ebc5eb53aac7 --- /dev/null +++ b/danger-manage-system/src/main/java/com/zehong/system/mapper/TSafetyCommitmentAnnouncementMapper.java @@ -0,0 +1,61 @@ +package com.zehong.system.mapper; + +import java.util.List; +import com.zehong.system.domain.TSafetyCommitmentAnnouncement; + +/** + * 安全承诺公告MapperæŽ¥å£ + * + * @author zehong + * @date 2022-12-21 + */ +public interface TSafetyCommitmentAnnouncementMapper +{ + /** + * 查询安全承诺公告 + * + * @param id 安全承诺公告ID + * @return 安全承诺公告 + */ + public TSafetyCommitmentAnnouncement selectTSafetyCommitmentAnnouncementById(Long id); + + /** + * 查询安全承诺公告列表 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return å®‰å…¨æ‰¿è¯ºå…¬å‘Šé›†åˆ + */ + public List<TSafetyCommitmentAnnouncement> selectTSafetyCommitmentAnnouncementList(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement); + + /** + * 新增安全承诺公告 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 结果 + */ + public int insertTSafetyCommitmentAnnouncement(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement); + + /** + * 修改安全承诺公告 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 结果 + */ + public int updateTSafetyCommitmentAnnouncement(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement); + + /** + * åˆ é™¤å®‰å…¨æ‰¿è¯ºå…¬å‘Š + * + * @param id 安全承诺公告ID + * @return 结果 + */ + public int deleteTSafetyCommitmentAnnouncementById(Long id); + + /** + * 批é‡åˆ 除安全承诺公告 + * + * @param ids 需è¦åˆ 除的数æ®ID + * @return 结果 + */ + public int deleteTSafetyCommitmentAnnouncementByIds(Long[] ids); +} diff --git a/danger-manage-system/src/main/java/com/zehong/system/service/ITSafetyCommitmentAnnouncementService.java b/danger-manage-system/src/main/java/com/zehong/system/service/ITSafetyCommitmentAnnouncementService.java new file mode 100644 index 0000000000000000000000000000000000000000..60f9783142080af0461edbeb1adfbaba1bb60375 --- /dev/null +++ b/danger-manage-system/src/main/java/com/zehong/system/service/ITSafetyCommitmentAnnouncementService.java @@ -0,0 +1,61 @@ +package com.zehong.system.service; + +import java.util.List; +import com.zehong.system.domain.TSafetyCommitmentAnnouncement; + +/** + * 安全承诺公告ServiceæŽ¥å£ + * + * @author zehong + * @date 2022-12-21 + */ +public interface ITSafetyCommitmentAnnouncementService +{ + /** + * 查询安全承诺公告 + * + * @param id 安全承诺公告ID + * @return 安全承诺公告 + */ + public TSafetyCommitmentAnnouncement selectTSafetyCommitmentAnnouncementById(Long id); + + /** + * 查询安全承诺公告列表 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return å®‰å…¨æ‰¿è¯ºå…¬å‘Šé›†åˆ + */ + public List<TSafetyCommitmentAnnouncement> selectTSafetyCommitmentAnnouncementList(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement); + + /** + * 新增安全承诺公告 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 结果 + */ + public int insertTSafetyCommitmentAnnouncement(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement); + + /** + * 修改安全承诺公告 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 结果 + */ + public int updateTSafetyCommitmentAnnouncement(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement); + + /** + * 批é‡åˆ 除安全承诺公告 + * + * @param ids 需è¦åˆ 除的安全承诺公告ID + * @return 结果 + */ + public int deleteTSafetyCommitmentAnnouncementByIds(Long[] ids); + + /** + * åˆ é™¤å®‰å…¨æ‰¿è¯ºå…¬å‘Šä¿¡æ¯ + * + * @param id 安全承诺公告ID + * @return 结果 + */ + public int deleteTSafetyCommitmentAnnouncementById(Long id); +} diff --git a/danger-manage-system/src/main/java/com/zehong/system/service/impl/TSafetyCommitmentAnnouncementServiceImpl.java b/danger-manage-system/src/main/java/com/zehong/system/service/impl/TSafetyCommitmentAnnouncementServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..377c5fabb109026c7efd4bda9396598ed13d83df --- /dev/null +++ b/danger-manage-system/src/main/java/com/zehong/system/service/impl/TSafetyCommitmentAnnouncementServiceImpl.java @@ -0,0 +1,96 @@ +package com.zehong.system.service.impl; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zehong.system.mapper.TSafetyCommitmentAnnouncementMapper; +import com.zehong.system.domain.TSafetyCommitmentAnnouncement; +import com.zehong.system.service.ITSafetyCommitmentAnnouncementService; + +/** + * 安全承诺公告Serviceä¸šåŠ¡å±‚å¤„ç† + * + * @author zehong + * @date 2022-12-21 + */ +@Service +public class TSafetyCommitmentAnnouncementServiceImpl implements ITSafetyCommitmentAnnouncementService +{ + @Autowired + private TSafetyCommitmentAnnouncementMapper tSafetyCommitmentAnnouncementMapper; + + /** + * 查询安全承诺公告 + * + * @param id 安全承诺公告ID + * @return 安全承诺公告 + */ + @Override + public TSafetyCommitmentAnnouncement selectTSafetyCommitmentAnnouncementById(Long id) + { + return tSafetyCommitmentAnnouncementMapper.selectTSafetyCommitmentAnnouncementById(id); + } + + /** + * 查询安全承诺公告列表 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 安全承诺公告 + */ + @Override + public List<TSafetyCommitmentAnnouncement> selectTSafetyCommitmentAnnouncementList(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + return tSafetyCommitmentAnnouncementMapper.selectTSafetyCommitmentAnnouncementList(tSafetyCommitmentAnnouncement); + } + + /** + * 新增安全承诺公告 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 结果 + */ + @Override + public int insertTSafetyCommitmentAnnouncement(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + return tSafetyCommitmentAnnouncementMapper.insertTSafetyCommitmentAnnouncement(tSafetyCommitmentAnnouncement); + } + + /** + * 修改安全承诺公告 + * + * @param tSafetyCommitmentAnnouncement 安全承诺公告 + * @return 结果 + */ + @Override + public int updateTSafetyCommitmentAnnouncement(TSafetyCommitmentAnnouncement tSafetyCommitmentAnnouncement) + { + return tSafetyCommitmentAnnouncementMapper.updateTSafetyCommitmentAnnouncement(tSafetyCommitmentAnnouncement); + } + + /** + * 批é‡åˆ 除安全承诺公告 + * + * @param ids 需è¦åˆ 除的安全承诺公告ID + * @return 结果 + */ + @Override + public int deleteTSafetyCommitmentAnnouncementByIds(Long[] ids) + { + return tSafetyCommitmentAnnouncementMapper.deleteTSafetyCommitmentAnnouncementByIds(ids); + } + + /** + * åˆ é™¤å®‰å…¨æ‰¿è¯ºå…¬å‘Šä¿¡æ¯ + * + * @param id 安全承诺公告ID + * @return 结果 + */ + @Override + public int deleteTSafetyCommitmentAnnouncementById(Long id) + { + return tSafetyCommitmentAnnouncementMapper.deleteTSafetyCommitmentAnnouncementById(id); + } +} diff --git a/danger-manage-system/src/main/resources/mapper/system/TSafetyCommitmentAnnouncementMapper.xml b/danger-manage-system/src/main/resources/mapper/system/TSafetyCommitmentAnnouncementMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..5ee3803e21033afc9842621d1e85520a15c9049e --- /dev/null +++ b/danger-manage-system/src/main/resources/mapper/system/TSafetyCommitmentAnnouncementMapper.xml @@ -0,0 +1,137 @@ +<?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.zehong.system.mapper.TSafetyCommitmentAnnouncementMapper"> + + <resultMap type="TSafetyCommitmentAnnouncement" id="TSafetyCommitmentAnnouncementResult"> + <result property="id" column="id" /> + <result property="productionUnit" column="production_unit" /> + <result property="runningDevice" column="running_device" /> + <result property="shutdownDevice" column="shutdown_device" /> + <result property="maintenanceDevice" column="maintenance_device" /> + <result property="hotWork" column="hot_work" /> + <result property="specialHotWork" column="special_hot_work" /> + <result property="classOneHotWork" column="class_one_hot_work" /> + <result property="classTwoHotWork" column="class_two_hot_work" /> + <result property="isConfinedSpace" column="is_confined_space" /> + <result property="isTrialProduction" column="is_trial_production" /> + <result property="isSecurityStatus" column="is_security_status" /> + <result property="assessmentLevel" column="assessment_level" /> + <result property="keyPerson" column="key_person" /> + <result property="announcement" column="announcement" /> + <result property="commitmentDate" column="commitment_date" /> + <result property="status" column="status" /> + </resultMap> + + <sql id="selectTSafetyCommitmentAnnouncementVo"> + select id, production_unit, running_device, shutdown_device, maintenance_device, hot_work, special_hot_work, class_one_hot_work, class_two_hot_work, is_confined_space, is_trial_production, is_security_status, assessment_level, key_person, announcement, commitment_date, status from t_safety_commitment_announcement + </sql> + + <select id="selectTSafetyCommitmentAnnouncementList" parameterType="TSafetyCommitmentAnnouncement" resultMap="TSafetyCommitmentAnnouncementResult"> + <include refid="selectTSafetyCommitmentAnnouncementVo"/> + <where> + <if test="productionUnit != null "> and production_unit = #{productionUnit}</if> + <if test="runningDevice != null "> and running_device = #{runningDevice}</if> + <if test="shutdownDevice != null "> and shutdown_device = #{shutdownDevice}</if> + <if test="maintenanceDevice != null "> and maintenance_device = #{maintenanceDevice}</if> + <if test="hotWork != null "> and hot_work = #{hotWork}</if> + <if test="specialHotWork != null "> and special_hot_work = #{specialHotWork}</if> + <if test="classOneHotWork != null "> and class_one_hot_work = #{classOneHotWork}</if> + <if test="classTwoHotWork != null "> and class_two_hot_work = #{classTwoHotWork}</if> + <if test="isConfinedSpace != null and isConfinedSpace != ''"> and is_confined_space = #{isConfinedSpace}</if> + <if test="isTrialProduction != null and isTrialProduction != ''"> and is_trial_production = #{isTrialProduction}</if> + <if test="isSecurityStatus != null and isSecurityStatus != ''"> and is_security_status = #{isSecurityStatus}</if> + <if test="assessmentLevel != null and assessmentLevel != ''"> and assessment_level = #{assessmentLevel}</if> + <if test="keyPerson != null and keyPerson != ''"> and key_person = #{keyPerson}</if> + <if test="announcement != null and announcement != ''"> and announcement = #{announcement}</if> + <if test="status != null and status != ''"> and status = #{status}</if> + <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> + AND commitment_date >= #{params.beginTime} + </if> + <if test="params.endTime != null and params.endTime != ''"><!-- 结æŸæ—¶é—´æ£€ç´¢ --> + AND commitment_date <= #{params.endTime} + </if> + </where> + order by commitment_date desc + </select> + + <select id="selectTSafetyCommitmentAnnouncementById" parameterType="Long" resultMap="TSafetyCommitmentAnnouncementResult"> + <include refid="selectTSafetyCommitmentAnnouncementVo"/> + where id = #{id} + </select> + + <insert id="insertTSafetyCommitmentAnnouncement" parameterType="TSafetyCommitmentAnnouncement"> + insert into t_safety_commitment_announcement + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">id,</if> + <if test="productionUnit != null">production_unit,</if> + <if test="runningDevice != null">running_device,</if> + <if test="shutdownDevice != null">shutdown_device,</if> + <if test="maintenanceDevice != null">maintenance_device,</if> + <if test="hotWork != null">hot_work,</if> + <if test="specialHotWork != null">special_hot_work,</if> + <if test="classOneHotWork != null">class_one_hot_work,</if> + <if test="classTwoHotWork != null">class_two_hot_work,</if> + <if test="isConfinedSpace != null">is_confined_space,</if> + <if test="isTrialProduction != null">is_trial_production,</if> + <if test="isSecurityStatus != null">is_security_status,</if> + <if test="assessmentLevel != null">assessment_level,</if> + <if test="keyPerson != null">key_person,</if> + <if test="announcement != null">announcement,</if> + <if test="status != null">status,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null">#{id},</if> + <if test="productionUnit != null">#{productionUnit},</if> + <if test="runningDevice != null">#{runningDevice},</if> + <if test="shutdownDevice != null">#{shutdownDevice},</if> + <if test="maintenanceDevice != null">#{maintenanceDevice},</if> + <if test="hotWork != null">#{hotWork},</if> + <if test="specialHotWork != null">#{specialHotWork},</if> + <if test="classOneHotWork != null">#{classOneHotWork},</if> + <if test="classTwoHotWork != null">#{classTwoHotWork},</if> + <if test="isConfinedSpace != null">#{isConfinedSpace},</if> + <if test="isTrialProduction != null">#{isTrialProduction},</if> + <if test="isSecurityStatus != null">#{isSecurityStatus},</if> + <if test="assessmentLevel != null">#{assessmentLevel},</if> + <if test="keyPerson != null">#{keyPerson},</if> + <if test="announcement != null">#{announcement},</if> + <if test="status != null">#{status},</if> + </trim> + </insert> + + <update id="updateTSafetyCommitmentAnnouncement" parameterType="TSafetyCommitmentAnnouncement"> + update t_safety_commitment_announcement + <trim prefix="SET" suffixOverrides=","> + <if test="productionUnit != null">production_unit = #{productionUnit},</if> + <if test="runningDevice != null">running_device = #{runningDevice},</if> + <if test="shutdownDevice != null">shutdown_device = #{shutdownDevice},</if> + <if test="maintenanceDevice != null">maintenance_device = #{maintenanceDevice},</if> + <if test="hotWork != null">hot_work = #{hotWork},</if> + <if test="specialHotWork != null">special_hot_work = #{specialHotWork},</if> + <if test="classOneHotWork != null">class_one_hot_work = #{classOneHotWork},</if> + <if test="classTwoHotWork != null">class_two_hot_work = #{classTwoHotWork},</if> + <if test="isConfinedSpace != null">is_confined_space = #{isConfinedSpace},</if> + <if test="isTrialProduction != null">is_trial_production = #{isTrialProduction},</if> + <if test="isSecurityStatus != null">is_security_status = #{isSecurityStatus},</if> + <if test="assessmentLevel != null">assessment_level = #{assessmentLevel},</if> + <if test="keyPerson != null">key_person = #{keyPerson},</if> + <if test="announcement != null">announcement = #{announcement},</if> + <if test="status != null">status = #{status},</if> + <if test="commitmentDate != null">commitment_date = #{commitmentDate},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteTSafetyCommitmentAnnouncementById" parameterType="Long"> + delete from t_safety_commitment_announcement where id = #{id} + </delete> + + <delete id="deleteTSafetyCommitmentAnnouncementByIds" parameterType="String"> + delete from t_safety_commitment_announcement where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> +</mapper> \ No newline at end of file diff --git a/danger-manage-web/src/api/safetyManagement/announcement.js b/danger-manage-web/src/api/safetyManagement/announcement.js new file mode 100644 index 0000000000000000000000000000000000000000..17214624cbd3a2ef55ba1a42281974edbaf852c8 --- /dev/null +++ b/danger-manage-web/src/api/safetyManagement/announcement.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询安全承诺公告列表 +export function listAnnouncement(query) { + return request({ + url: '/safetyManagement/announcement/list', + method: 'get', + params: query + }) +} + +// 查询安全承诺公告详细 +export function getAnnouncement(id) { + return request({ + url: '/safetyManagement/announcement/' + id, + method: 'get' + }) +} + +// 新增安全承诺公告 +export function addAnnouncement(data) { + return request({ + url: '/safetyManagement/announcement', + method: 'post', + data: data + }) +} + +// 修改安全承诺公告 +export function updateAnnouncement(data) { + return request({ + url: '/safetyManagement/announcement', + method: 'put', + data: data + }) +} + +// åˆ é™¤å®‰å…¨æ‰¿è¯ºå…¬å‘Š +export function delAnnouncement(id) { + return request({ + url: '/safetyManagement/announcement/' + id, + method: 'delete' + }) +} + +// 导出安全承诺公告 +export function exportAnnouncement(query) { + return request({ + url: '/safetyManagement/announcement/export', + method: 'get', + params: query + }) +} diff --git a/danger-manage-web/src/views/safetyManagement/announcement/index.vue b/danger-manage-web/src/views/safetyManagement/announcement/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..83adcd4cbb732e66b4e2654b7a8a49c89095d32f --- /dev/null +++ b/danger-manage-web/src/views/safetyManagement/announcement/index.vue @@ -0,0 +1,439 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="风险ç‰çº§" prop="assessmentLevel"> + <el-select v-model="queryParams.assessmentLevel" placeholder="请选择风险ç‰çº§" style="width: 100%"> + <el-option + v-for="dict in levelOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="承诺时间" prop="commitmentDate"> + <el-date-picker + v-model="dateRange" + value-format="yyyy-MM-dd HH:mm:ss" + size="small" + style="width: 220px" + type="datetimerange" + range-separator="-" + start-placeholder="开始时间" + end-placeholder="结æŸæ—¶é—´" + :default-time="['00:00:00', '23:59:59']" + ></el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æœç´¢</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">é‡ç½®</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button style="width: 75px" + type="primary" + plain + size="mini" + @click="handleAdd" + >承诺</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> + + <el-table v-loading="loading" :data="announcementList"> + <el-table-column label="åºå·" align="center" type="index" width="100"/> + <el-table-column label="风险ç‰çº§" align="center" prop="assessmentLevel" :formatter="levelFormate"/> + <el-table-column label="承诺人" align="center" prop="keyPerson" /> + <el-table-column label="承诺时间" align="center" prop="commitmentDate" width="180" /> + <el-table-column label="承诺状æ€" align="center" prop="status" > + <template slot-scope="scope"> + <span v-if="scope.row.status == '0'">已承诺</span> + </template> + </el-table-column> + <el-table-column label="查看报告" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleDetail(scope.row)" + >安全承诺报告</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- æ·»åŠ æˆ–ä¿®æ”¹å®‰å…¨æ‰¿è¯ºå…¬å‘Šå¯¹è¯æ¡† --> + <el-dialog :title="title" center :visible.sync="open" width="1200px" append-to-body @close="cancel"> + <el-form ref="form" :model="form" :rules="rules" label-width="160px"> + <el-row> + <el-col :span="24"> + <span style="font-weight: bold">ä¼ä¸šçŠ¶æ€</span> + <el-divider></el-divider> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="生产装置" prop="productionUnit"> + <el-input v-show="!operate" v-model="form.productionUnit" placeholder="" disabled/> + <span v-show="operate">{{form.productionUnit}}</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="è¿è¡Œè£…ç½®" prop="runningDevice"> + <el-input-number v-show="!operate" :min="0" v-model="form.runningDevice" placeholder="请输入è¿è¡Œè£…置数é‡" @change="unitSum"/> + <span v-show="operate">{{form.runningDevice}}</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="åœäº§è£…ç½®" prop="shutdownDevice"> + <el-input-number v-show="!operate" :min="0" v-model="form.shutdownDevice" placeholder="请输入åœäº§è£…置数é‡" @change="unitSum"/> + <span v-show="operate">{{form.shutdownDevice}}</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="检修装置" prop="maintenanceDevice"> + <el-input-number v-show="!operate" :min="0" v-model="form.maintenanceDevice" placeholder="请输入检修装置数é‡" @change="unitSum"/> + <span v-show="operate">{{form.maintenanceDevice}}</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="动ç«ä½œä¸š" prop="hotWork"> + <el-input v-show="!operate" v-model="form.hotWork" placeholder="" disabled/> + <span v-show="operate">{{form.hotWork}}</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="特殊动ç«ä½œä¸š" prop="specialHotWork"> + <el-input-number v-show="!operate" :min="0" v-model="form.specialHotWork" placeholder="请输入特殊动ç«ä½œä¸šæ•°é‡" @change="workSum"/> + <span v-show="operate">{{form.specialHotWork}}</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="一级动ç«ä½œä¸š" prop="classOneHotWork"> + <el-input-number v-show="!operate" :min="0" v-model="form.classOneHotWork" placeholder="请输入一级动ç«ä½œä¸šæ•°é‡" @change="workSum"/> + <span v-show="operate">{{form.classOneHotWork}}</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="二级动ç«ä½œä¸š" prop="classTwoHotWork"> + <el-input-number v-show="!operate" :min="0" v-model="form.classTwoHotWork" placeholder="请输入二级动ç«ä½œä¸šæ•°é‡" @change="workSum"/> + <span v-show="operate">{{form.classTwoHotWork}}</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="风险ç‰çº§" prop="assessmentLevel"> + <el-select v-show="!operate" v-model="form.assessmentLevel" placeholder="请选择风险ç‰çº§" style="width: 100%"> + <el-option v-show="!operate" + v-for="dict in levelOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + ></el-option> + </el-select> + <span v-show="operate">{{form.assessmentLevel}}</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="进入å—é™ç©ºé—´ä½œä¸š" prop="isConfinedSpace"> + <el-select v-show="!operate" v-model="form.isConfinedSpace" placeholder="是å¦è¿›å…¥å—é™ç©ºé—´ä½œä¸š" style="width: 100%"> + <el-option + v-for="dict in options" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + <span v-show="operate" v-if="form.isConfinedSpace == '0'">是</span> + <span v-show="operate" v-if="form.isConfinedSpace == '1'">å¦</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="是å¦å¤„于试生产" prop="isTrialProduction"> + <el-select v-show="!operate" v-model="form.isTrialProduction" placeholder="是å¦å¤„于试生产" style="width: 100%"> + <el-option + v-for="dict in options" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + <span v-show="operate" v-if="form.isTrialProduction == '0'">是</span> + <span v-show="operate" v-if="form.isTrialProduction == '1'">å¦</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="ç½è£…ã€ä»“库ç‰é‡å¤§å±é™©æºæ˜¯å¦å¤„于安全状æ€"> + <el-select v-show="!operate" v-model="form.isSecurityStatus" placeholder="是å¦å¤„于安全状æ€" style="width: 100%"> + <el-option + v-for="dict in options" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + <span v-show="operate" v-if="form.isSecurityStatus == '0'">是</span> + <span v-show="operate" v-if="form.isSecurityStatus == '1'">å¦</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <span style="font-weight: bold">ä¼ä¸šæ‰¿è¯º</span> + <el-divider></el-divider> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="主è¦è´Ÿè´£äºº" prop="keyPerson"> + <el-input v-show="!operate" v-model="form.keyPerson" placeholder="请输入主è¦è´Ÿè´£äºº" /> + <span v-show="operate">{{form.keyPerson}}</span> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="承诺日期" prop="commitmentDate"> + <el-date-picker clearable size="small" disabled v-show="!operate" + v-model="commitmentDate" + type="date" + value-format="yyyy-MM-dd" + placeholder="选择承诺日期"> + </el-date-picker> + <span v-show="operate">{{parseTime(form.commitmentDate, '{y}-{m}-{d}')}}</span> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="承诺公告" prop="announcement"> + <el-input v-show="!operate" v-model="form.announcement" type="textarea" placeholder="请输入内容" /> + <span v-show="operate">{{form.announcement}}</span> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button v-show="!operate" type="primary" @click="submitForm">ç¡® 定</el-button> + <el-button v-show="!operate" @click="cancel">å– æ¶ˆ</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listAnnouncement, getAnnouncement, delAnnouncement, addAnnouncement, updateAnnouncement, exportAnnouncement } from "@/api/safetyManagement/announcement"; + +export default { + name: "Announcement", + components: { + }, + data() { + return { + // é®ç½©å±‚ + loading: true, + // 导出é®ç½©å±‚ + exportLoading: false, + // 选ä¸æ•°ç»„ + ids: [], + // 日期范围(默认当日0点到当å‰æ—¶é—´ï¼‰ + // dateRange: [new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0,0,0), new Date()], + dateRange: [], + levelOptions: [], + options: [{ + value:"0", + label:"是" + },{ + value:"1", + label:"å¦" + }], + // 显示æœç´¢æ¡ä»¶ + showSearch: true, + // 总æ¡æ•° + total: 0, + // å®‰å…¨æ‰¿è¯ºå…¬å‘Šè¡¨æ ¼æ•°æ® + announcementList: [], + // å¼¹å‡ºå±‚æ ‡é¢˜ + title: "", + // 是å¦æ˜¾ç¤ºå¼¹å‡ºå±‚ + open: false, + //详情控制 + operate: false, + // 查询å‚æ•° + queryParams: { + pageNum: 1, + pageSize: 10, + assessmentLevel: null + }, + // 表å•å‚æ•° + form: {}, + commitmentDate: new Date(), + // 表å•æ ¡éªŒ + rules: { + keyPerson: [ + { required: true, message: "主è¦è´Ÿè´£äººä¸èƒ½ä¸ºç©º", trigger: "blur" } + ], + announcement: [ + { required: true, message: "承诺公告ä¸èƒ½ä¸ºç©º", trigger: "blur" } + ], + } + }; + }, + created() { + this.getList(); + this.getDicts("assessment_level").then(response => { + this.levelOptions = response.data; + }); + }, + methods: { + /** 查询安全承诺公告列表 */ + getList() { + this.loading = true; + // let params, + // begin = this.dateRange[0], + // end = this.dateRange[1]; + // // params = [begin.getFullYear()+'-'+begin.getMonth()+'-'+begin.getDate()+' '+end.getHours()+':'+end.getMinutes()+':'+end.getSeconds(), + // // end.getFullYear()+'-'+end.getMonth()+'-'+end.getDate()+' '+end.getHours()+':'+end.getMinutes()+':'+end.getSeconds()]; + // params = [begin.toLocaleString(), end.toLocaleString()]; + // console.log(begin, end); + // console.log("params", params); + // listAnnouncement(this.addDateRange(this.queryParams, params)).then(response => { + listAnnouncement(this.addDateRange(this.queryParams, this.dateRange)).then(response => { + console.log("response.rows",response.rows); + this.announcementList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + levelFormate(row){ + console.log("this.levelOptions",this.levelOptions); + return this.levelOptions.find(item => item.dictValue == row.assessmentLevel).dictLabel; + }, + unitSum(){ + if(isNaN(this.form.runningDevice)){ + this.form.runningDevice = 0; + } + if(isNaN(this.form.shutdownDevice)){ + this.form.shutdownDevice = 0; + } + if(isNaN(this.form.maintenanceDevice)){ + this.form.maintenanceDevice = 0; + } + this.form.productionUnit = this.form.runningDevice + this.form.shutdownDevice + this.form.maintenanceDevice; + }, + workSum(){ + if(isNaN(this.form.specialHotWork)){ + this.form.specialHotWork = 0; + } + if(isNaN(this.form.classOneHotWork)){ + this.form.classOneHotWork = 0; + } + if(isNaN(this.form.classTwoHotWork)){ + this.form.classTwoHotWork = 0; + } + this.form.hotWork = this.form.specialHotWork + this.form.classOneHotWork + this.form.classTwoHotWork; + }, + // å–消按钮 + cancel() { + this.open = false; + this.operate = false; + this.reset(); + }, + // 表å•é‡ç½® + reset() { + this.form = { + id: null, + productionUnit: null, + runningDevice: null, + shutdownDevice: null, + maintenanceDevice: null, + hotWork: null, + specialHotWork: null, + classOneHotWork: null, + classTwoHotWork: null, + isConfinedSpace: null, + isTrialProduction: null, + isSecurityStatus: null, + assessmentLevel: null, + keyPerson: null, + announcement: null + }; + this.resetForm("form"); + }, + /** æœç´¢æŒ‰é’®æ“作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** é‡ç½®æŒ‰é’®æ“作 */ + resetQuery() { + // this.dateRange = [new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0,0,0), new Date()]; + this.dateRange = []; + this.resetForm("queryForm"); + this.handleQuery(); + }, + /** 新增按钮æ“作 */ + handleAdd() { + let params, + begin = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0,0,0), + end = new Date(); + params = [begin.toLocaleString(), end.toLocaleString()]; + console.log(begin, end); + console.log("params", params); + listAnnouncement(this.addDateRange(this.queryParams, params)).then(response => { + let list = response.rows; + if(list.length == 0) { + this.reset(); + this.open = true; + this.title = "安全承诺公告"; + }else{ + this.msgError("今日已录入安全承诺"); + } + }); + }, + /** æ交按钮 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + + addAnnouncement(this.form).then(response => { + this.msgSuccess("æ交æˆåŠŸ"); + this.open = false; + this.getList(); + }); + + } + }); + }, + handleDetail(row) { + getAnnouncement(row.id).then(response => { + if(response.code == 200) { + this.form = response.data; + this.open = true; + this.operate = true; + this.title = "安全承诺公告报告"; + }else{ + this.msgSuccess("查看失败"); + } + }); + }, + } +}; +</script>