From 17098be966b80038f86589837a6a3af69b27e767 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 7 May 2024 19:46:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=B3=E5=8A=A1=E4=BA=BA=E5=91=98-=E5=87=86?= =?UTF-8?q?=E5=85=A5=E5=8F=B0=E8=B4=A6=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QualityInspectionRecordController.java | 25 ++- .../entity/QualityInspectionRecord.java | 6 +- .../IQualityInspectionRecordService.java | 4 + .../QualityInspectionRecordServiceImpl.java | 84 ++++++++- ...AnalyseHardWareAlarmRecordServiceImpl.java | 1 + .../WorkerAccessRecordController.java | 174 ++++++++++++++++++ ...rityQualityInspectionRecordController.java | 23 +-- .../entity/WorkerAccessRecord.java | 75 ++++++++ .../XzSecurityQualityInspectionRecord.java | 8 +- .../mapper/WorkerAccessRecordMapper.java | 16 ++ .../mapper/xml/WorkerAccessRecordMapper.xml | 4 + .../service/IWorkerAccessRecordService.java | 27 +++ ...ecurityQualityInspectionRecordService.java | 4 + .../impl/WorkerAccessRecordServiceImpl.java | 85 +++++++++ ...ityQualityInspectionRecordServiceImpl.java | 79 ++++++++ .../xz/entity/XzDeductScoreRecord.java | 8 +- .../zhgd/xmgl/push/config/GeTuiConfig.java | 9 +- .../push/controller/UniPushController.java | 19 +- .../push/service/impl/UniPushServiceImpl.java | 2 +- 19 files changed, 607 insertions(+), 46 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/controller/WorkerAccessRecordController.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/entity/WorkerAccessRecord.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/WorkerAccessRecordMapper.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/WorkerAccessRecordMapper.xml create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/service/IWorkerAccessRecordService.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/WorkerAccessRecordServiceImpl.java diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/controller/QualityInspectionRecordController.java b/src/main/java/com/zhgd/xmgl/modules/quality/controller/QualityInspectionRecordController.java index 637241b07..26f9b8185 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/controller/QualityInspectionRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/controller/QualityInspectionRecordController.java @@ -167,6 +167,16 @@ public class QualityInspectionRecordController { return Result.ok(); } + + @OperLog(operModul = "检查人撤回检查记录", operType = "检查人撤回检查记录", operDesc = "检查人撤回检查记录") + @ApiOperation(value = "检查人撤回检查记录", notes = "检查人撤回检查记录", httpMethod = "POST") + @PostMapping(value = "/revocation") + public Result revocation(@RequestBody QualityInspectionRecord xzSecurityQualityInspectionRecord) { + qualityInspectionRecordService.revocation(xzSecurityQualityInspectionRecord); + return Result.ok(); + } + + /** * 编辑 * @@ -177,19 +187,8 @@ public class QualityInspectionRecordController { @ApiOperation(value = "编辑质量检查记录信息", notes = "编辑质量检查记录信息", httpMethod = "POST") @PostMapping(value = "/edit") public Result edit(@RequestBody QualityInspectionRecord qualityInspectionRecord) { - Result result = new Result(); - QualityInspectionRecord qualityInspectionRecordEntity = qualityInspectionRecordService.getById(qualityInspectionRecord.getId()); - if (qualityInspectionRecordEntity == null) { - result.error500(MessageUtil.get("notFindErr")); - } else { - boolean ok = qualityInspectionRecordService.updateById(qualityInspectionRecord); - - if (ok) { - result.successMsg(MessageUtil.get("editSucess")); - } - } - - return result; + qualityInspectionRecordService.edit(qualityInspectionRecord); + return Result.ok(); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityInspectionRecord.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityInspectionRecord.java index d71d86b12..eca17d860 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityInspectionRecord.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityInspectionRecord.java @@ -93,10 +93,10 @@ public class QualityInspectionRecord implements Serializable { @ApiModelProperty(value = "紧急程度,1一般,2严重,3紧要") private java.lang.String urgentLevel; /** - * 状态,2待整改,3待复查,4待核验,5合格 + * 状态,2待整改,3待复查,4待核验,5合格,6已撤回 */ - @Excel(name = "状态,2待整改,3待复查,4待核验,5合格", width = 15) - @ApiModelProperty(value = "状态,2待整改,3待复查,4待核验,5合格") + @Excel(name = "状态,2待整改,3待复查,4待核验,5合格,6已撤回", width = 15) + @ApiModelProperty(value = "状态,2待整改,3待复查,4待核验,5合格,6已撤回") private java.lang.Integer status; /** * 通知人 diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/service/IQualityInspectionRecordService.java b/src/main/java/com/zhgd/xmgl/modules/quality/service/IQualityInspectionRecordService.java index 6b81bfe0f..1921d528b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/service/IQualityInspectionRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/service/IQualityInspectionRecordService.java @@ -61,4 +61,8 @@ public interface IQualityInspectionRecordService extends IService paramMap); List countQualityInspectionRecordRegion(HashMap paramMap); + + void revocation(QualityInspectionRecord xzSecurityQualityInspectionRecord); + + void edit(QualityInspectionRecord qualityInspectionRecord); } diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java index cdbdf7764..cafb26c1d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gexin.fastjson.JSON; import com.gexin.fastjson.TypeReference; import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; @@ -40,6 +41,8 @@ import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord; import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper; import com.zhgd.xmgl.push.config.PushPayloads; import com.zhgd.xmgl.util.JxlExcelUtils; +import com.zhgd.xmgl.util.MessageUtil; +import com.zhgd.xmgl.util.NumberUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -308,10 +311,11 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl xzSecurityQualityRectifyRecords = qualityRectifyRecordMapper.selectList(new LambdaQueryWrapper().eq(QualityRectifyRecord::getQualityId, record.getId())); + if (CollUtil.isNotEmpty(xzSecurityQualityRectifyRecords)) { + throw new OpenAlertException("该数据已整改,无法撤回"); + } + record.setStatus(6); + baseMapper.updateById(record); + + recoverScore(record); + } + + @Override + public void edit(QualityInspectionRecord qualityInspectionRecord) { + QualityInspectionRecord xzSecurityQualityInspectionRecordEntity = getById(qualityInspectionRecord.getId()); + if (xzSecurityQualityInspectionRecordEntity == null) { + throw new OpenAlertException(MessageUtil.get("notFindErr")); + } + boolean ok = updateById(qualityInspectionRecord); + + deductScoreIf(qualityInspectionRecord); + } + + + private void recoverScore(QualityInspectionRecord hiddenDangerInspectRecord) { + if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) { + return; + } + Long inspectHiddenDangerItemRecordId = hiddenDangerInspectRecord.getDangerItemId(); + DangerItemRecord item = dangerItemRecordMapper.selectById(inspectHiddenDangerItemRecordId); + if (item == null || item.getDeductScore() == null) { + return; + } + Double ds = item.getDeductScore(); + if (ds == null || ds == 0) { + return; + } + Long changeUser = hiddenDangerInspectRecord.getChangeId(); + if (changeUser == null) { + return; + } + SystemUser systemUser = systemUserMapper.selectById(changeUser); + if (systemUser == null) { + return; + } + WorkerInfo workerInfo = workerInfoMapper.selectById(systemUser.getWorkerId()); + if (workerInfo == null) { + return; + } + + //还原扣的分数 + HashMap map = new HashMap<>(); + map.put("id", workerInfo.getId()); + map.put("deductScore", ds * -1); + workerInfoMapper.updateScore(map); + + //不能超过100分 + WorkerInfo w1 = workerInfoMapper.selectById(systemUser.getWorkerId()); + if (NumberUtils.gt(w1.getSafeScore().toString(), "100")) { + w1.setSafeScore(100D); + workerInfoMapper.updateById(w1); + } + + xzDeductScoreRecordMapper.delete(new LambdaQueryWrapper() + .eq(XzDeductScoreRecord::getTypeTableId, hiddenDangerInspectRecord.getId()) + .eq(XzDeductScoreRecord::getType, 3) + ); + } + private void setWeekRatioData(AllAndWeekDataVO allAndWeekDataVO) { long weekClose = allAndWeekDataVO.getWeekClose(); long weekNoClose = allAndWeekDataVO.getWeekNoClose(); diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java index 13c57a040..37ab02bb5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java @@ -501,6 +501,7 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(workerAccessRecordService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询劳务人员-准入台账信息", notes = "列表查询劳务人员-准入台账信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(workerAccessRecordService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param workerAccessRecord + * @return + */ + @ApiOperation(value = "添加劳务人员-准入台账信息", notes = "添加劳务人员-准入台账信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate WorkerAccessRecord workerAccessRecord) { + workerAccessRecordService.add(workerAccessRecord); + return Result.ok(); + } + + /** + * 编辑 + * + * @param workerAccessRecord + * @return + */ + @ApiOperation(value = "编辑劳务人员-准入台账信息", notes = "编辑劳务人员-准入台账信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody WorkerAccessRecord workerAccessRecord) { + workerAccessRecordService.edit(workerAccessRecord); + 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) { + workerAccessRecordService.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) { + Result result = new Result(); + WorkerAccessRecord workerAccessRecord = workerAccessRecordService.getById(id); + if (workerAccessRecord == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(workerAccessRecord); + result.setSuccess(true); + } + return result; + } + + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel劳务人员-准入台账信息", notes = "导出excel劳务人员-准入台账信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + WorkerAccessRecord partyMemberActivitySpeakCare = JSON.parseObject(deString, WorkerAccessRecord.class); + queryWrapper = QueryGenerator.initQueryWrapper(partyMemberActivitySpeakCare, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + log.error("error:", e); + } + + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = workerAccessRecordService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "党员活动、学习讲话、党员关怀列表"); + mv.addObject(NormalExcelConstants.CLASS, WorkerAccessRecord.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("党员活动、学习讲话、党员关怀列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/controller/XzSecurityQualityInspectionRecordController.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/controller/XzSecurityQualityInspectionRecordController.java index 6dcd3bc2b..325052c17 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/controller/XzSecurityQualityInspectionRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/controller/XzSecurityQualityInspectionRecordController.java @@ -167,6 +167,14 @@ public class XzSecurityQualityInspectionRecordController { return Result.ok(); } + @OperLog(operModul = "检查人撤回检查记录", operType = "检查人撤回检查记录", operDesc = "检查人撤回检查记录") + @ApiOperation(value = "检查人撤回检查记录", notes = "检查人撤回检查记录", httpMethod = "POST") + @PostMapping(value = "/revocation") + public Result revocation(@RequestBody XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord) { + qualityInspectionRecordService.revocation(xzSecurityQualityInspectionRecord); + return Result.ok(); + } + /** * 编辑 * @@ -177,19 +185,8 @@ public class XzSecurityQualityInspectionRecordController { @ApiOperation(value = "编辑安全检查记录信息", notes = "编辑安全检查记录信息", httpMethod = "POST") @PostMapping(value = "/edit") public Result edit(@RequestBody XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord) { - Result result = new Result(); - XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecordEntity = qualityInspectionRecordService.getById(xzSecurityQualityInspectionRecord.getId()); - if (xzSecurityQualityInspectionRecordEntity == null) { - result.error500(MessageUtil.get("notFindErr")); - } else { - boolean ok = qualityInspectionRecordService.updateById(xzSecurityQualityInspectionRecord); - - if (ok) { - result.successMsg(MessageUtil.get("editSucess")); - } - } - - return result; + qualityInspectionRecordService.edit(xzSecurityQualityInspectionRecord); + return Result.ok(); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/WorkerAccessRecord.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/WorkerAccessRecord.java new file mode 100644 index 000000000..6c479a241 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/WorkerAccessRecord.java @@ -0,0 +1,75 @@ +package com.zhgd.xmgl.modules.xz.security.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: 劳务人员-准入台账 + * @author: pds + * @date: 2024-05-07 + * @version: V1.0 + */ +@Data +@TableName("worker_access_record") +@ApiModel(value = "WorkerAccessRecord实体类", description = "WorkerAccessRecord") +public class WorkerAccessRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.Long id; + /** + * 人员类型 + */ + @Excel(name = "人员类型", width = 15) + @ApiModelProperty(value = "人员类型") + private java.lang.String personType; + /** + * 企业名称 + */ + @Excel(name = "企业名称", width = 15) + @ApiModelProperty(value = "企业名称") + private java.lang.String enterpriseName; + /** + * 班组或部门 + */ + @Excel(name = "班组或部门", width = 15) + @ApiModelProperty(value = "班组或部门") + private java.lang.String teamDepartmentName; + /** + * 姓名 + */ + @Excel(name = "姓名", width = 15) + @ApiModelProperty(value = "姓名") + private java.lang.String workerName; + private java.lang.String projectSn; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", 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 = "创建时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date createTime; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", 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 = "更新时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date updateTime; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzSecurityQualityInspectionRecord.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzSecurityQualityInspectionRecord.java index 947af3f2b..96d8f672b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzSecurityQualityInspectionRecord.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzSecurityQualityInspectionRecord.java @@ -93,11 +93,11 @@ public class XzSecurityQualityInspectionRecord implements Serializable { @ApiModelProperty(value = "紧急程度,1一般,2严重,3紧要") private String urgentLevel; /** - * 状态,2待整改,3待复查,4待核验,5合格 + * 状态,2待整改,3待复查,4待核验,5合格,6已撤回 */ - @Excel(name = "状态,2待整改,3待复查,4待核验,5合格", width = 15) - @ApiModelProperty(value = "状态,2待整改,3待复查,4待核验,5合格") - private Integer status; + @Excel(name = "状态,2待整改,3待复查,4待核验,5合格,6已撤回", width = 15) + @ApiModelProperty(value = "状态,2待整改,3待复查,4待核验,5合格,6已撤回") + private java.lang.Integer status; /** * 通知人 */ diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/WorkerAccessRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/WorkerAccessRecordMapper.java new file mode 100644 index 000000000..6ce6d7915 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/WorkerAccessRecordMapper.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.xz.security.mapper; + +import com.zhgd.xmgl.modules.xz.security.entity.WorkerAccessRecord; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 劳务人员-准入台账 + * @author: pds + * @date: 2024-05-07 + * @version: V1.0 + */ +@Mapper +public interface WorkerAccessRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/WorkerAccessRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/WorkerAccessRecordMapper.xml new file mode 100644 index 000000000..3932f8890 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/WorkerAccessRecordMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IWorkerAccessRecordService.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IWorkerAccessRecordService.java new file mode 100644 index 000000000..3a0b41009 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IWorkerAccessRecordService.java @@ -0,0 +1,27 @@ +package com.zhgd.xmgl.modules.xz.security.service; + +import com.zhgd.xmgl.modules.xz.security.entity.WorkerAccessRecord; +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-07 + * @version: V1.0 + */ +public interface IWorkerAccessRecordService extends IService { + + IPage queryPageList(HashMap paramMap); + + List queryList(HashMap paramMap); + + void add(WorkerAccessRecord workerAccessRecord); + + void edit(WorkerAccessRecord workerAccessRecord); + + void delete(String id); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzSecurityQualityInspectionRecordService.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzSecurityQualityInspectionRecordService.java index dfc967c6f..6df75a304 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzSecurityQualityInspectionRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzSecurityQualityInspectionRecordService.java @@ -64,4 +64,8 @@ public interface IXzSecurityQualityInspectionRecordService extends IService statsByChangeId(Map paramMap); + void revocation(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord); + + void edit(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/WorkerAccessRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/WorkerAccessRecordServiceImpl.java new file mode 100644 index 000000000..979eaaa5e --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/WorkerAccessRecordServiceImpl.java @@ -0,0 +1,85 @@ +package com.zhgd.xmgl.modules.xz.security.service.impl; + +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.xmgl.modules.xz.security.entity.WorkerAccessRecord; +import com.zhgd.xmgl.modules.xz.security.mapper.WorkerAccessRecordMapper; +import com.zhgd.xmgl.modules.xz.security.service.IWorkerAccessRecordService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.util.PageUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.HashMap; +import java.util.List; + +import com.zhgd.xmgl.util.RefUtil; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description: 劳务人员-准入台账 + * @author: pds + * @date: 2024-05-07 + * @version: V1.0 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class WorkerAccessRecordServiceImpl extends ServiceImpl implements IWorkerAccessRecordService { + @Autowired + private WorkerAccessRecordMapper workerAccessRecordMapper; + + @Override + public IPage queryPageList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + Page page = PageUtil.getPage(paramMap); + IPage pageList = this.page(page, queryWrapper); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + return dealList(this.list(queryWrapper)); + } + + private QueryWrapper getQueryWrapper(HashMap paramMap) { + String alias = ""; + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(WorkerAccessRecord.class, paramMap, alias); + queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(WorkerAccessRecord::getCreateTime)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(WorkerAccessRecord workerAccessRecord) { + workerAccessRecord.setId(null); + baseMapper.insert(workerAccessRecord); + } + + @Override + public void edit(WorkerAccessRecord workerAccessRecord) { + WorkerAccessRecord oldWorkerAccessRecord = baseMapper.selectById(workerAccessRecord.getId()); + if (oldWorkerAccessRecord == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.updateById(workerAccessRecord); + } + + @Override + public void delete(String id) { + WorkerAccessRecord workerAccessRecord = baseMapper.selectById(id); + if (workerAccessRecord == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.deleteById(id); + } + + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java index 942190825..c2ba1b4ba 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gexin.fastjson.JSON; import com.gexin.fastjson.TypeReference; import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; @@ -40,6 +41,8 @@ import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityRectifyRecordMa import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService; import com.zhgd.xmgl.push.config.PushPayloads; import com.zhgd.xmgl.util.JxlExcelUtils; +import com.zhgd.xmgl.util.MessageUtil; +import com.zhgd.xmgl.util.NumberUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -311,6 +314,7 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv vo.setCreateDate(new Date()); vo.setCurScore(workerInfo.getSafeScore() - item.getDeductScore()); vo.setDeductReason(StrUtil.format("您在{}发现安全隐患({}-{})扣{}分", DateUtil.format(vo.getCreateDate(), "yyyy年MM月dd日HH:mm:ss"), "安全检査", vo.getTypeName() == null ? "无" : vo.getTypeName(), item.getDeductScore())); + vo.setTypeTableId(hiddenDangerInspectRecord.getId()); xzDeductScoreRecordMapper.insert(vo); } @@ -446,6 +450,81 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv return baseMapper.statsByChangeId(paramMap); } + @Override + public void revocation(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord) { + XzSecurityQualityInspectionRecord record = baseMapper.selectById(xzSecurityQualityInspectionRecord.getId()); + if (record == null) { + throw new OpenAlertException("该数据不存在"); + } + if (Objects.equals(record.getStatus(), 6)) { + return; + } + List xzSecurityQualityRectifyRecords = xzSecurityQualityRectifyRecordMapper.selectList(new LambdaQueryWrapper().eq(XzSecurityQualityRectifyRecord::getQualityId, record.getId())); + if (CollUtil.isNotEmpty(xzSecurityQualityRectifyRecords)) { + throw new OpenAlertException("该数据已整改,无法撤回"); + } + record.setStatus(6); + baseMapper.updateById(record); + + recoverScore(record); + } + + @Override + public void edit(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord) { + XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecordEntity = getById(xzSecurityQualityInspectionRecord.getId()); + if (xzSecurityQualityInspectionRecordEntity == null) { + throw new OpenAlertException(MessageUtil.get("notFindErr")); + } + boolean ok = updateById(xzSecurityQualityInspectionRecord); + + deductScoreIf(xzSecurityQualityInspectionRecord); + } + + private void recoverScore(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) { + if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) { + return; + } + Long inspectHiddenDangerItemRecordId = hiddenDangerInspectRecord.getDangerItemId(); + XzSecurityDangerItemRecord item = xzSecurityDangerItemRecordMapper.selectById(inspectHiddenDangerItemRecordId); + if (item == null || item.getDeductScore() == null) { + return; + } + Double ds = item.getDeductScore(); + if (ds == null || ds == 0) { + return; + } + Long changeUser = hiddenDangerInspectRecord.getChangeId(); + if (changeUser == null) { + return; + } + SystemUser systemUser = systemUserMapper.selectById(changeUser); + if (systemUser == null) { + return; + } + WorkerInfo workerInfo = workerInfoMapper.selectById(systemUser.getWorkerId()); + if (workerInfo == null) { + return; + } + + //还原扣的分数 + HashMap map = new HashMap<>(); + map.put("id", workerInfo.getId()); + map.put("deductScore", ds * -1); + workerInfoMapper.updateScore(map); + + //不能超过100分 + WorkerInfo w1 = workerInfoMapper.selectById(systemUser.getWorkerId()); + if (NumberUtils.gt(w1.getSafeScore().toString(), "100")) { + w1.setSafeScore(100D); + workerInfoMapper.updateById(w1); + } + + xzDeductScoreRecordMapper.delete(new LambdaQueryWrapper() + .eq(XzDeductScoreRecord::getTypeTableId, hiddenDangerInspectRecord.getId()) + .eq(XzDeductScoreRecord::getType, 1) + ); + } + private void setWeekRatioData(XzSecurityAllAndWeekDataVO allAndWeekDataVO) { long weekClose = allAndWeekDataVO.getWeekClose(); long weekNoClose = allAndWeekDataVO.getWeekNoClose(); diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzDeductScoreRecord.java b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzDeductScoreRecord.java index b022f533a..fe40ee5d2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzDeductScoreRecord.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzDeductScoreRecord.java @@ -52,10 +52,10 @@ public class XzDeductScoreRecord implements Serializable { private java.lang.Double curScore; /** - * 1安全检查 2AI违章 + * 1安全检查 2AI违章 3质量 */ - @Excel(name = "1安全检查 2AI违章", width = 15) - @ApiModelProperty(value = "1安全检查 2AI违章") + @Excel(name = "1安全检查 2AI违章 3质量", width = 15) + @ApiModelProperty(value = "1安全检查 2AI违章 3质量") private java.lang.Integer type; /** * 违章类型名称或隐患类型名称 @@ -85,4 +85,6 @@ public class XzDeductScoreRecord implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private java.util.Date updateDate; + @ApiModelProperty(value = "1安全检查 2AI违章 的表id") + private Long typeTableId; } diff --git a/src/main/java/com/zhgd/xmgl/push/config/GeTuiConfig.java b/src/main/java/com/zhgd/xmgl/push/config/GeTuiConfig.java index d2d805d20..cf1931b39 100644 --- a/src/main/java/com/zhgd/xmgl/push/config/GeTuiConfig.java +++ b/src/main/java/com/zhgd/xmgl/push/config/GeTuiConfig.java @@ -43,8 +43,8 @@ public class GeTuiConfig { apiConfiguration.setMasterSecret(masterSecret); // 接口调用前缀,请查看文档: 接口调用规范 -> 接口前缀, 可不填写appId apiConfiguration.setDomain(baseUrl); - ApiHelper apiHelper=null; - PushApiHelper pushApiHelper=new PushApiHelper(); + ApiHelper apiHelper = null; + PushApiHelper pushApiHelper = new PushApiHelper(); try { apiHelper = ApiHelper.build(apiConfiguration); // 创建对象,建议复用。目前有PushApi、StatisticApi、UserApi @@ -53,8 +53,9 @@ public class GeTuiConfig { // 实例化ApiHelper对象,用于创建接口对象 pushApiHelper.setPushApi(pushApi); pushApiHelper.setUserApi(userApi); - }catch (Exception e){ - log.error("初始话个推失败"+e.getMessage()); + log.error("初始话个推成功"); + } catch (Exception e) { + log.error("初始话个推失败" + e.getMessage()); } return pushApiHelper; } diff --git a/src/main/java/com/zhgd/xmgl/push/controller/UniPushController.java b/src/main/java/com/zhgd/xmgl/push/controller/UniPushController.java index 499653481..005500b6b 100644 --- a/src/main/java/com/zhgd/xmgl/push/controller/UniPushController.java +++ b/src/main/java/com/zhgd/xmgl/push/controller/UniPushController.java @@ -2,6 +2,7 @@ package com.zhgd.xmgl.push.controller; import com.getui.push.v2.sdk.common.ApiResult; import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.push.config.GeTuiConfig; import com.zhgd.xmgl.push.service.UniPushService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -10,7 +11,9 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import java.util.Map; @@ -27,6 +30,9 @@ import java.util.Map; public class UniPushController { @Autowired private UniPushService uniPushService; + @Lazy + @Autowired + private GeTuiConfig geTuiConfig; @ApiOperation(value = "消息推送", notes = "消息推送", httpMethod = "POST") @ApiImplicitParams({ @@ -36,7 +42,7 @@ public class UniPushController { @ApiImplicitParam(name = "payload", value = "payload", paramType = "body", required = false, dataType = "String"), }) @PostMapping("/pushMess") - public Result pushMessage(@RequestBody Map map) { + public Result pushMessage(@RequestBody Map map) { Result result=new Result(); try { ApiResult apiResult = uniPushService.pushToSingleByAlias(MapUtils.getString(map, "alias"), MapUtils.getString(map, "title"), MapUtils.getString(map, "content"), MapUtils.getString(map, "payload")); @@ -87,13 +93,20 @@ public class UniPushController { if (apiResult.isSuccess()){ result.successMsg("操作成功"); result.data(apiResult.getData()); - }else{ + } else { result.error500(apiResult.getMsg()); } - }catch (Exception e){ + } catch (Exception e) { log.error("error:", e); result.error500("操作失败"); } return result; } + + @ApiOperation(value = "初始化uniPush", notes = "初始化uniPush", httpMethod = "POST") + @PostMapping(value = "/initUniPush") + public Result initUniPush(@ApiIgnore @RequestBody Map paramMap) { + geTuiConfig.pushApiHelper(); + return Result.ok(); + } } diff --git a/src/main/java/com/zhgd/xmgl/push/service/impl/UniPushServiceImpl.java b/src/main/java/com/zhgd/xmgl/push/service/impl/UniPushServiceImpl.java index 10b8987c5..4a1538783 100644 --- a/src/main/java/com/zhgd/xmgl/push/service/impl/UniPushServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/push/service/impl/UniPushServiceImpl.java @@ -47,7 +47,7 @@ public class UniPushServiceImpl implements UniPushService { audience.addAlias(alias);// cid audience.addCid(alias);// cid pushDTO.setAudience(audience); - if (pushApiHelper != null) { + if (pushApiHelper != null && pushApiHelper.getPushApi() != null) { pushApiHelper.getPushApi().pushToSingleByCid(pushDTO); // 进行cid单推 ApiResult>> apiResult = pushApiHelper.getPushApi().pushToSingleByCid(pushDTO);