319 lines
11 KiB
Java
319 lines
11 KiB
Java
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("CORPINFO_ID", pd.getString("CORPINFO_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;
|
||
}
|
||
|
||
|
||
}
|