二期需求内容添加

master
Zangzhipeng 2 years ago
parent f896fca1be
commit d8a2d8271d
  1. 2
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/ApproveController.java
  2. 26
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/GovernmentController.java
  3. 236
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/HighDangerController.java
  4. 5
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/OperatorController.java
  5. 18
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/HighDangerMapper.java
  6. 2
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/ThtRoadInfoMapper.java
  7. 70
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/ThtApproveServiceImpl.java
  8. 176
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/utils/WatermarkUtil.java
  9. 97
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/HighDangerMapper.xml
  10. 9
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/OperatorMapper.xml
  11. 14
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ThtApproveMapper.xml
  12. 4
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ThtRoadInfoMapper.xml
  13. 3
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HiddenDangerDTO.java
  14. 2
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HighDangerBase.java
  15. 3
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ThtApprove.java
  16. 1
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/VO/GovernmentVO.java

@ -19,7 +19,7 @@ public class ApproveController {
@PostMapping("/SubmitHigDangerApproval")
public ServerResponse<?> SubmitHigDangerApproval(@RequestBody ThtApproveVO thtApproveVo){
int i = thtApproveService.SubmitHigDangerApproval(thtApproveVo);
thtApproveService.SubmitHigDangerApproval(thtApproveVo);
return ServerResponse.ok("提交审批成功");
}
}

@ -5,6 +5,7 @@ import com.hisense.hiatmp.model.common.*;
import com.hisense.hiatmp.model.common.VO.GovernmentVO;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
import com.hisense.hiatmp.server_api.service.GovernmentService;
import com.hisense.hiatmp.server_api.service.ThtApproveService;
import com.hisense.hiatmp.server_api.service.ThtAttachsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@ -44,13 +45,18 @@ public class GovernmentController {
@Autowired
HighDangerMapper highDangerMapper;
@Autowired
ThtApproveService thtApproveService;
@PostMapping("/saveGovernment")
public ServerResponse<?> saveGovernment(@RequestBody GovernmentVO governmentVO){
String ftpUrl = "ftp://" + userName + ":" + passWord + "@" + ip + ":" + port + CURRENT_DIR;
String nid;
UUID uuid = UUID.fromString(UUID.randomUUID().toString());
String nid = uuid.toString().replaceAll("-", "");
Date date = new Date();
HighDangerBase higDangerDetail = highDangerMapper.getHigDangerDetail(governmentVO.getBusinessId());
String pcCount = higDangerDetail.getPcCount();
// 隐患排查表--如果存在该记录则更新
@ -59,18 +65,20 @@ public class GovernmentController {
// 随机生成UUID
// String uuidString = UUID.randomUUID().toString().replace("-", "");
// details.setNid(uuidString);
// details.setBusinessId(hidden_businessId);
details.setBusinessId(governmentVO.getBusinessId());
// details.setPcCount(manualInvestigation.getPcCount());
// ThtDangerItems dangerItemsById = highDangerMapper.getDangerItemsById(details.getHdTerm());
//
// details.setSmallCategory(dangerItemsById.getParentid());
// ThtDangerItems dangerItemsById_f = highDangerMapper.getDangerItemsById(dangerItemsById.getParentid());
// ThtDangerItems dangerItemsById_f = highDangerMapper.getDangerItemsById(dangerItemsgetHigDangerDealtById.getParentid());
//
// details.setBigCategory(dangerItemsById_f.getParentid());
// 保存重点排查数据
governmentService.updateRoadInfo(details);
highDangerMapper.updateTemporary(governmentVO.getBusinessId());
// 治理图片
if (StringUtils.isNotEmpty(details.getZlPic())) {
String hdPicArr[] = details.getZlPic().split(",");
@ -112,8 +120,18 @@ public class GovernmentController {
thtAttachsService.saveAttachs(thtAttachs);
}
}
ThtApprove thtAApprove = new ThtApprove();
// String uuidString = uuid.toString().replace("-", "");
thtAApprove.setNid(nid);
thtAApprove.setBusinessId(governmentVO.getBusinessId());
thtAApprove.setOperator(governmentVO.getNuserid());
thtAApprove.setStatus("20");
thtAApprove.setOperateTime(date);
thtAApprove.setOperateContent("0");
thtAApprove.setLastModDate(date);
thtApproveService.save(thtAApprove);
}
return ServerResponse.ok("治理提交成功");
}
}

