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

318 lines
11 KiB
Java
Raw Normal View History

2023-11-07 09:32:12 +08:00
package com.zcloud.controller.keyProjects.app;
import com.alibaba.fastjson.JSON;
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.AIWarningService;
import com.zcloud.service.keyProjects.KeyprojectHiddenService;
import com.zcloud.util.*;
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.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
/**
* AI
* luoxiaobao
* 2022-09-21
* www.zcloudchina.com
*/
@Controller
@RequestMapping("/app/aiwarning")
public class AppAIWarningController extends BaseController {
@Autowired
private AIWarningService aiwarningService;
@Autowired
private KeyprojectHiddenService keyprojectHiddenService;
@Autowired
private ImgFilesService imgFilesService;
/**
* @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("AIWARNING_ID", this.get32UUID()); //主键
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
pd.put("ISDELETE", 0); //是否删除
aiwarningService.save(pd);
map.put("result", errInfo);
return map;
}
/**
* @param
* @throws Exception
*/
@RequestMapping(value="/addPeople")
@ResponseBody
public Object addPeople() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CONTRACT_PIC_ID", this.get32UUID()); //主键
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("CREATOR", DateUtil.date2Str(new Date())); //添加人
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
pd.put("OPERATOR", DateUtil.date2Str(new Date())); //修改人
pd.put("ISDELETE", 0); //是否删除
aiwarningService.addPeople(pd);
map.put("result", errInfo);
return map;
}
/**
* @param out
* @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();
aiwarningService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**
* @param
* @throws Exception
*/
@RequestMapping(value="/edit")
@ResponseBody
@Transactional
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("STATUS",1);
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
List<String> hiddenIdList = new ArrayList<String>();
if (Tools.notEmpty(pd.getString("HIDDENJSON"))) {
List<JSONObject> list = (List<JSONObject>) JSON.parse(pd.getString("HIDDENJSON"));
if(list != null){
for (JSONObject json : list) {
PageData hidden = new PageData();
String HIDDEN_ID = UuidUtil.get32UUID();
hiddenIdList.add(HIDDEN_ID);
hidden.put("HIDDEN_ID",HIDDEN_ID); //主键
pd.put("HIDDEN_ID",hidden.getString("HIDDEN_ID"));
hidden.put("FOREIGN_ID", pd.getString("OUTSOURCED_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("OPERATOR")); //发现人(隐患责任人)
hidden.put("SOURCE", 1); //隐患来源
hidden.put("STATE", "1"); //隐患状态 100-安全环保检查暂存的隐患流程完转0
hidden.put("CREATTIME", DateUtil.date2Str(new Date())); //发现时间
hidden.put("ISDELETE", "0"); //是否删除(0:有效 1删除)
hidden.put("POSITIONDESC",json.getString("POSITIONDESC"));// 隐患位置描述
if(!Tools.isEmpty(json.getString("IMG_PATH"))){//添加隐患图片
PageData imgAddPd = new PageData();
imgAddPd.put("IMGFILES_ID", this.get32UUID());
imgAddPd.put("FILEPATH", json.getString("IMG_PATH") );
imgAddPd.put("TYPE", "3");
imgAddPd.put("FOREIGN_KEY", hidden.getString("HIDDEN_ID"));
imgFilesService.save(imgAddPd);
}
if(!Tools.isEmpty(json.getString("REMARKS"))){//添加隐患图片
PageData imgAddPd = new PageData();
imgAddPd.put("IMGFILES_ID", this.get32UUID());
imgAddPd.put("FILEPATH", json.getString("REMARKS") );
imgAddPd.put("TYPE", "102");
imgAddPd.put("FOREIGN_KEY", hidden.getString("HIDDEN_ID"));
imgFilesService.save(imgAddPd);
}
keyprojectHiddenService.save(hidden);
try {
// this.DownloadPicturn(pd);
}catch (Exception e){
e.printStackTrace();
}
// PageData img = new PageData();
// img.put("IMGFILES_ID", this.get32UUID());
// img.put("FILEPATH", pd.get("IMG_PATH"));
// img.put("TYPE", 3);
// img.put("FOREIGN_KEY", hidden.get("HIDDEN_ID"));
// imgFilesService.save(img);
}
}
}
if (!hiddenIdList.isEmpty()) {
pd.put("HIDDEN_IDS", hiddenIdList.toString().replace("[","").replace("]","").replace(" ",""));
}
aiwarningService.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 = aiwarningService.listApp(page); //列出AIWarning列表
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 = aiwarningService.findById(pd); //根据ID读取
PageData user = aiwarningService.findByOperatorId(pd);//查询处置人ID
if(user != null){
pd.put("NAME",user.getString("name"));
}
pd.put("FOREIGN_ID", pd.getString("OUTSOURCED_ID"));
if (Tools.notEmpty(pd.getString("HIDDEN_IDS"))){
PageData pageData = new PageData();
pageData.put("AI_WARNING","Y");
pageData.put("array",pd.getString("HIDDEN_IDS").split(","));
pd.put("hiddenList", keyprojectHiddenService.listAllInspection(pageData));
}
map.put("pd", 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(",");
aiwarningService.deleteAll(ArrayDATA_IDS);
errInfo = "success";
}else{
errInfo = "fail";
}
map.put("result", errInfo); //返回结果
return map;
}
/**
* @param
* @throws Exception
*/
@RequestMapping(value="/handle")
@ResponseBody
public Object handle() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
map.put("result", errInfo); //返回结果
return map;
}
public void DownloadPicturn(PageData pd) throws Exception {
String url = pd.getString("IMG_PATH");
String suffix = url.substring(url.lastIndexOf(".")+1);
// String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase();
String suffixName = suffix.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;
System.out.println("文件格式不正确!");
} else {
InputStream input = this.getInputStreamFromUrl(url);//获取流
String fileName = this.get32UUID()+"." +suffix;
Smb.sshSftpForInput(input, fileName, Const.FILEPATHYHTP + pd.getString("OPERATOR") + "/" + DateUtil.getDays());
input.close();
PageData savePicturn = new PageData();
savePicturn.put("IMGFILES_ID", this.get32UUID());
savePicturn.put("FILEPATH", Const.FILEPATHYHTP + pd.getString("OPERATOR") + "/" + DateUtil.getDays()+ "/" + fileName);
savePicturn.put("TYPE", 114);
savePicturn.put("FOREIGN_KEY", pd.getString("HIDDEN_ID"));
imgFilesService.save(savePicturn);
}
}
/**
* url
* @param urlStr
* @return
*/
public static InputStream getInputStreamFromUrl(String urlStr) {
InputStream inputStream=null;
try {
//url解码
URL url = new URL(java.net.URLDecoder.decode(urlStr, "UTF-8"));
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(3 * 1000);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//得到输入流
inputStream = conn.getInputStream();
} catch (IOException e) {
}
return inputStream;
}
}