qa-prevention-gwj/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectCheckControlle...

421 lines
15 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.controller.keyProjects.app;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.service.bus.ImgFilesService;
import com.zcloud.service.keyProjects.*;
import com.zcloud.util.DateUtil;
import com.zcloud.util.SendSmsUtil;
import com.zcloud.util.Tools;
import com.zcloud.util.UuidUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.*;
/**
* 说明:重点工程检查
* 作者luoxiaobao
* 时间2022-09-19
* 官网www.zcloudchina.com
*/
@Controller
@RequestMapping("/app/keyprojectcheck")
public class AppKeyprojectCheckController extends BaseController {
@Autowired
private KeyprojectCheckService keyprojectcheckService;
@Autowired
private KeyprojectCheckInfoService keyprojectcheckInfoService;
@Autowired
private KeyprojectHiddenService keyprojectHiddenService;
@Autowired
private ImgFilesService imgFilesService;
@Autowired
private OutSourcedService outsourcedService;
@Autowired
private PersonnelManagementService personnelmanagementService;
@Autowired
private KeyprojectPunishService keyprojectpunishService;
/**新增
* @param
* @throws Exception
*/
@RequestMapping(value="/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("KEYPROJECTCHECK_ID", this.get32UUID()); //主键
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
pd.put("ISDELETE", 0); //是否删除
pd.put("SOURCE", 2); //企业2
keyprojectcheckService.save(pd);
String currentTime = DateUtil.date2Str(new Date());
if (Tools.notEmpty(pd.getString("SITUATIONJSON"))) {
List<JSONObject> list = (List<JSONObject>) JSON.parse(pd.getString("SITUATIONJSON"));
String time = currentTime;
for (JSONObject json : list) {
PageData situationPd = new PageData();
situationPd.put("KEYPROJECTCHECKINFO_ID", UuidUtil.get32UUID()); //主键
situationPd.put("KEYPROJECTCHECK_ID", pd.getString("KEYPROJECTCHECK_ID")); //检查ID
situationPd.put("SITUATION", json.get("SITUATION")); //检查情况
situationPd.put("ISDELETE", "0"); //是否删除(0:有效 1删除)
situationPd.put("CREATOR", pd.getString("CREATOR")); //添加人
situationPd.put("CREATTIME", time); //添加时间
situationPd.put("OPERATOR", pd.getString("OPERATOR")); //修改人
situationPd.put("OPERATTIME", time); //修改时间
keyprojectcheckInfoService.save(situationPd);
time = DateUtil.calculateDateSecond(time, 1);
}
}
Boolean boo = false; // 增加开关控制
if (Tools.notEmpty(pd.getString("HIDDENJSON"))) {
boo = true;
List<PageData> hiddenList = new ArrayList<PageData>();
List<JSONObject> list = (List<JSONObject>) JSON.parse(pd.getString("HIDDENJSON"));
String time = currentTime;
for (JSONObject json : list) {
PageData hidden = new PageData();
hidden.put("HIDDEN_ID", UuidUtil.get32UUID()); //主键
hidden.put("FOREIGN_ID", pd.getString("KEYPROJECTCHECK_ID")); //外键ID
hidden.put("HIDDENDESCR", json.getString("HIDDENDESCR")); //隐患描述
hidden.put("HIDDENPART", json.getString("HIDDENPART")); //隐患部位
hidden.put("HIDDENLEVEL", json.getString("HIDDENLEVEL")); //隐患级别
hidden.put("HIDDENTYPE", json.getString("HIDDENTYPE")); //隐患类型1
hidden.put("HIDDENTYPE2", json.getString("HIDDENTYPE2")); //隐患类型2
hidden.put("LONGITUDE", json.getString("LONGITUDE")); //隐患位置经度
hidden.put("LATITUDE", json.getString("LATITUDE")); //隐患位置纬度
hidden.put("DISCOVERYTIME", json.getString("DISCOVERYTIME")); //隐患发现时间
hidden.put("HIDDENFINDDEPT", json.getString("HIDDENFINDDEPT")); //隐患发现部门(隐患责任人部门)
hidden.put("RECTIFICATIONTYPE", json.getString("RECTIFICATIONTYPE")); //隐患处置
hidden.put("RECTIFICATIONDEADLINE", json.getString("RECTIFICATIONDEADLINE")); //整改期限
hidden.put("RECTIFYDESCR", json.getString("RECTIFYDESCR")); //整改描述
hidden.put("RECTIFICATIONDEPT", json.getString("RECTIFICATIONDEPT")); //整改部门
hidden.put("RECTIFICATIONOR", json.getString("RECTIFICATIONOR")); //整改人
hidden.put("CREATOR", pd.getString("CREATOR")); //发现人(隐患责任人)
hidden.put("SOURCE", json.getString("SOURCE")); //隐患来源
hidden.put("STATE", "1"); //隐患状态 100-安全环保检查暂存的隐患流程完转0
hidden.put("CREATTIME", time); //发现时间
hidden.put("CORPINFO_ID", pd.getString("CORPINFO_ID")); //企业ID
hidden.put("ISDELETE", "0"); //是否删除(0:有效 1删除)
hidden.put("POSITIONDESC",json.getString("POSITIONDESC"));// 隐患位置描述
keyprojectHiddenService.save(hidden);
hiddenList.add(hidden);
time = DateUtil.calculateDateSecond(time, 1);
}
pd.put("hiddenList", hiddenList);
}
try {
//这里发送短信 通知 先判断重点工程是否要求发短信, 不发直接过,发的话 找到对应人以及对应手机号 发送对应模板短信啊
PageData outSource = new PageData();
outSource.put("OUTSOURCED_ID",pd.getString("OUTSOURCED_ID"));
outSource = outsourcedService.findById(outSource);
if(StringUtils.isNotBlank(outSource.getString("IS_SMS"))&&StringUtils.equals("0",outSource.getString("IS_SMS"))){
//发送短信 pd中 PERSONNELMANAGEMENT_ID 对应 `qa-gwj-regulatory`.`BUS_PERSONNELMANAGEMENT` 表中 PERSONNELMANAGEMENT_ID 获取到 PHONENUM 手机号字段 发送短信
PageData person = new PageData();
person.put("PERSONNELMANAGEMENT_ID",pd.getString("PERSONNELMANAGEMENT_ID"));
person = personnelmanagementService.findById(person);
// outSource.get("OUTSOURCED_NAME")
JSONArray jsonArray = new JSONArray();
//接受返回结果
JSONObject records = new JSONObject();
//定义替换参数
JSONObject tpContent = new JSONObject();
tpContent.put("OUTSOURCEDNAME",outSource.getString("OUTSOURCED_NAME"));
records = SendSmsUtil.getRecords(person.getString("PHONENUM"),tpContent);
jsonArray.add(records);
SendSmsUtil.sendSms("121451",jsonArray,null);
//发送罚款待处理 上文开关控制这里发送不
if(boo){
List<JSONObject> jsonList = (List<JSONObject>) JSON.parse(pd.getString("HIDDENJSON"));
String PUNISHTHEPERSON = keyprojectHiddenService.getPUNISHTHEPERSON(pd);
if (!Tools.isEmpty(PUNISHTHEPERSON)) {
PageData selectPageData = new PageData();
String[] split = PUNISHTHEPERSON.split(",");
selectPageData.put("ids", split);
List<String> list = keyprojectHiddenService.getPhone(selectPageData);
for (JSONObject json : jsonList) {
for(String phone:list) {
JSONArray jsonBrray = new JSONArray();
//接受返回结果
JSONObject recordsB = new JSONObject();
//定义替换参数
JSONObject tpContentB = new JSONObject();
tpContentB.put("HIDDENDESCR",json.getString("HIDDENDESCR")); //隐患描述
if(StringUtils.isNotBlank(phone)){
recordsB = SendSmsUtil.getRecords(phone,tpContentB);
jsonBrray.add(recordsB);
SendSmsUtil.sendSms("121487",jsonBrray,null);
}
}
}
}
}
}
}catch (Exception e){
e.printStackTrace();
}finally {
map.put("pd", pd);
map.put("result", errInfo);
}
return map;
}
/**删除
* @param
* @throws Exception
*/
@RequestMapping(value="/delete")
@ResponseBody
public Object delete() throws Exception{
Map<String,String> map = new HashMap<String,String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
keyprojectcheckService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**修改
* @param
* @throws Exception
*/
@RequestMapping(value="/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();
keyprojectcheckService.edit(pd);
map.put("result", errInfo);
return map;
}
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/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"); //关键词检索条件
if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
page.setPd(pd);
List<PageData> varList = keyprojectcheckService.list(page); //列出KeyprojectCheck列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**去修改页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/goEdit")
@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 = keyprojectcheckService.findById(pd); //根据ID读取
List<PageData> situationList = keyprojectcheckInfoService.listAll(pd);
pd.put("FOREIGN_ID", pd.getString("KEYPROJECTCHECK_ID"));
pd.put("hiddenList", keyprojectHiddenService.listAllInspection(pd));
pd.put("situationList", situationList);
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**去隐患页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/listHidden")
@ResponseBody
public Object listHidden(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"); //关键词检索条件
if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
page.setPd(pd);
List<PageData> varList = keyprojectHiddenService.list(page); //列出KeyprojectCheck列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**去隐患页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/findHidden")
@ResponseBody
public Object findHidden() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = keyprojectHiddenService.findById(pd); //根据ID读取
PageData pd2 = new PageData();
pd2.put("FOREIGN_KEY",pd.getString("HIDDEN_ID"));
pd2.put("TYPE",3); //隐患图片
pd.put("hiddenImgs", imgFilesService.listAll(pd2));
if(imgFilesService.listAll(pd2).size()==0){
pd2.put("TYPE",114); //AI隐患图片
pd.put("hiddenImgs", imgFilesService.listAll(pd2));
}
pd2.put("TYPE",102); //隐患视频
pd.put("hiddenVideos", imgFilesService.listAll(pd2));
pd2.put("TYPE",4);
pd.put("zgImgs", imgFilesService.listAll(pd2));//整改图片
pd2.put("TYPE",5);
pd.put("ysImgs", imgFilesService.listAll(pd2));//整改图片
PageData findTicketData = new PageData();
findTicketData.put("HIDDEN_ID",pd.getString("HIDDEN_ID"));
pd.put("punishForm",keyprojectpunishService.findById(findTicketData));
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**验收
* @param
* @throws Exception
*/
@RequestMapping(value="/check")
@ResponseBody
@Transactional
public Object check() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("STATE", 4);
keyprojectHiddenService.editstate(pd);
map.put("result", errInfo);
return map;
}
/**修改处罚状态
* @param
* @throws Exception
*/
@RequestMapping(value="/editHiddenIspunish")
@ResponseBody
@Transactional
public Object editHiddenIspunish() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
keyprojectHiddenService.editstate(pd);
map.put("result", errInfo);
return map;
}
/**批量删除
* @param
* @throws Exception
*/
@RequestMapping(value="/deleteAll")
@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(",");
keyprojectcheckService.deleteAll(ArrayDATA_IDS);
errInfo = "success";
}else{
errInfo = "fail";
}
map.put("result", errInfo); //返回结果
return map;
}
/**去隐患页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/keyProjectCount")
@ResponseBody
public Object keyProjectCount() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String UserId = pd.getString("UserId");
if(!StringUtils.equals("1",UserId)){
String CORPINFO_ID = pd.getString("CORPINFO_ID");
if(!StringUtils.equals(CORPINFO_ID,"1e6dbbe16004402f8d2c0e52afd9a676")&&!StringUtils.equals(CORPINFO_ID,"3a854eefa7894e06aaa1a2611bca80f6")&&
!StringUtils.equals(CORPINFO_ID,"020578a4c1f04bc692ee25145c2efbe5")&&!StringUtils.equals(CORPINFO_ID,"90966974de3c4b83aca6f8fd6432d5c2")){
pd.put("DeptId",outsourcedService.getDeptId(UserId));
}
}
pd = keyprojectHiddenService.keyprojectcount(pd); //根据ID读取
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**重点工程处罚列表 包含 未选择处罚结果的隐患 已下发处罚但为反馈的隐患 不处罚的隐患
* @param page
* @throws Exception
*/
@RequestMapping(value="/punishlist")
@ResponseBody
public Object punishlist(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"); //关键词检索条件
if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
page.setPd(pd);
List<PageData> varList = keyprojectHiddenService.getpunishlist(page); //列出KeyprojectCheck列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
}