@ -139,6 +139,8 @@ public class HighDangerController {
@RequestParam(defaultValue = "") String search,
@RequestParam(defaultValue = "") String approve,
@RequestParam(defaultValue = "") String classification, // 1 已完成 2 个人上报 3 系统下发
@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime,
HttpServletRequest request
) {
log.info("/getHigDangerDealt(查询首页各个状态的数据列表)接口被调用,调用ip: {}, 入参:{},{},{},{}", request.getRemoteAddr(), highDangerBaseVO, pageNum, pageSize, search);
@ -161,8 +163,11 @@ public class HighDangerController {
//Page<HighDangerBase> page = new Page<>(pageNum, pageSize);
PageHelper.startPage(pageNum, pageSize);
// 将要查询的状态和部门id查询数据库,获得隐患排查表
List<HighDangerBase> statusCounts = highDangerMapper.getHigDangerDealt(highDangerBaseVO.getStatus(), departmentid, search, highDangerBaseVO.getNuserid(), classification,approve);
List<HighDangerBase> statusCounts = highDangerMapper.getHigDangerDealt(highDangerBaseVO.getStatus(), departmentid, search, highDangerBaseVO.getNuserid(), classification,approve,startTime,endTime);
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
Integer flag = 0;
// 待办
/*if("20".equals(highDangerBaseVO.getStatus())){
List<HighDangerBase> statusCount = highDangerMapper.getHigDangerDealt("99",cdepartmentid,page,"%" + search + "%");
@ -177,9 +182,76 @@ public class HighDangerController {
int nearDay = base.getNearDay();
int nearHour = base.getNearHour();
// 审批状态添加
if(!Objects.equals(base.getApproveStatus(), "0") && !Objects.equals(base.getApproveStatus(), "-1") && !Objects.equals(base.getApproveStatus(),null)){
base.setEnumname(base.getEnumname() + "(审批)");
List<ThtApprove> processRecord = highDangerService.getProcessRecord(base.getBusinessId());
if(Objects.equals(approve, "1")){
;
if(!processRecord.isEmpty()){
ThtApprove thtApprove = processRecord.get(processRecord.size() - 1);
String approveTime = "";
String approveStatus = "";
String format = dateFormat.format(thtApprove.getOperateTime());
if(Objects.equals(thtApprove.getOperateContent(), "1")){
approveTime = "一次审批";
base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
if(Objects.equals(thtApprove.getOperateContent(), "2")){
approveTime = "二次审批";
base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
// // 第二次审批完成
// else if(Objects.equals(thtApprove.getOperateContent(), "2") && "1".equals(thtApprove.getApproveResult()) ){
// if("20".equals(base.getStatus())){
// approveTime = "已办结";
// }
// if("0".equals(thtApprove.getOperateContent()) && base.getApproveStatus().equals("1")){
// // 审批状态添加
// base.setEnumname(base.getEnumname() + "(审批中) " + format);
// }else{
// 审批状态添加
// base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
}
else{
ThtApprove thtApprove = highDangerMapper.getProcessRecordByNid(base.getTaNid());
String approveTime = "";
String approveStatus = "";
String format = dateFormat.format(thtApprove.getOperateTime());
if(Objects.equals(thtApprove.getStatus(), "10")){
base.setEnumname("隐患排查");
}
if(Objects.equals(thtApprove.getStatus(), "20")){
base.setEnumname("隐患治理");
}
if(Objects.equals(thtApprove.getStatus(), "60")){
base.setEnumname("治理分析");
}
if(Objects.equals(approve, "2")){
if("1".equals(thtApprove.getApproveResult())){
approveStatus = "通过";
}else if("-1".equals(thtApprove.getApproveResult())){
approveStatus = "驳回";
}
}
if(Objects.equals(thtApprove.getOperateContent(), "1")){
approveTime = "一次审批";
base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
if(Objects.equals(thtApprove.getOperateContent(), "2")){
approveTime = "二次审批";
base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
}
if (base.getTimeStatus() == null || base.getTimeStatus().equals("9")) {
@ -387,7 +459,7 @@ public class HighDangerController {
// }else{
// base.setDeadlineStatus("无排查结束和开始时间");
// base.setDeadlineType("3");
// }
}
PageInfo<HighDangerBase> pageInfo = new PageInfo<>(statusCounts);
@ -415,6 +487,7 @@ public class HighDangerController {
} else {
return ServerResponse.error("未查询到任务");
}
}
// 查询指定任务详情任务
@ -646,7 +719,7 @@ public class HighDangerController {
@RequestParam String ifCross,
HttpServletRequest request) {
SectionDTO sectionByCode;
SectionDTO sectionByCode = new SectionDTO();
log.info("/getDangerRoad(查询当前排查所在路段)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), businessId);
HighDangerRoad roadInfo = highDangerMapper.getRoadInfo(businessId);
@ -1026,7 +1099,6 @@ public class HighDangerController {
HighDangerBase highDangerBase = new HighDangerBase();
HighDangerRoad highDangerRoad = new HighDangerRoad();
hidden_businessId = "ZZ" + highDangerService.random12();
// base主键
@ -1039,6 +1111,7 @@ public class HighDangerController {
highDangerBase.setOperator(manualInvestigation.getOperator());
highDangerBase.setPcCount("0");
highDangerBase.setApproveStatus("0");
highDangerBase.setInsertTime(date);
// 道路NID
highDangerRoad.setNid(nid);
@ -1151,7 +1224,7 @@ public class HighDangerController {
thtTimeLineDTO.setLastModDate(date);
thtTimeLineDTO.setOperator(manualInvestigation.getOperator());
//
// highDangerService.insertTimeLine(thtTimeLineDTO);
highDangerService.insertTimeLine(thtTimeLineDTO);
/*if(!highDangerMapper.isExtraExistence(manualInvestigation.getBusinessId()).isEmpty()){
}else{
}*/
@ -1286,6 +1359,11 @@ public class HighDangerController {
@GetMapping("/getProcessRecord")
public ServerResponse<?> getProcessRecord(@RequestParam String businessId){
LinkedHashMap<Object, Object> danger = new LinkedHashMap<>();
LinkedList<ThtApprove> dangerSubmit = new LinkedList();
LinkedList<ThtApprove> governmentFx = new LinkedList();
LinkedList<ThtApprove> governmentZL = new LinkedList();
Integer flag = 1;
List<ThtApprove> processRecord = highDangerService.getProcessRecord(businessId);
LinkedHashMap<String, Object> processMap = new LinkedHashMap<>();
@ -1293,11 +1371,15 @@ public class HighDangerController {
HighDangerBase hiddenDangerBaseById = highDangerMapper.getHiddenDangerBaseById(businessId);
Operator operatorById1 = operatorMapper.getOperatorById(hiddenDangerBaseById.getOperator());
// String username = operatorById.getCusername();
ThtApprove thtApprove1 = new ThtApprove();
thtApprove1.setApprovalInfo( operatorById1.getCusername() + "创建排查");
thtApprove1.setOperator(operatorById1.getCusername());
thtApprove1.setApprovalInfo("创建排查");
thtApprove1.setOperateTime(hiddenDangerBaseById.getFindTime());
thtApprove1.setBusinessId(businessId);
processMap.put("0",thtApprove1);
dangerSubmit.add(thtApprove1);
// processMap.put("0",thtApprove1);
for (ThtApprove thtApprove : processRecord){
// 获取操作用户
@ -1306,36 +1388,46 @@ public class HighDangerController {
if("10".equals(thtApprove.getStatus())){
if("0".equals(thtApprove.getOperateContent())){
thtApprove.setApprovalInfo(username + "排查完成");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("提交审批");
dangerSubmit.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if ("1".equals(thtApprove.getOperateContent())) {
if("-1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "一级审批驳回");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("一级审批驳回");
// processMap.put(flag.toString(), thtApprove);
dangerSubmit.add(thtApprove);
// flag++;
continue;
}
if("1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "一级审批通过");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("一级审批通过");
// processMap.put(flag.toString(), thtApprove);
dangerSubmit.add(thtApprove);
// flag++;
continue;
}
}
if ("2".equals(thtApprove.getOperateContent())) {
if("-1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "二级审批驳回");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("二级审批驳回");
dangerSubmit.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if("1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "二级审批通过");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("二级审批通过");
dangerSubmit.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
}
@ -1344,45 +1436,101 @@ public class HighDangerController {
if("20".equals(thtApprove.getStatus())){
if("0".equals(thtApprove.getOperateContent())){
thtApprove.setApprovalInfo(username + "治理完成");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("提交审批");
governmentZL.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if ("1".equals(thtApprove.getOperateContent())) {
if("-1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "一级审批驳回");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("一级审批驳回");
governmentZL.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if("1".equals(thtApprove.getOperateContent())){
thtApprove.setApprovalInfo(username + "一级审批通过");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("一级审批通过");
governmentZL.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
}
if ("2".equals(thtApprove.getOperateContent())) {
if("-1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "二级审批驳回");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("二级审批驳回");
governmentZL.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if("1".equals(thtApprove.getApproveResult())){
thtApprove.setApprovalInfo(username + "二级审批通过");
processMap.put(flag.toString(), thtApprove);
flag++;
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("二级审批通过");
governmentZL.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
}
}
}
if("60".equals(thtApprove.getStatus())){
if("0".equals(thtApprove.getOperateContent())){
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("提交审批");
governmentFx.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if ("1".equals(thtApprove.getOperateContent())) {
if("-1".equals(thtApprove.getApproveResult())){
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("一级审批驳回");
governmentFx.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if("1".equals(thtApprove.getOperateContent())){
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("一级审批通过");
governmentFx.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
}
if ("2".equals(thtApprove.getOperateContent())) {
if("-1".equals(thtApprove.getApproveResult())){
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("二级审批驳回");
governmentFx.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
continue;
}
if("1".equals(thtApprove.getApproveResult())){
thtApprove.setOperator(username);
thtApprove.setApprovalInfo("二级审批通过");
governmentFx.add(thtApprove);
// processMap.put(flag.toString(), thtApprove);
// flag++;
}
}
}
}
return ServerResponse.ok(processMap);
danger.put("隐患上报",dangerSubmit);
danger.put("治理方案",governmentFx);
danger.put("隐患治理",governmentZL);
return ServerResponse.ok(danger);
}
// 图片上传接口
/*@PostMapping("/uploadImage")
public ServerResponse<?> uploadImage(@RequestBody MultipartFile multipartFile) throws IOException {

@ -42,10 +42,9 @@ public class OperatorController {
}
@GetMapping("/getOperatorDataSum")
public ServerResponse<?> getOperatorDataSum(@RequestParam String nuserId){
List<HighDangerBaseNum> operatorDataSum = operatorMapper.getOperatorDataSum(nuserId);
public ServerResponse<?> getOperatorDataSum(@RequestParam String nuserid){
List<HighDangerBaseNum> operatorDataSum = operatorMapper.getOperatorDataSum(nuserid);
return ServerResponse.ok(operatorDataSum);
}
}

@ -24,7 +24,15 @@ public interface HighDangerMapper{
List<HighDangerBaseNum> getStatusCounts(@Param("cdepartmentid") String cdepartmentid, @Param("nuserid") String nuserid);
//
List<HighDangerBase> getHigDangerDealt(@Param("status") String status, @Param("cdepartmentid") String cdepartmentid,@Param("search") String search,@Param("nuserid")String nuserId, @Param("classification") String classification,@Param("approve") String approve);
List<HighDangerBase> getHigDangerDealt(@Param("status") String status,
@Param("cdepartmentid") String cdepartmentid,
@Param("search") String search,
@Param("nuserid")String nuserId,
@Param("classification") String classification,
@Param("approve") String approve,
@Param("startTime") String startTime,
@Param("endTime") String endTime
);
List<HighDangerBase> getHigDangerDying(String status, String cdepartmentid);
@ -122,5 +130,13 @@ public interface HighDangerMapper{
List<ThtApprove> getProcessRecord(String businessId);
ThtApprove getProcessRecordByNid(String nid);
HighDangerBase getHiddenDangerBaseById(String businessId);
void updateApproveStatus(@Param("businessId") String businessId,@Param("approveStatus") String approveStatus);
void updateThtHiddenDangerBaseStatus(@Param("businessId") String businessId,@Param("status") String status);
}

@ -7,6 +7,4 @@ import org.springframework.stereotype.Repository;
public interface ThtRoadInfoMapper {
void updateRoadInfo(HiddenDangerDTO hiddenDangerDTO);
}

@ -2,12 +2,15 @@ package com.hisense.hiatmp.server_api.service.impl;
import com.hisense.hiatmp.model.common.ThtApprove;
import com.hisense.hiatmp.model.common.VO.ThtApproveVO;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
import com.hisense.hiatmp.server_api.mapper.ThtApproveMapper;
import com.hisense.hiatmp.server_api.service.ThtApproveService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
@Service
@ -16,6 +19,9 @@ public class ThtApproveServiceImpl implements ThtApproveService {
@Autowired
private ThtApproveMapper thtApproveMapper;
@Autowired
private HighDangerMapper highDangerMapper;
@Override
public int save(ThtApprove thtApprove) {
return thtApproveMapper.save(thtApprove);
@ -23,6 +29,8 @@ public class ThtApproveServiceImpl implements ThtApproveService {
@Override
public int SubmitHigDangerApproval(ThtApproveVO thtApproveVO) {
// 是否是最后一次审批
Boolean ifLastApprove = false;
Date date = new Date();
UUID uuid = UUID.fromString(UUID.randomUUID().toString());
@ -35,18 +43,60 @@ public class ThtApproveServiceImpl implements ThtApproveService {
thtApprove.setOperator(thtApproveVO.getNuserid());
thtApprove.setReason(thtApproveVO.getReason());
thtApprove.setLastModDate(date);
// 一级审批
thtApprove.setOperateContent("1");
if("0".equals(thtApproveVO.getApprovalStatus())){
// 驳回
thtApprove.setApproveResult("-1");
}else{
// 审批通过
thtApprove.setApproveResult("1");
thtApprove.setOperateTime(date);
thtApprove.setReason(thtApproveVO.getReason());
List<ThtApprove> processRecord = highDangerMapper.getProcessRecord(thtApproveVO.getBusinessId());
if(!processRecord.isEmpty()) {
ThtApprove thtApprove1 = processRecord.get(processRecord.size() - 1);
// 一次审批
if("0".equals(thtApprove1.getOperateContent()) && thtApprove1.getApproveResult() == null){
thtApprove.setOperateContent("1");
}
// 二次审批
if("1".equals(thtApprove1.getOperateContent()) && Objects.equals(thtApprove1.getApproveResult(), "1")){
thtApprove.setOperateContent("2");
}
if("0".equals(thtApproveVO.getApprovalStatus())){
// 驳回
thtApprove.setApproveResult("-1");
highDangerMapper.updateApproveStatus(thtApproveVO.getBusinessId(),"-1");
}else{
// 审批通过
thtApprove.setApproveResult("1");
highDangerMapper.updateApproveStatus(thtApproveVO.getBusinessId(),"2");
}
// 最后一次审批
if("1".equals(thtApprove1.getOperateContent()) && Objects.equals(thtApprove1.getApproveResult(), "1") && "1".equals(thtApproveVO.getApprovalStatus())){
ifLastApprove = true;
}
}
thtApprove.setReason(thtApproveVO.getReason());
if(ifLastApprove){
if(Objects.equals(thtApprove.getStatus(), "10")){ // 排查提交
highDangerMapper.updateThtHiddenDangerBaseStatus(thtApprove.getBusinessId(),"60");
highDangerMapper.updateApproveStatus(thtApprove.getBusinessId(), "1");
thtApproveMapper.save(thtApprove);
ThtApprove thtApprove1 = new ThtApprove();
UUID uuid1 = UUID.fromString(UUID.randomUUID().toString());
String nid1 = uuid1.toString().replaceAll("-", "");
thtApprove1.setNid(nid1);
thtApprove1.setBusinessId(thtApproveVO.getBusinessId());
thtApprove1.setStatus("60");
thtApprove1.setOperator(thtApproveVO.getNuserid());
thtApprove1.setLastModDate(date);
thtApprove1.setOperateTime(date);
thtApprove1.setOperateContent("0");
return thtApproveMapper.save(thtApprove1);
} else if (Objects.equals(thtApprove.getStatus(), "60")) { // 治理方案
highDangerMapper.updateThtHiddenDangerBaseStatus(thtApprove.getBusinessId(),"20");
highDangerMapper.updateApproveStatus(thtApprove.getBusinessId(), "0");
}
}
return thtApproveMapper.save(thtApprove);
}

@ -0,0 +1,176 @@
package com.hisense.hiatmp.server_api.utils;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
/**
* 添加水印util
*/
public class WatermarkUtil {
/**
* 添加水印
*
* @param pictureSourceType 图片来源类型
* @param watermarkType 水印类型
* @param path 图片路径
* @param watermark 水印内容文字水印内容/图片水印的存放路径
* @param formatName 图片格式
* @param targetPath 输出图片存放路径
* @param color 水印颜色
*/
public static void addWatermark(PictureSourceType pictureSourceType, WatermarkType watermarkType, String path, String watermark, String formatName, String targetPath, Color color) {
if (null == pictureSourceType) {
throw new RuntimeException("图片来源类型不能为空");
}
if (null == watermarkType) {
throw new RuntimeException("水印类型不能为空");
}
Image image;
if (pictureSourceType == PictureSourceType.LOCAL_PICTURE) {
// 读取本地图片
image = readLocalPicture(path);
} else {
// 读取网络图片
image = readNetworkPicture(path);
}
// 水印处理
manageWatermark(image, watermarkType, watermark, formatName, targetPath, color);
}
//图片来源类型枚举
public enum PictureSourceType {
//本地图片
LOCAL_PICTURE,
//网络图片
NETWORK_PICTURE;
}
//水印类型枚举
public enum WatermarkType {
//文字水印
TEXT_WATERMARK,
//图片水印
IMAGE_WATERMARK;
}
/**
* 读取本地图片
*
* @param path 本地图片存放路径
*/
public static Image readLocalPicture(String path) {
if (null == path) {
throw new RuntimeException("本地图片路径不能为空");
}
// 读取原图片信息 得到文件
File srcImgFile = new File(path);
try {
// 将文件对象转化为图片对象
return ImageIO.read(srcImgFile);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
* 读取网络图片
*
* @param path 网络图片地址
*/
public static Image readNetworkPicture(String path) {
if (null == path) {
throw new RuntimeException("网络图片路径不能为空");
}
try {
// 创建一个URL对象,获取网络图片的地址信息
URL url = new URL(path);
// 将URL对象输入流转化为图片对象 (url.openStream()方法,获得一个输入流)
BufferedImage bugImg = ImageIO.read(url.openStream());
if (null == bugImg) {
throw new RuntimeException("网络图片地址不正确");
}
return bugImg;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
* 水印处理
*
* @param image 图片对象
* @param watermarkType 水印类型1-文字水印 2-图片水印
* @param watermark 水印内容文字水印内容/图片水印的存放路径
* @param formatName 图片格式
* @param tarImgPath 输出图片存放路径
* @param color 水印颜色
*/
public static void manageWatermark(Image image, WatermarkType watermarkType, String watermark, String formatName, String tarImgPath, Color color) {
int imgWidth = image.getWidth(null);
int imgHeight = image.getHeight(null);
BufferedImage bufImg = new BufferedImage(imgWidth, imgHeight, BufferedImage.TYPE_INT_RGB);
// 加水印,创建画笔
Graphics2D graphics = bufImg.createGraphics();
// 绘制原始图片
graphics.drawImage(image, 0, 0, imgWidth, imgHeight, null);
// 校验水印的类型
if (watermarkType == WatermarkType.TEXT_WATERMARK) {
if (watermark.isEmpty()) {
throw new RuntimeException("文字水印内容不能为空");
}
// 添加文字水印:
// 根据图片的背景设置水印颜色
graphics.setColor(color == null ? Color.RED : color);
// 设置字体 画笔字体样式为微软雅黑,加粗,文字大小为45pt
graphics.setFont(new Font("微软雅黑", Font.BOLD, 45));
// 设置水印的坐标(为原图片中间位置)
int x = (imgWidth - getWatermarkLength(watermark, graphics)) / 2;
int y = imgHeight / 2;
// 画出水印 第一个参数是水印内容,第二个参数是x轴坐标,第三个参数是y轴坐标
graphics.drawString(watermark, x, y);
graphics.dispose();
} else {
// 添加图片水印:
if (watermark.isEmpty()) {
throw new RuntimeException("图片水印存放路径不能为空");
}
Image srcWatermark = readLocalPicture(watermark);
int watermarkWidth = srcWatermark.getWidth(null);
int watermarkHeight = srcWatermark.getHeight(null);
// 设置 alpha 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
graphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.9f));
// 绘制水印图片 坐标为中间位置
graphics.drawImage(srcWatermark, (imgWidth - watermarkWidth) / 2, (imgHeight - watermarkHeight) / 2, watermarkWidth, watermarkHeight, null);
graphics.dispose();
}
// 输出图片
try {
FileOutputStream outImgStream = new FileOutputStream(tarImgPath);
ImageIO.write(bufImg, formatName, outImgStream);
outImgStream.flush();
outImgStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
* 获取水印文字的长度
*
* @param watermarkContent 文字水印内容
* @param graphics 图像类
*/
private static int getWatermarkLength(String watermarkContent, Graphics2D graphics) {
return graphics.getFontMetrics(graphics.getFont()).charsWidth(watermarkContent.toCharArray(), 0, watermarkContent.length());
}
}

@ -17,6 +17,7 @@
status,
find_time,
pc_start_time,
insert_time,
report_dept,
handle_dept,
delay_count,
@ -35,6 +36,7 @@
#{status},
#{findTime},
#{pcStartTime},
#{insertTime},
#{reportDept},
#{handleDept},
#{delayCount},
@ -237,18 +239,23 @@
<!-- </select>-->
<select id="getHigDangerDealt" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
<![CDATA[
SELECT CASE
SELECT
<if test="status != 60">
CASE
<![CDATA[
WHEN now() AT TIME ZONE 'Asia/Shanghai' < t1.nearEndTime THEN 9 --
WHEN now() AT TIME ZONE 'Asia/Shanghai' >= t1.nearEndTime AND now() AT TIME ZONE 'Asia/Shanghai' <= t1.planEndTime THEN 2 --临期
WHEN now() AT TIME ZONE 'Asia/Shanghai' >= t1.planEndTime THEN 1 --超期
]]>
END AS time_status
, t1.*
, floor(EXTRACT(EPOCH FROM(now() AT TIME ZONE 'Asia/Shanghai' - planEndTime))/(1440*60)) delayDay
, ceil(mod(ceil(EXTRACT(EPOCH FROM(now() AT TIME ZONE 'Asia/Shanghai' -planEndTime)))::INTEGER , 1440*60)::FLOAT/3600) delayHour
, floor(EXTRACT(EPOCH FROM(planEndTime -now() AT TIME ZONE 'Asia/Shanghai'))/(1440*60)) nearDay
, ceil(mod(ceil(EXTRACT(EPOCH FROM(planEndTime -now() AT TIME ZONE 'Asia/Shanghai')))::INTEGER , 1440*60)::FLOAT/3600) nearHour
]]>
, floor(EXTRACT(EPOCH FROM(now() AT TIME ZONE 'Asia/Shanghai' - planEndTime))/(1440*60)) delayDay
, ceil(mod(ceil(EXTRACT(EPOCH FROM(now() AT TIME ZONE 'Asia/Shanghai' -planEndTime)))::INTEGER , 1440*60)::FLOAT/3600) delayHour
, floor(EXTRACT(EPOCH FROM(planEndTime -now() AT TIME ZONE 'Asia/Shanghai'))/(1440*60)) nearDay
, ceil(mod(ceil(EXTRACT(EPOCH FROM(planEndTime -now() AT TIME ZONE 'Asia/Shanghai')))::INTEGER , 1440*60)::FLOAT/3600) nearHour
,
-- </if>
t1.*
FROM (SELECT hdb.nid
, hdb.name
, hdb.pc_start_time
@ -265,11 +272,17 @@
, hdb.approve_status
, hdr.section_code
, hdr.if_cross
, COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
::INTEGER) AS planEndTime
, COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
::INTEGER) -
INTERVAL '3 day' AS nearEndTime
, COALESCE(hdb.last_mod_date, hdb.insert_time) as hdb_last_mode_date
<if test="status == '60'">
, ta.nid as ta_nid
</if>
<if test="status != '60'">
, COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
::INTEGER) AS planEndTime
, COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
::INTEGER) -
INTERVAL '3 day' AS nearEndTime
</if>
, bs.section_name
, bs.section_code
FROM tht_hidden_danger_base hdb
@ -286,14 +299,28 @@
<if test="status == 20">
LEFT JOIN tht_param_config tpc ON tpc.param_code = 'THT_ZL_ROAD_XT'
</if>
<if test="status == 60">
LEFT JOIN tht_approve ta ON ta.business_id = hdb.business_id
</if>
WHERE
hdb.status = #{status}
<if test="status == '60'">
hdb.status in ('10','20','60')
</if>
<if test="status != '60'">
hdb.status = #{status}
</if>
AND hdr.nid is not null
<if test="approve == 1">
<if test="approve == 1 and status != '60' " >
AND COALESCE(hdb.approve_status,'0')IN('0','-1')
</if>
<if test="approve == 2">
AND COALESCE(hdb.approve_status,'0') not IN('0','-1') AND hdb.approve_status is not null
<if test="approve == 1 and status == '60' " >
AND ta.status = hdb.status AND ta.operate_content = '0' AND hdb.approve_status in ('1','2')
</if>
<if test="approve == 2 and status != '60'">
AND COALESCE(hdb.approve_status,'0') not IN('0','-1') AND hdb.approve_status in ('1')
</if>
<if test="approve == 2 and status == '60'" >
AND ta.operate_content in ('1','2') AND ta.status in ('10','20','60')
</if>
<if test="cdepartmentid != null and cdepartmentid != ''">
AND hdr.belong_xq like concat(concat(#{cdepartmentid},'%'))
@ -302,6 +329,11 @@
AND hdb.name like concat(concat('%',#{search}),'%')
</if>
<if test="startTime != null and startTime !=''">
and COALESCE(hdb.last_mod_date, hdb.insert_time) &gt;=to_date(#{startTime}, 'yyyy-MM-DD')
and COALESCE(hdb.last_mod_date, hdb.insert_time) &lt;=to_date(#{endTime}, 'yyyy-MM-DD')
</if>
<if test="classification == 2">
AND hdr.pc_operator = #{nuserId}
</if>
@ -309,7 +341,11 @@
AND hdr.pc_operator != #{nuserId}
</if>
) t1
ORDER BY time_status, planEndTime DESC
<if test="status != '60'">
ORDER BY
time_status desc,
t1.planEndTime asc
</if>
</select>
<select id="getHigDangerDying" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
@ -710,8 +746,8 @@
<select id="insertTimeLine" resultType="com.hisense.hiatmp.model.common.DTO.ThtTimeLineDTO">
insert into tht_timeline
("nid", "business_id", "status", "title", "operator", "start_time", "end_time", "insert_time", "last_mod_date")
values (nextval('test_id_seq2'), #{business_id}, #{status}, #{title}, #{operator}, #{start_time}, #{end_time}, #{insert_time},
#{last_mod_date})
values (nextval('test_id_seq2'), #{businessId}, #{status}, #{title}, #{operator}, #{startTime}, #{endTime}, #{insertTime},
#{lastModDate})
</select>
<select id="getHigDangerApproval" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
@ -778,8 +814,29 @@
where business_id = #{businessId}
order by operate_time
</select>
<select id="getProcessRecordByNid" resultType="com.hisense.hiatmp.model.common.ThtApprove">
select *
from tht_approve
where nid = #{nid}
order by operate_time
</select>
<select id="getHiddenDangerBaseById" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
select * from tht_hidden_danger_base where business_id = #{businessId}
</select>
<update id="updateApproveStatus">
update tht_hidden_danger_base
set approve_status = #{approveStatus},
last_mod_date = NOW()
where business_id = #{businessId}
</update>
<update id="updateThtHiddenDangerBaseStatus">
update tht_hidden_danger_base
set status = #{status},
last_mod_date = NOW()
where business_id = #{businessId}
</update>
</mapper>

@ -64,11 +64,14 @@
UNION ALL
SELECT DISTINCT 'MySP' AS status, count(DISTINCT business_id) AS count
FROM tht_approve
SELECT DISTINCT 'MySP' AS status, count(*) AS count
FROM tht_approve ta
LEFT JOIN tht_hidden_danger_base hdb ON hdb.business_id = ta.business_id
WHERE
1 = 1
AND operator = #{nuserid}
AND hdb.status in ('10','20')
AND ta.operate_content in ('1','2')
AND ta.operator = #{nuserid}
</select>

@ -9,16 +9,21 @@
business_id,
operator,
status,
timeline_nid,
operate_time,
operate_content,
last_mod_date
approve_result,
last_mod_date,
timeline_nid
)
VALUES (
#{nid} ,
#{businessId},
#{operator},
#{status},
#{operateTime},
#{operateContent},
#{approveResult},
#{lastModDate},
(SELECT
nid
FROM
@ -28,10 +33,7 @@
AND status = #{status}
ORDER BY
start_time DESC
LIMIT 1),
#{operateTime},
#{operateContent},
#{lastModDate}
LIMIT 1)
)
</insert>

@ -7,9 +7,7 @@
set zl_unit = #{zlUnit},
zl_measure = #{zlMeasure},
zl_pic = #{zlPic},
hd_pic = #{hdPic},
last_mod_date = NOW(),
zl_time = NOW()
zl_time = #{zlTime}
where business_id = #{businessId}
And hd_term = #{hdTerm}
</update>

@ -1,5 +1,6 @@
package com.hisense.hiatmp.model.common;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -25,6 +26,8 @@ public class HiddenDangerDTO implements Serializable {
private String hdInfo;
private String dangerProblem;
private String pcType;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
private Date zlTime;
private String zlPic;
}

@ -20,6 +20,8 @@ public class HighDangerBase implements Serializable {
*/
private String nid;
private String taNid;
/**
* business_id
*/

@ -1,5 +1,6 @@
package com.hisense.hiatmp.model.common;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -18,9 +19,11 @@ public class ThtApprove implements Serializable {
String operator;
String status;
String timelineNid;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
Date operateTime;
String operateContent;
String approveResult;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
Date lastModDate;
String approvalInfo;
String reason;

@ -10,6 +10,7 @@ import java.util.List;
public class GovernmentVO {
String businessId;
String nuserid;
List<HiddenDangerDTO> describe;
}

Loading…
Cancel
Save