qa-prevention-gwj/src/main/java/com/zcloud/controller/bus/HiddenExamineController.java

522 lines
22 KiB
Java
Raw Normal View History

2023-11-07 09:32:12 +08:00
package com.zcloud.controller.bus;
2023-12-29 17:36:09 +08:00
import com.alibaba.fastjson.JSON;
import com.zcloud.aspect.DockAnnotation;
2023-11-07 09:32:12 +08:00
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.entity.system.User;
import com.zcloud.service.bus.*;
import com.zcloud.service.inspection.SafetyEnvironmentalService;
import com.zcloud.util.*;
import com.zcloud.util.event.DeviceHiddenEvent;
import com.zcloud.util.message.MessageService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.session.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.*;
/**
*
* luoxiaobao
* 2022-04-14
* www.zcloudchina.com
*/
@Controller
@RequestMapping("/hiddenexamine")
public class HiddenExamineController extends BaseController {
@Autowired
private HiddenExamineService hiddenexamineService;
@Autowired
private HiddenService hiddenService;
@Autowired
private ImgFilesService imgFilesService;
@Autowired
private HiddenUserService hiddenUserService; // 隐患相关人员信息
@Autowired
private MessageService messageService;
@Autowired
private HiddenCheckService hiddenCheckService;
@Autowired
private HiddenSchemeService hiddenSchemeService;
@Resource
private ApplicationContext applicationContext;
@Autowired
private SafetyEnvironmentalService safetyenvironmentalService;
@Autowired
private NoticeCorpUtil noticeUtil;
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/add")
// @RequiresPermissions("hiddenexamine:add")
@ResponseBody
public Object add() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("HIDDENEXAMINE_ID", this.get32UUID()); //主键
hiddenexamineService.save(pd);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param out
* @throws Exception
*/
@RequestMapping(value = "/delete")
// @RequiresPermissions("hiddenexamine:del")
@ResponseBody
public Object delete() throws Exception {
Map<String, String> map = new HashMap<String, String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
hiddenexamineService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/edit")
// @RequiresPermissions("hiddenexamine:edit")
@ResponseBody
public Object edit() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("OPERATOR", Jurisdiction.getUSER_ID());
pd.put("OPERATTIME", DateUtil.date2Str(new Date()));
hiddenexamineService.edit(pd);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/list")
// @RequiresPermissions("hiddenexamine:list")
@ResponseBody
public Object list(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
String STARTTIME = pd.getString("STARTTIME"); // 隐患发现时间
if (Tools.notEmpty(STARTTIME))
pd.put("STARTTIME", STARTTIME.trim());
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
String ENDTIME = pd.getString("ENDTIME"); // 隐患发现时间
if (Tools.notEmpty(ENDTIME))
pd.put("ENDTIME", ENDTIME + " 23:59:59");
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
if ("2".equals(pd.getString("keyIsSpecial"))) {
pd.put("CONFIRM_USER", Jurisdiction.getUSER_ID());
}
// pd.put("CONFIRM_USER",Jurisdiction.getUSER_ID());
pd = Jurisdiction.getUserDataJurisdiction(pd);
page.setPd(pd);
List<PageData> varList = hiddenexamineService.listAndHidden(page); //列出HiddenExamine列表
varList = hiddenUserService.getHiddebFind(varList);
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goEdit")
// @RequiresPermissions("hiddenexamine:edit")
@ResponseBody
public Object goEdit() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = hiddenexamineService.findByIdAndHidden(pd); //根据ID读取
List<PageData> checkList = hiddenCheckService.listAll(pd); // 隐患验收信息
if (checkList != null && checkList.size() > 0) {
PageData pd3 = new PageData();
pd3.put("TYPE", 5);
for (PageData check : checkList) {
pd3.put("FOREIGN_KEY", check.get("HIDDENCHECK_ID"));
check.put("cImgs", imgFilesService.listAll(pd3));// 验收图片
}
}
List<PageData> hiddenExa = hiddenexamineService.listAllByHiddenId(pd.getString("HIDDEN_ID")); //特殊审批信息
for (PageData pageData : hiddenExa) {
if ("0".equals(pageData.getString("TYPE"))) {
pd.put("editUserName", pageData.get("editUserName"));
pd.put("editDeptName", pageData.get("editDeptName"));
pd.put("editLevelName", pageData.get("editLevelName"));
pd.put("editRectificationDeadline", pageData.get("spare3"));
}
}
if (pd != null) {
map.put("rImgs", imgFilesService.getListByKeyAndType(pd.getString("HIDDEN_ID"), "4"));// 整改图片
}
PageData hs = hiddenSchemeService.findByHdId(pd);
List<PageData> sImgs = imgFilesService.getListByKeyAndType(pd.get("HIDDEN_ID"), "8");
if (hs != null && hs.getString("HIDDENSCHEME_ID") != null) {
PageData pd31 = new PageData();
pd31.put("FOREIGN_KEY", hs.getString("HIDDENSCHEME_ID"));
pd31.put("TYPE", 8);
List<PageData> sImgs2 = imgFilesService.listAll(pd31);// 方案图片
sImgs.addAll(sImgs2);
}
List<PageData> hiddenFindPeople = hiddenUserService.listAll(pd);// 隐患相关人员信息 --隐患发现人
map.put("hiddenExa", hiddenExa); //
map.put("checkList", checkList);
map.put("hs", hs);
map.put("sImgs", sImgs);
map.put("hiddenVideo", imgFilesService.getListByKeyAndType(pd.getString("HIDDEN_ID"), "102"));// 隐患视频
map.put("hImgs", imgFilesService.getListByKeyAndType(pd.getString("HIDDEN_ID"), "3"));// 隐患图片
map.put("pd", pd);
map.put("hiddenFindPeople", hiddenFindPeople);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/deleteAll")
// @RequiresPermissions("hiddenexamine:del")
@ResponseBody
public Object deleteAll() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String DATA_IDS = pd.getString("DATA_IDS");
if (Tools.notEmpty(DATA_IDS)) {
String ArrayDATA_IDS[] = DATA_IDS.split(",");
hiddenexamineService.deleteAll(ArrayDATA_IDS);
errInfo = "success";
} else {
errInfo = "fail";
}
map.put("result", errInfo); //返回结果
return map;
}
/**
* excel
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/excel")
// @RequiresPermissions("toExcel")
public ModelAndView exportExcel() throws Exception {
ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
Map<String, Object> dataMap = new HashMap<String, Object>();
List<String> titles = new ArrayList<String>();
titles.add("隐患ID"); //1
titles.add("审核原因"); //2
titles.add("创建人"); //3
titles.add("创建时间"); //4
titles.add("修改人"); //5
titles.add("修改时间"); //6
titles.add("1特殊审核。2.延期审核"); //7
dataMap.put("titles", titles);
List<PageData> varOList = hiddenexamineService.listAll(pd);
List<PageData> varList = new ArrayList<PageData>();
for (int i = 0; i < varOList.size(); i++) {
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("HIDDEN_ID")); //1
vpd.put("var2", varOList.get(i).getString("EXAMINE")); //2
vpd.put("var3", varOList.get(i).getString("CREATOR")); //3
vpd.put("var4", varOList.get(i).getString("CREATTIME")); //4
vpd.put("var5", varOList.get(i).getString("OPERATOR")); //5
vpd.put("var6", varOList.get(i).getString("OPERATTIME")); //6
vpd.put("var7", varOList.get(i).get("STATE").toString()); //7
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv, dataMap);
return mv;
}
/**
*
* 1.
* 2.
*
* @throws Exception
*/
@RequestMapping(value = "/delayedExamine")
@RequiresPermissions("hidden:edit")
@ResponseBody
@DockAnnotation()
2023-11-07 09:32:12 +08:00
public Object delayedExamine() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData hiddenExa = hiddenexamineService.findById(pd);
if (Tools.isEmpty(hiddenExa)) {
errInfo = "ERROR";
map.put("pd", pd);
map.put("result", errInfo);
map.put("msg", "未找到该隐患的审批信息,请联系管理员确认!");
return map;
}
hiddenExa.put("OPERATTIME", DateUtil.date2Str(new Date()));
hiddenService.updateHiddenRectificationDeadline(hiddenExa); // 修改隐患的整改期限
hiddenExa.put("STATE", pd.getString("STATE"));
pd.put("OPERATOR", Jurisdiction.getUSER_ID());
pd.put("OPERATTIME", DateUtil.date2Str(new Date()));
hiddenexamineService.edit(hiddenExa);
if (Tools.isEmpty(hiddenExa)) {
} else {
pd.put("HIDDEN_ID", hiddenExa.getString("HIDDEN_ID"));
PageData hiddenpd = hiddenService.findById(pd);
messageService.sendMessageByParameter("HIDDEN_MAIL_007", "友情提示:有一条隐患需要确认", hiddenpd.getString("CORPINFO_ID"),
hiddenpd.getString("RECTIFICATIONOR"), pd.getString("HIDDEN_ID"),
hiddenpd.getString("HIDDENDESCR"), "隐患整改", "确认", "", "");
}
map.put("result", errInfo);
2023-12-29 17:36:09 +08:00
map.put("dockData", JSON.toJSONString(pd));
2023-11-07 09:32:12 +08:00
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/delayed")
@ResponseBody
@Transactional
public Object delayed(@RequestParam(value = "FFILE", required = false) MultipartFile file) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData examine = new PageData();
examine.put("TYPE", "2");
examine.put("STATE", "-1");
examine.put("CREATTIME", DateUtil.date2Str(new Date()));
examine.put("EXAMINE", pd.getString("TEMPORARY_MEASURES")); //临时措施
examine.put("DISPOSAL_PLAN", pd.getString("disposalPlan")); //临时措施
examine.put("DELAY_TIME", pd.getString("DELAY_TIME")); //申请延期日期
examine.put("HIDDEN_ID", pd.getString("HIDDEN_ID"));
if (file != null) {
String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1).toLowerCase();
if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) {
errInfo = "fail";
map.put("result", errInfo);
map.put("msg", "文件格式不正确!");
return map;
}
String ffile = DateUtil.getDays();
String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
Smb.sshSftp(file, fileName, Const.FILEPATHYHTP + Jurisdiction.getCORPINFO_ID() + "/" + ffile);
examine.put("DISPOSAL_FILE", Const.FILEPATHYHTP + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
}
examine = hiddenexamineService.save(examine);
pd.put("HIDDEN_ID", pd.getString("HIDDEN_ID"));
PageData hiddenpd = hiddenService.findById(pd);
messageService.sendMessageByParameter("HIDDEN_MAIL_007", "友情提示:有一条隐患需要延期审核",
Jurisdiction.getCORPINFO_ID(), hiddenpd.getString("CONFIRM_USER"), pd.getString("HIDDEN_ID"),
hiddenpd.getString("HIDDENDESCR"), "延期审核", "审核", "", "");
map.put("result", errInfo);
map.put("msg", "隐患延期申成功。请通知隐患确认人进行延期确认操作!");
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/special")
@ResponseBody
@Transactional
public Object special() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData examine = new PageData();
examine.put("TYPE", "1");
examine.put("STATE", "-1");
examine.put("EXAMINE", pd.getString("disposalPlan")); //临时措施
examine.put("HIDDEN_ID", pd.getString("HIDDEN_ID"));
examine = hiddenexamineService.save(examine);
hiddenService.updateStateByHidden("7", pd.getString("HIDDEN_ID"));
PageData hiddenPd = hiddenService.findById(pd);
if (Tools.notEmpty(hiddenPd.getString("CONFIRM_USER"))) {
messageService.sendMessageByParameter("HIDDEN_MAIL_007", "友情提示:有一条隐患需要特殊审核",
Jurisdiction.getCORPINFO_ID(), hiddenPd.getString("CONFIRM_USER"), hiddenPd.getString("HIDDEN_ID"),
hiddenPd.getString("HIDDENDESCR"), "特殊处置审核", "审核", "", "");
}
map.put("result", errInfo);
map.put("msg", "隐患特殊处理申请成功。请通知隐患确认人进行特殊处理确认操作!");
return map;
}
/**
*
* 1.
* 2.
*
* @throws Exception
*/
@RequestMapping(value = "/specialExamine")
@RequiresPermissions("hidden:edit")
@ResponseBody
@DockAnnotation
2023-11-07 09:32:12 +08:00
public Object specialExamine(@RequestParam(value = "FFILE", required = false) MultipartFile file) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData hiddenExa = hiddenexamineService.findById(pd); // 获取该隐患的未通过的隐患信息
PageData hidden = hiddenService.findById(hiddenExa);
if (Tools.isEmpty(hiddenExa)) {
errInfo = "ERROR";
map.put("pd", pd);
map.put("result", errInfo);
map.put("msg", "未找到该隐患的审批信息错误,请联系管理员确认!");
return map;
}
if ("1".equals(pd.getString("TYPE"))) { //通过
if (file != null) {
String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1).toLowerCase();
if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) {
errInfo = "fail";
map.put("result", errInfo);
map.put("msg", "文件格式不正确!");
return map;
}
String ffile = DateUtil.getDays();
String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
Smb.sshSftp(file, fileName, Const.FILEPATHYHTP + Jurisdiction.getCORPINFO_ID() + "/" + ffile);
hiddenExa.put("DISPOSAL_FILE", Const.FILEPATHYHTP + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
}
hiddenExa.put("DISPOSAL_PLAN", pd.get("disposalPlan"));
hiddenExa.put("STATE", "2");
hiddenExa.put("OPERATOR", Jurisdiction.getUSER_ID());
hiddenExa.put("OPERATTIME", DateUtil.date2Str(new Date()));
hiddenexamineService.updateBySpecial(hiddenExa);
hiddenService.updateStateByHidden("8", hiddenExa.getString("HIDDEN_ID")); //修改隐患状态 -- 特殊审核通过
hiddenExa.put("TYPE", pd.getString("TYPE"));
String synpsis, parameter1 = "";
if (pd.get("TYPE").equals("1")) {
synpsis = "友情提示:有一条特殊处置隐患审核通过";
parameter1 = "审核通过";
} else {
synpsis = "友情提示:有一条隐患验收不合格";
parameter1 = "验收不合格";
}
messageService.sendMessageByParameter("HIDDEN_MAIL_008", synpsis,
Jurisdiction.getCORPINFO_ID(), hidden.getString("RECTIFICATIONOR"), hidden.getString("HIDDEN_ID"),
hidden.getString("HIDDENDESCR"), parameter1, "", "", "");
applicationContext.publishEvent(new DeviceHiddenEvent(new Object(), hiddenExa.getString("HIDDEN_ID"), "0"));
if (Tools.notEmpty(hidden.getString("FOREIGN_ID"))) { //安全环保检查验收
pd.put("ACCEPTSTEP", 6);
List<PageData> list = hiddenService.listOtherNotAccept(pd); //获取没有验收的隐患
PageData inspection = new PageData();
if (list.size() == 0) { //CREATOR
inspection.put("INSPECTION_ID", hidden.getString("FOREIGN_ID"));
inspection.put("OPERATOR", Jurisdiction.getUSER_ID());
inspection.put("OPERATTIME", DateUtil.date2Str(new Date()));
inspection.put("INSPECTION_STATUS", "6"); // 已验收
safetyenvironmentalService.editStatus(inspection);
inspection.put("HIDDEN_vector", hidden.getString("HIDDEN_ID"));
}
inspection.put("INSPECTION_ID", hidden.getString("FOREIGN_ID"));
inspection.put("OPERATOR", Jurisdiction.getUSER_ID());
inspection.put("HIDDEN_vector", hidden.getString("HIDDEN_ID"));
noticeUtil.SE_ThreeStepUtil(inspection);
}
} else if ("2".equals(pd.getString("TYPE"))) { // 不通过
hiddenExa.put("spare1", "0");
if ("1".equals(pd.getString("isChange"))) { // 修改整改负责人
hiddenExa.put("spare1", "1");
hiddenExa.put("spare2", pd.getString("OLD_RECTIFICATIONOR"));
hiddenExa.put("spare3", pd.getString("OLD_RECTIFICATIONDEPT"));
hiddenExa.put("NEW_RECTIFICATIONOR", pd.getString("changeUser"));
hiddenService.updateRectificationUserId(pd.getString("changeUser"), pd.getString("changeUserDepartment"), hiddenExa.getString("HIDDEN_ID"), pd.getString("RECTIFICATIONDEADLINE"));
}
hiddenService.updateStateByHidden("1", hiddenExa.getString("HIDDEN_ID")); //打回 原路返回
hiddenExa.put("STATE", "1");
hiddenExa.put("OPERATOR", Jurisdiction.getUSER_ID());
hiddenExa.put("OPERATTIME", DateUtil.date2Str(new Date()));
hiddenexamineService.updateBySpecial(hiddenExa);
hiddenService.editstate(hiddenExa);
pd.put("HIDDEN_ID", hiddenExa.getString("HIDDEN_ID"));
String messUserID = "";
if ("0".equals(pd.getString("isChange"))) {
messUserID = pd.getString("OLD_RECTIFICATIONOR"); // 申请人
} else {
messUserID = pd.getString("changeUser"); // 申请人
}
messageService.sendMessageByParameter("HIDDEN_MAIL_008", "友情提示:有一条特殊处置隐患审核不通过",
Jurisdiction.getCORPINFO_ID(), messUserID, hidden.getString("HIDDEN_ID"),
hidden.getString("HIDDENDESCR"), "审核不通过,请及时整改隐患", "", "", "");
}
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
}