package com.huimv.hbjc; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.util.StringUtils; import org.springframework.web.servlet.ModelAndView; import com.huimv.busi.base.dto.ResponseBean; import com.huimv.busi.xt.constant.XtAppConstant; import com.huimv.busi.xt.model.CommonService; import com.huimv.busi.xt.utils.JsonUtil; import com.huimv.busi.xt.utils.WsclSszt; import com.huimv.da.dao.DaMcdaDAO; import com.huimv.da.dao.DaWssbDAO; import com.huimv.da.dataobject.DaMcda; import com.huimv.da.dataobject.DaWssb; import com.huimv.da.dataobject.DaWssbExample; import com.huimv.web.base.BaseController; import com.huimv.wscl.dao.WsclBjszDAO; import com.huimv.wscl.dao.WsclGyfldyDAO; import com.huimv.wscl.dao.WsclSbgzDAO; import com.huimv.wscl.dao.WsclSbztbgDAO; import com.huimv.wscl.dao.WsclZyns1DAO; import com.huimv.wscl.dao.WsclZyns2DAO; import com.huimv.wscl.dataobject.WsclBjsz; import com.huimv.wscl.dataobject.WsclBjszExample; import com.huimv.wscl.dataobject.WsclGyfldy; import com.huimv.wscl.dataobject.WsclGyfldyExample; import com.huimv.wscl.dataobject.WsclSbgz; import com.huimv.wscl.dataobject.WsclSbgzExample; import com.huimv.wscl.dataobject.WsclSbztbg; import com.huimv.wscl.dataobject.WsclSbztbgExample; import com.huimv.wscl.dataobject.WsclZyns1; import com.huimv.wscl.dataobject.WsclZyns1Example; import com.huimv.wscl.dataobject.WsclZyns2; import com.huimv.wscl.dataobject.WsclZyns2Example; import com.huimv.wscl.dto.WsclBjszDTO; import com.huimv.wscl.dto.WsclSsztGyDTO; import com.huimv.wscl.dto.WsclSsztZyDTO; import com.huimv.xt.dao.XtGydmDAO; import com.huimv.xt.dataobject.XtGydm; public class WsclController extends BaseController { private WsclBjszDAO wsclBjszDAO; private WsclGyfldyDAO wsclGyfldyDAO; private WsclZyns1DAO wsclZyns1DAO; private WsclZyns2DAO wsclZyns2DAO; private DaWssbDAO daWssbDAO; private XtGydmDAO xtGydmDAO; private DaMcdaDAO daMcdaDAO; private WsclSbgzDAO wsclSbgzDAO; private CommonService commonService; private WsclSbztbgDAO wsclSbztbgDAO; /** * 污水处理 * @param request * @param response * @return * @throws Exception */ public ModelAndView hpWsclIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/wsclMain.htm"); String mcid = request.getParameter("mcid"); mv.addObject("mcid", mcid); if (StringUtils.hasText(mcid)) { DaMcda daMcda = daMcdaDAO.selectByPrimaryKey(Integer.parseInt(mcid)); mv.addObject("mcmc", daMcda.getMcmc()); } return mv; } /** * 远程控制 * @param request * @param response * @return * @throws Exception */ public ModelAndView wsclYckzIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/yckz/yczkIndex.htm"); String mcid = request.getParameter("mcid"); String sbid = request.getParameter("sbid"); if (StringUtils.hasText(mcid)) { //固液分离单元 WsclGyfldyExample gyfldyEx = new WsclGyfldyExample(); WsclGyfldyExample.Criteria gyfldyCr = gyfldyEx.createCriteria(); gyfldyCr.andMcidEqualTo(Integer.parseInt(mcid)); if (StringUtils.hasText(sbid)) { gyfldyCr.andSbidEqualTo(Integer.parseInt(sbid)); } gyfldyEx.setOrderByClause("id desc"); gyfldyEx.setLimit(1); List gyfldyList = wsclGyfldyDAO.selectByExample(gyfldyEx); if (gyfldyList != null && gyfldyList.size() > 0) { mv.addObject("wsclGyfldy", gyfldyList.get(0)); } //沼液浓缩单元1 WsclZyns1Example zyns1Ex = new WsclZyns1Example(); WsclZyns1Example.Criteria zyns1Cr = zyns1Ex.createCriteria(); zyns1Cr.andMcidEqualTo(Integer.parseInt(mcid)); if (StringUtils.hasText(sbid)) { zyns1Cr.andSbidEqualTo(Integer.parseInt(sbid)); } zyns1Ex.setOrderByClause("id desc"); zyns1Ex.setLimit(1); List zyns1List = wsclZyns1DAO.selectByExample(zyns1Ex); if (zyns1List != null && zyns1List.size() > 0) { mv.addObject("wsclZyns1", zyns1List.get(0)); } //沼液浓缩单元2 WsclZyns2Example zyns2Ex = new WsclZyns2Example(); WsclZyns2Example.Criteria zyns2Cr = zyns2Ex.createCriteria(); zyns2Cr.andMcidEqualTo(Integer.parseInt(mcid)); if (StringUtils.hasText(sbid)) { zyns2Cr.andSbidEqualTo(Integer.parseInt(sbid)); } zyns2Ex.setOrderByClause("id desc"); zyns2Ex.setLimit(1); List zyns2List = wsclZyns2DAO.selectByExample(zyns2Ex); if (zyns2List != null && zyns2List.size() > 0) { mv.addObject("wsclZyns2", zyns2List.get(0)); } //判断在线状态。 时间戳超过10分钟、没有数据,说明是离线。 DaWssbExample sbEx = new DaWssbExample(); DaWssbExample.Criteria sbCr = sbEx.createCriteria(); sbCr.andMcidEqualTo(Integer.parseInt(mcid)); sbEx.setOrderByClause("zxsj desc"); List list = daWssbDAO.selectByExample(sbEx); String gyzt = "离线"; String zy1 = "离线"; String zy2 = "离线"; if(list.size() > 0) { long tenMin = 10 * 60 * 1000; for(DaWssb wssb : list) { if(wssb.getZxsj() != null) { long time = commonService.getCurrentDate().getTime() - wssb.getZxsj().getTime(); if(wssb.getSbid() == 1 && (time < tenMin)) { gyzt = "在线"; }else if(wssb.getSbid() == 2 && (time < tenMin)) { zy1 = "在线"; }else if(wssb.getSbid() == 3 && (time < tenMin)) { zy2 = "在线"; } } } } mv.addObject("gyzt" , gyzt); if (zy1.equals("离线") || zy2.equals("离线")) { mv.addObject("zy" , "离线"); } else if (zy1.equals("在线") || zy2.equals("在线")) { mv.addObject("zy" , "在线"); } } //介绍页面 String url = XtAppConstant.URL_LOCALHOST + XtAppConstant.URL_UPLOAD_YCKZ + "yckz.pdf"; mv.addObject("url" , url); mv.addObject("mcid", mcid); return mv; } // /** // * 远程控制 // * @param request // * @param response // * @return // * @throws Exception // */ // public ModelAndView yckzView(HttpServletRequest request, // HttpServletResponse response) throws Exception { // ModelAndView mv = new ModelAndView("wscl/yckz/yckz.htm"); // //保单地址 // String url = XtAppConstant.URL_LOCALHOST + XtAppConstant.URL_UPLOAD_YCKZ + "yckz.pdf"; // mv.addObject("url" , url); // return mv; // } /** * 保存远程控制 * @param request * @param response * @return * @throws Exception */ public ModelAndView saveWsclYckz(HttpServletRequest request, HttpServletResponse response) throws Exception { ResponseBean rb = new ResponseBean(); String mcid = request.getParameter("mcid"); //String sbid = request.getParameter("sbid"); String gyflid = request.getParameter("gyflid"); String zyfl1id = request.getParameter("zyfl1id"); String zyfl2id = request.getParameter("zyfl2id"); String zdyxkg = request.getParameter("zdyxkg"); String gyfl = request.getParameter("gyfl"); String zyfl1 = request.getParameter("zyfl1"); String zyfl2 = request.getParameter("zyfl2"); int returncode = 0; //固液分离单元 if(StringUtils.hasText(gyflid)) { //判断是否存在记录 String [] gyflStr = gyfl.split(","); String ztbgzd = "";//key, keyval#key, keyval........ WsclGyfldy wsclGyfldy = wsclGyfldyDAO.selectByPrimaryKey(Integer.parseInt(gyflid)); if (!wsclGyfldy.getScylb().equals(gyflStr[0])) { if (StringUtils.hasText(gyflStr[0])) { ztbgzd = "scylb" + "," + gyflStr[0] + "#"; } } if (!wsclGyfldy.getScjcj().equals(gyflStr[1])) { if (StringUtils.hasText(gyflStr[1])) { ztbgzd += "scjcj" + "," + gyflStr[1] + "#"; } } if (!wsclGyfldy.getSczddj().equals(gyflStr[2])) { if (StringUtils.hasText(gyflStr[2])) { ztbgzd += "sczddj" + "," + gyflStr[2] + "#"; } } if (!wsclGyfldy.getSczds().equals(gyflStr[3])) { if (StringUtils.hasText(gyflStr[3])) { ztbgzd += "sczds" + "," + gyflStr[3] + "#"; } } if (!wsclGyfldy.getScslb().equals(gyflStr[4])) { if (StringUtils.hasText(gyflStr[4])) { ztbgzd += "scslb" + "," + gyflStr[4] + "#"; } } if (!wsclGyfldy.getScpwb().equals(gyflStr[5])) { if (StringUtils.hasText(gyflStr[5])) { ztbgzd += "scpwb" + "," + gyflStr[5] + "#"; } } if (!wsclGyfldy.getSclyb().equals(gyflStr[6])) { if (StringUtils.hasText(gyflStr[6])) { ztbgzd += "sclyb" + "," + gyflStr[6] + "#"; } } if (StringUtils.hasText(zdyxkg)) { if (!wsclGyfldy.getZdyxkg().equals(zdyxkg)) { ztbgzd += "zdyxkg" + "," + zdyxkg + "#"; } } //存在 : 更新 returncode = 1 ; if (StringUtils.hasText(ztbgzd)) { insertZtbg(mcid, "wscl_gyfldy", ztbgzd); } } //沼液浓缩单元1 if(StringUtils.hasText(zyfl1id)) { //判断是否存在记录 WsclZyns1 wsclZyns1 = wsclZyns1DAO.selectByPrimaryKey(Integer.parseInt(zyfl1id)); String zyfl1bg = "";//key, keyval#key, keyval........ String [] zyfl1Str = zyfl1.split(",", -1); if (!wsclZyns1.getUf1qd().equals(zyfl1Str[0])) { if (StringUtils.hasText(zyfl1Str[0])) { zyfl1bg = "uf1qd" + "," + zyfl1Str[0] + "#"; } } if (!wsclZyns1.getUf1tj().equals(zyfl1Str[1])) { if (StringUtils.hasText(zyfl1Str[1])) { zyfl1bg += "uf1tj" + "," + zyfl1Str[1] + "#"; } } if (!wsclZyns1.getNfqd().equals(zyfl1Str[2])) { if (StringUtils.hasText(zyfl1Str[2])) { zyfl1bg += "nfqd" + "," + zyfl1Str[2] + "#"; } } if (!wsclZyns1.getNftj().equals(zyfl1Str[3])) { if (StringUtils.hasText(zyfl1Str[3])) { zyfl1bg += "nftj" + "," + zyfl1Str[3] + "#"; } } if (!wsclZyns1.getUf1yxsj().equals(zyfl1Str[4])) { if (StringUtils.hasText(zyfl1Str[4])) { zyfl1bg += "uf1yxsj" + "," + zyfl1Str[4] + "#"; } } if (!wsclZyns1.getNfyxsj().equals(zyfl1Str[5])) { if (StringUtils.hasText(zyfl1Str[5])) { zyfl1bg += "nfyxsj" + "," + zyfl1Str[5] + "#"; } } if (!wsclZyns1.getUf1sfxsj().equals(zyfl1Str[6])) { if (StringUtils.hasText(zyfl1Str[6])) { zyfl1bg += "uf1sfxsj" + "," + zyfl1Str[6] + "#"; } } if (!wsclZyns1.getNfkjcxsj().equals(zyfl1Str[7])) { if (StringUtils.hasText(zyfl1Str[7])) { zyfl1bg += "nfkjcxsj" + "," + zyfl1Str[7] + "#"; } } if (!wsclZyns1.getUf1xfxsj().equals(zyfl1Str[8])) { if (StringUtils.hasText(zyfl1Str[8])) { zyfl1bg += "uf1xfxsj" + "," + zyfl1Str[8] + "#"; } } if (!wsclZyns1.getNftjcxsj().equals(zyfl1Str[9])) { if (StringUtils.hasText(zyfl1Str[9])) { zyfl1bg += "nftjcxsj" + "," + zyfl1Str[9] + "#"; } } if (!wsclZyns1.getUf1zxsj().equals(zyfl1Str[10])) { if (StringUtils.hasText(zyfl1Str[10])) { zyfl1bg += "uf1zxsj" + "," + zyfl1Str[10] + "#"; } } if (!zyfl1Str[11].equals(wsclZyns1.getNfgybpl())) { if (StringUtils.hasText(zyfl1Str[11])) { zyfl1bg += "nfgybpl" + "," + zyfl1Str[11] + "#"; } } if (!zyfl1Str[12].equals(wsclZyns1.getUfzybpl())) { if (StringUtils.hasText(zyfl1Str[12])) { zyfl1bg += "ufzybpl" + "," + zyfl1Str[12] + "#"; } } if (!zyfl1Str[13].equals(wsclZyns1.getMcxbpl())) { if (StringUtils.hasText(zyfl1Str[13])) { zyfl1bg += "mcxbpl" + "," + zyfl1Str[13] + "#"; } } if (!zyfl1Str[14].equals(wsclZyns1.getXtqd())) { if (StringUtils.hasText(zyfl1Str[14])) { zyfl1bg += "xtqd"+ "," + zyfl1Str[14] + "#"; } } if (!zyfl1Str[15].equals(wsclZyns1.getXttz())) { if (StringUtils.hasText(zyfl1Str[15])) { zyfl1bg += "xttz"+ "," + zyfl1Str[15] + "#"; } } returncode = 1 ; if (StringUtils.hasText(zyfl1bg)) { insertZtbg(mcid, "wscl_zyns1", zyfl1bg); } } //沼液浓缩单元2 if(StringUtils.hasText(zyfl2id)) { //判断是否存在记录 WsclZyns2 wsclZyns2 = wsclZyns2DAO.selectByPrimaryKey(Integer.parseInt(zyfl2id)); String zyns2bg = "";//key, keyval#key, keyval........ String [] zyfl2Str = zyfl2.split(",", -1); if (!zyfl2Str[0].equals(wsclZyns2.getUf2qd())) { if (StringUtils.hasText(zyfl2Str[0])) { zyns2bg = "uf2qd" + "," + zyfl2Str[0] + "#"; } } if (!zyfl2Str[1].equals(wsclZyns2.getUf2tj())) { if (StringUtils.hasText(zyfl2Str[1])) { zyns2bg += "uf2tj"+ "," + zyfl2Str[1] + "#"; } } if (!zyfl2Str[2].equals(wsclZyns2.getRoqd())) { if (StringUtils.hasText(zyfl2Str[2])) { zyns2bg += "roqd"+ "," + zyfl2Str[2] + "#"; } } if (!zyfl2Str[3].equals(wsclZyns2.getRotj())) { if (StringUtils.hasText(zyfl2Str[3])) { zyns2bg += "rotj"+ "," + zyfl2Str[3] + "#"; } } if (!zyfl2Str[4].equals(wsclZyns2.getUf2yxsj())) { if (StringUtils.hasText(zyfl2Str[4])) { zyns2bg += "uf2yxsj"+ "," + zyfl2Str[4] + "#"; } } if (!zyfl2Str[5].equals(wsclZyns2.getRoyxsj())) { if (StringUtils.hasText(zyfl2Str[5])) { zyns2bg += "royxsj"+ "," + zyfl2Str[5] + "#"; } } if (!zyfl2Str[6].equals(wsclZyns2.getUf2sfxsj())) { if (StringUtils.hasText(zyfl2Str[6])) { zyns2bg += "uf2sfxsj"+ "," + zyfl2Str[6] + "#"; } } if (!zyfl2Str[7].equals(wsclZyns2.getRokjcxsj())) { if (StringUtils.hasText(zyfl2Str[7])) { zyns2bg += "rokjcxsj"+ "," + zyfl2Str[7] + "#"; } } if (!zyfl2Str[8].equals(wsclZyns2.getUf2xfxsj())) { if (StringUtils.hasText(zyfl2Str[8])) { zyns2bg += "uf2xfxsj"+ "," + zyfl2Str[8] + "#"; } } if (!zyfl2Str[9].equals(wsclZyns2.getRotjcxsj())) { if (StringUtils.hasText(zyfl2Str[9])) { zyns2bg += "rotjcxsj"+ "," + zyfl2Str[9] + "#"; } } if (!zyfl2Str[10].equals(wsclZyns2.getUf2zxsj())) { if (StringUtils.hasText(zyfl2Str[10])) { zyns2bg += "uf2zxsj"+ "," + zyfl2Str[10] + "#"; } } if (!zyfl2Str[11].equals(wsclZyns2.getRogybpl())) { if (StringUtils.hasText(zyfl2Str[11])) { zyns2bg += "rogybpl"+ "," + zyfl2Str[11] + "#"; } } if (!zyfl2Str[12].equals(wsclZyns2.getUfzybpl())) { if (StringUtils.hasText(zyfl2Str[12])) { zyns2bg += "ufzybpl"+ "," + zyfl2Str[12] + "#"; } } if (!zyfl2Str[13].equals(wsclZyns2.getMcxbpl())) { if (StringUtils.hasText(zyfl2Str[13])) { zyns2bg += "mcxbpl"+ "," + zyfl2Str[13] + "#"; } } //存在 : 更新 if (StringUtils.hasText(zyns2bg)) { insertZtbg(mcid, "wscl_zyns2", zyns2bg); } returncode = 1 ; } rb.setReturnCode(returncode); String jsonStr = JsonUtil.getJsonString4JavaWishDate(rb); this.renderJsonData(response, jsonStr); return null; } /** * 实时组态 * @param request * @param response * @return * @throws Exception */ public ModelAndView wsclSsztIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/sszt/ssztIndex.htm"); String mcid = request.getParameter("mcid").toString(); mv.addObject("mcid", mcid); WsclSszt sszt = new WsclSszt(); if (StringUtils.hasText(mcid)) { //固液分离单元 DaWssbExample sb1Ex = new DaWssbExample(); DaWssbExample.Criteria sb1Cr = sb1Ex.createCriteria(); sb1Cr.andMcidEqualTo(Integer.parseInt(mcid)).andSbidEqualTo(1); sb1Ex.setOrderByClause("zxsj desc"); List list0 = daWssbDAO.selectByExample(sb1Ex); DaWssb wssb = new DaWssb(); if (list0 != null && list0.size() > 0) { wssb = list0.get(0); } WsclGyfldyExample gyfldyEx = new WsclGyfldyExample(); WsclGyfldyExample.Criteria gyfldyCr = gyfldyEx.createCriteria(); gyfldyCr.andMcidEqualTo(Integer.parseInt(mcid)); gyfldyEx.setLimit(1); gyfldyEx.setOrderByClause("scsj desc"); List gyfldyList = wsclGyfldyDAO.selectByExample(gyfldyEx); if (gyfldyList != null && gyfldyList.size() > 0) { mv.addObject("wsclSsztGy", sszt.getWsclSsztGy(gyfldyList.get(0), wssb)); } //沼液浓缩单元1 WsclZyns1Example zyns1Ex = new WsclZyns1Example(); WsclZyns1Example.Criteria zyns1Cr = zyns1Ex.createCriteria(); zyns1Cr.andMcidEqualTo(Integer.parseInt(mcid)); zyns1Ex.setLimit(1); zyns1Ex.setOrderByClause("scsj desc"); List zyns1List = wsclZyns1DAO.selectByExample(zyns1Ex); WsclZyns1 zyns1 = new WsclZyns1(); if (zyns1List != null && zyns1List.size() > 0) { zyns1 = zyns1List.get(0); } DaWssbExample sb2Ex = new DaWssbExample(); DaWssbExample.Criteria sb2Cr = sb2Ex.createCriteria(); sb2Cr.andMcidEqualTo(Integer.parseInt(mcid)).andSbidEqualTo(2); sb2Ex.setOrderByClause("zxsj desc"); List list1 = daWssbDAO.selectByExample(sb2Ex); DaWssb wssb1 = new DaWssb(); if (list1 != null && list1.size() > 0) { wssb1 = list1.get(0); } //沼液浓缩单元2 WsclZyns2Example zyns2Ex = new WsclZyns2Example(); WsclZyns2Example.Criteria zyns2Cr = zyns2Ex.createCriteria(); zyns2Cr.andMcidEqualTo(Integer.parseInt(mcid)); zyns2Ex.setLimit(1); zyns2Ex.setOrderByClause("scsj desc"); List zyns2List = wsclZyns2DAO.selectByExample(zyns2Ex); WsclZyns2 zyns2 = new WsclZyns2(); if (zyns2List != null && zyns2List.size() > 0) { zyns2 = zyns2List.get(0); } DaWssbExample sb3Ex = new DaWssbExample(); DaWssbExample.Criteria sb3Cr = sb3Ex.createCriteria(); sb3Cr.andMcidEqualTo(Integer.parseInt(mcid)).andSbidEqualTo(3); sb3Ex.setOrderByClause("zxsj desc"); List list3 = daWssbDAO.selectByExample(sb3Ex); DaWssb wssb2 = new DaWssb(); if (list3 != null && list3.size() > 0) { wssb2 = list3.get(0); } WsclSsztZyDTO wsclSsztZy = sszt.getWsclSsztNs(zyns1, zyns2, wssb1, wssb2); mv.addObject("wsclSsztZy", wsclSsztZy); WsclSbgzExample sbgzEx = new WsclSbgzExample(); WsclSbgzExample.Criteria sbgzCr = sbgzEx.createCriteria(); sbgzCr.andMcidEqualTo(Integer.parseInt(mcid)).andClsjIsNull(); sbgzEx.setOrderByClause("fssj desc"); List sbgzList = wsclSbgzDAO.selectByExample(sbgzEx); String gzStr = ""; for (WsclSbgz gz : sbgzList) { gzStr += gz.getGzlx() + ","; } if (StringUtils.hasText(gzStr)) { gzStr = gzStr.substring(0, gzStr.length() -1); mv.addObject("gzStr" , gzStr);//故障 } } return mv; } /** * 实时检测 * @param request * @param response * @return * @throws Exception */ public ModelAndView wsclSsjcIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/ssjc/ssjcIndex.htm"); String mcid = request.getParameter("mcid"); String sbid = request.getParameter("sbid"); mv.addObject("mcid", request.getParameter("mcid")); SimpleDateFormat sdf = new SimpleDateFormat(XtAppConstant.TIME_FORMAT1); WsclSszt sszt = new WsclSszt(); if (StringUtils.hasText(mcid)) { //固液分离单元 DaWssbExample sb1Ex = new DaWssbExample(); DaWssbExample.Criteria sb1Cr = sb1Ex.createCriteria(); sb1Cr.andMcidEqualTo(Integer.parseInt(mcid)).andSbidEqualTo(1); sb1Ex.setOrderByClause("zxsj desc"); List list0 = daWssbDAO.selectByExample(sb1Ex); DaWssb wssb = new DaWssb(); if (list0 != null && list0.size() > 0) { wssb = list0.get(0); } WsclGyfldyExample gyfldyEx = new WsclGyfldyExample(); WsclGyfldyExample.Criteria gyfldyCr = gyfldyEx.createCriteria(); gyfldyCr.andMcidEqualTo(Integer.parseInt(mcid)); if (StringUtils.hasText(sbid)) { gyfldyCr.andSbidEqualTo(Integer.parseInt(sbid)); } gyfldyEx.setLimit(1); gyfldyEx.setOrderByClause("scsj desc"); List gyfldyList = wsclGyfldyDAO.selectByExample(gyfldyEx); if (gyfldyList != null && gyfldyList.size() > 0) { WsclSsztGyDTO wsclSsztGy = sszt.getWsclSsztGy(gyfldyList.get(0), wssb); mv.addObject("wsclSsztGy", wsclSsztGy); } //沼液浓缩单元1 WsclZyns1Example zyns1Ex = new WsclZyns1Example(); WsclZyns1Example.Criteria zyns1Cr = zyns1Ex.createCriteria(); zyns1Cr.andMcidEqualTo(Integer.parseInt(mcid)); zyns1Ex.setLimit(1); zyns1Ex.setOrderByClause("scsj desc"); List zyns1List = wsclZyns1DAO.selectByExample(zyns1Ex); WsclZyns1 zyns1 = new WsclZyns1(); if (zyns1List != null && zyns1List.size() > 0) { zyns1 = zyns1List.get(0); } DaWssbExample sb2Ex = new DaWssbExample(); DaWssbExample.Criteria sb2Cr = sb2Ex.createCriteria(); sb2Cr.andMcidEqualTo(Integer.parseInt(mcid)).andSbidEqualTo(2); sb2Ex.setOrderByClause("zxsj desc"); List list1 = daWssbDAO.selectByExample(sb2Ex); DaWssb wssb1 = new DaWssb(); if (list1 != null && list1.size() > 0) { wssb1 = list1.get(0); } //沼液浓缩单元2 WsclZyns2Example zyns2Ex = new WsclZyns2Example(); WsclZyns2Example.Criteria zyns2Cr = zyns2Ex.createCriteria(); zyns2Cr.andMcidEqualTo(Integer.parseInt(mcid)); zyns2Ex.setLimit(1); zyns2Ex.setOrderByClause("scsj desc"); List zyns2List = wsclZyns2DAO.selectByExample(zyns2Ex); WsclZyns2 zyns2 = new WsclZyns2(); if (zyns2List != null && zyns2List.size() > 0) { zyns2 = zyns2List.get(0); } DaWssbExample sb3Ex = new DaWssbExample(); DaWssbExample.Criteria sb3Cr = sb3Ex.createCriteria(); sb3Cr.andMcidEqualTo(Integer.parseInt(mcid)).andSbidEqualTo(3); sb3Ex.setOrderByClause("zxsj desc"); List list3 = daWssbDAO.selectByExample(sb3Ex); DaWssb wssb2 = new DaWssb(); if (list3 != null && list3.size() > 0) { wssb2 = list3.get(0); } WsclSsztZyDTO wsclSsztZy = sszt.getWsclSsztNs(zyns1, zyns2, wssb1, wssb2); mv.addObject("wsclSsztZy", wsclSsztZy); String time1 = ""; String time2 = ""; String time3 = ""; if (gyfldyList != null && gyfldyList.size() > 0) { mv.addObject("wsclGyfldy", gyfldyList.get(0)); time1 = sdf.format(gyfldyList.get(0).getScsj()); } if (zyns1List != null && zyns1List.size() > 0) { mv.addObject("wsclZyns1", zyns1List.get(0)); time2 = sdf.format(zyns1List.get(0).getScsj()); if (StringUtils.hasText(time1)) { if (time2.compareTo(time1) > 0) { time1 = time2; } } else { time1 = time2; } } if (zyns2List != null && zyns2List.size() > 0) { mv.addObject("wsclZyns2", zyns2List.get(0)); time3 = sdf.format(zyns2List.get(0).getScsj()); if (StringUtils.hasText(time1)) { if (time3.compareTo(time1) > 0) { time1 = time3; } } else { time1 = time3; } } mv.addObject("time1", time1);//上传时间 WsclSbgzExample sbgzEx = new WsclSbgzExample(); WsclSbgzExample.Criteria sbgzCr = sbgzEx.createCriteria(); sbgzCr.andMcidEqualTo(Integer.parseInt(mcid)).andClsjIsNull(); sbgzEx.setOrderByClause("fssj desc"); List sbgzList = wsclSbgzDAO.selectByExample(sbgzEx); String gzStr = ""; for (WsclSbgz gz : sbgzList) { gzStr += gz.getGzlx() + ","; } if (StringUtils.hasText(gzStr)) { gzStr = gzStr.substring(0, gzStr.length() -1); mv.addObject("gzStr" , gzStr);//故障 } } mv.addObject("mcid", mcid); return mv; } /** *故障预警 * @param request * @param response * @return * @throws Exception */ public ModelAndView wsclGzyjIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/gzyj/gzyjIndex.htm"); String mcid = request.getParameter("mcid"); if (StringUtils.hasText(mcid)) { //故障表 WsclSbgzExample sbgzEx = new WsclSbgzExample(); WsclSbgzExample.Criteria sbgzCr = sbgzEx.createCriteria(); sbgzCr.andMcidEqualTo(Integer.parseInt(mcid)); sbgzEx.setOrderByClause("fssj desc"); List sbgzList = wsclSbgzDAO.selectByExample(sbgzEx); sbgzCr.andClsjIsNull(); int count = wsclSbgzDAO.countByExample(sbgzEx); mv.addObject("count", count); List gzlxList = commonService.getGydm(XtAppConstant.WSCL_GZLX, getServletContext()); if (sbgzList != null && sbgzList.size() > 0) { for (WsclSbgz sbgz : sbgzList) { String gzlx = sbgz.getGzlx(); if (StringUtils.hasText(gzlx)) { for (XtGydm xtGydm : gzlxList) { if (StringUtils.hasText(gzlx)) { if (gzlx != null && !"".equals(gzlx) && xtGydm.getDmid().equals(gzlx)) { sbgz.setGzlx(xtGydm.getDmmc()); } } } } } } mv.addObject("sbgzList" , sbgzList); } mv.addObject("mcid", mcid); return mv; } /** *待处理故障 * @param request * @param response * @return * @throws Exception */ public ModelAndView wsclGzdclIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/gzyj/dclgzIndex.htm"); String mcid = request.getParameter("mcid"); mv.addObject("mcid", mcid); if (StringUtils.hasText(mcid)) { //待处理 WsclSbgzExample sbgzEx = new WsclSbgzExample(); WsclSbgzExample.Criteria sbgzCr = sbgzEx.createCriteria(); sbgzCr.andMcidEqualTo(Integer.parseInt(mcid)).andClsjIsNull(); sbgzEx.setOrderByClause("fssj desc"); // sbgzEx.setStart(0); // sbgzEx.setLimit(6); List sbgzList = wsclSbgzDAO.selectByExample(sbgzEx); List gzlxList = commonService.getGydm(XtAppConstant.WSCL_GZLX, getServletContext()); if (sbgzList != null && sbgzList.size() > 0) { for (WsclSbgz sbgz : sbgzList) { String gzlx = sbgz.getGzlx(); if (StringUtils.hasText(gzlx)) { for (XtGydm xtGydm : gzlxList) { if (StringUtils.hasText(gzlx)) { if (gzlx != null && !"".equals(gzlx) && xtGydm.getDmid().equals(gzlx)) { sbgz.setGzlx(xtGydm.getDmmc()); } } } } } } mv.addObject("sbgzList" , sbgzList); //已处理 WsclSbgzExample sbgzEx1 = new WsclSbgzExample(); WsclSbgzExample.Criteria sbgzCr1 = sbgzEx1.createCriteria(); sbgzCr1.andMcidEqualTo(Integer.parseInt(mcid)).andClsjIsNotNull(); sbgzEx1.setOrderByClause("clsj desc"); // sbgzEx.setStart(0); // sbgzEx.setLimit(6); List sbgzList1 = wsclSbgzDAO.selectByExample(sbgzEx1); if (sbgzList != null && sbgzList.size() > 0) { for (WsclSbgz sbgz : sbgzList1) { String gzlx = sbgz.getGzlx(); if (StringUtils.hasText(gzlx)) { for (XtGydm xtGydm : gzlxList) { if (StringUtils.hasText(gzlx)) { if (gzlx != null && !"".equals(gzlx) && xtGydm.getDmid().equals(gzlx)) { sbgz.setGzlx(xtGydm.getDmmc()); } } } } } } mv.addObject("sbgzList1" , sbgzList1); } return mv; } /** *报警设置 * @param request * @param response * @return * @throws Exception */ public ModelAndView wsclBjszIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/bjsz/wsbjsz.htm"); String mcid = request.getParameter("mcid"); if(StringUtils.hasText(mcid)) { DaWssbExample sbEx = new DaWssbExample(); DaWssbExample.Criteria sbCr = sbEx.createCriteria(); sbCr.andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID.toString()); List sbList = daWssbDAO.selectByExample(sbEx); // int sbid = 0; // if(sbList.size() == 0) { // sbid = Integer.parseInt(mcid); // }else { // sbid = sbList.get(sbList.size() - 1).getId(); // } WsclBjszExample ex = new WsclBjszExample(); WsclBjszExample.Criteria cr = ex.createCriteria(); cr.andMcidEqualTo(Integer.parseInt(mcid)); ex.setOrderByClause("xgsj desc"); ex.setLimit(1); ex.setStart(0); List list = wsclBjszDAO.selectByExample(ex); if(list.size() > 0) { mv.addObject("wsclBjsz" , list.get(0)); mv.addObject("bjlist" , this.anylisisBjsz(list.get(0))); }else { mv.addObject("bjlist" , this.anylisisBjsz(null)); } } mv.addObject("mcid", mcid); return mv; } public List anylisisBjsz(WsclBjsz wsclBjsz){ List list = new ArrayList(); List bjlxList = this.getGydm(XtAppConstant.CODE_WSCL_BJLX); if(wsclBjsz != null) { String kgArr[] = wsclBjsz.getKg().split("#"); //String bjxwArr[] = wsclBjsz.getBjxw().split("#"); for(int i = 0 ; i < bjlxList.size() ; i++) { XtGydm gydm = bjlxList.get(i); WsclBjszDTO dto = new WsclBjszDTO(); if (StringUtils.hasText(wsclBjsz.getKg())) { dto.setKg(kgArr[i]); } else { dto.setKg("0"); } dto.setYjx(gydm.getDmmc()); // String bjx[] = bjxwArr[i].split(","); // dto.setPtts(bjx[0]); // dto.setDx(bjx[1]); list.add(dto); } }else { for(int i = 0 ; i < bjlxList.size() ; i++) { WsclBjszDTO dto = new WsclBjszDTO(); XtGydm gydm = bjlxList.get(i); dto.setYjx(gydm.getDmmc()); list.add(dto); } } return list; } public ModelAndView saveWsclBjsz(HttpServletRequest request, HttpServletResponse response) throws Exception { String mcid = request.getParameter("mcid"); String kg = request.getParameter("kg");//报警开关 String bjxw = request.getParameter("bjxw");//报警行为 String sjhm = request.getParameter("sjhm");//手机号码 String bz = request.getParameter("bz");//备注 if(StringUtils.hasText(mcid)) { //根据牧场ID 获取设备ID DaWssbExample sbEx = new DaWssbExample(); DaWssbExample.Criteria sbCr = sbEx.createCriteria(); sbCr.andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID.toString()); List sbList = daWssbDAO.selectByExample(sbEx); int sbid = 0; WsclBjsz bjsz = new WsclBjsz(); bjsz.setMcid(Integer.parseInt(mcid)); bjsz.setKg(kg); bjsz.setBjxw(bjxw); bjsz.setSjhm(sjhm); bjsz.setBz(bz); bjsz.setXgr(getLoginSessionBean(request).getYhid().toString()); bjsz.setXgsj(new Date()); if(sbList.size() > 0) { for(DaWssb sb : sbList) { sbid = sb.getId(); wsclBjszDAO.insertSelective(bjsz); } }else { sbid = Integer.parseInt(mcid); bjsz.setSbid(sbid); wsclBjszDAO.insertSelective(bjsz); } } String jsonStr = "{\"count\" : \"1\"}"; response.getWriter().write(jsonStr); return null; } public void insertZtbg(String mcid, String tabname, String zt) { String [] ztArr = zt.split("#"); for (int i = 0; i < ztArr.length; i++) { String [] zdArr = ztArr[i].split(",", -1); WsclSbztbgExample sbbgEx = new WsclSbztbgExample(); WsclSbztbgExample.Criteria sbbgCr = sbbgEx.createCriteria(); sbbgCr.andMcidEqualTo(Integer.parseInt(mcid)).andSbkeyEqualTo(zdArr[0]).andTablenameEqualTo(tabname); List bgList = wsclSbztbgDAO.selectByExample(sbbgEx); //有的话更新 if (bgList != null && bgList.size() > 0) { WsclSbztbg ztbg = bgList.get(0); ztbg.setKeyval(zdArr[1]); wsclSbztbgDAO.updateByPrimaryKey(ztbg); } else {//没有新增 WsclSbztbg ztbg = new WsclSbztbg(); ztbg.setMcid(Integer.parseInt(mcid)); ztbg.setTablename(tabname); ztbg.setSbkey(zdArr[0]); ztbg.setKeyval(zdArr[1]); wsclSbztbgDAO.insert(ztbg); } } } /** * 定时查询设备状态变更表 * @param request * @param response * @return * @throws Exception */ public ModelAndView selectResult(HttpServletRequest request, HttpServletResponse response) throws Exception { String mcid = request.getParameter("mcid"); String date = request.getParameter("date"); ResponseBean rb = new ResponseBean(); if (StringUtils.hasText(mcid)) { WsclSbztbgExample sbbgEx = new WsclSbztbgExample(); WsclSbztbgExample.Criteria sbbgCr = sbbgEx.createCriteria(); sbbgCr.andMcidEqualTo(Integer.parseInt(mcid)); List bgList = wsclSbztbgDAO.selectByExample(sbbgEx); //判断下边设备数据更新的时间是否比平台点击保存的时间新。如果是,说明是有反馈的 DaWssbExample ex = new DaWssbExample(); DaWssbExample.Criteria cr = ex.createCriteria(); cr.andMcidEqualTo(Integer.parseInt(mcid)); List wssbList = daWssbDAO.selectByExample(ex); boolean isNew = true; for(DaWssb wssb : wssbList) { long zxsj = wssb.getZxsj().getTime(); long time = Long.parseLong(date); if(zxsj < time) { isNew = false; } else { isNew = true; break; } } if (bgList != null && bgList.size() > 0) { rb.setReturnCode(0); } else { if(isNew) { rb.setReturnCode(1); }else { rb.setReturnCode(0); } } } String jsonStr = JsonUtil.getJsonString4JavaWishDate(rb); this.renderJsonData(response, jsonStr); return null; } /** * 加载远程控制说明书 * * @param request * @param response * @return * @throws Exception */ public ModelAndView yckzView(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("wscl/yckz/demo/index.htm"); //图片路径赋值 String address = XtAppConstant.URL_LOCALHOST + XtAppConstant.URL_UPLOAD_YCKZ + "yckz.pdf"; mv.addObject("url" , address); return mv; } /** * 一键启动、停机置0状态变更表 * @param request * @param response * @return * @throws Exception */ public ModelAndView setQdTz(HttpServletRequest request, HttpServletResponse response) throws Exception { String mcid = request.getParameter("mcid"); String sz = request.getParameter("sz"); ResponseBean rb = new ResponseBean(); if (StringUtils.hasText(mcid) && StringUtils.hasText(sz)) { WsclSbztbg bg = new WsclSbztbg(); bg.setKeyval("0"); bg.setMcid(Integer.parseInt(mcid)); String [] zfStr0 = {"xtqd", "xttz"}; String [] zfStr1 = {"uf1qd","uf1tj","nfqd","nftj"}; String [] zfStr2 = {"uf2qd","uf2tj","roqd","rotj"}; if (sz.equals("1")) { for (int i = 0; i < zfStr0.length; i++) { bg.setSbkey(zfStr0[i]); bg.setTablename("wscl_zyns1"); wsclSbztbgDAO.insert(bg); } } else if (sz.equals("2")) { for (int i = 0; i < zfStr1.length; i++) { bg.setSbkey(zfStr1[i]); bg.setTablename("wscl_zyns1"); wsclSbztbgDAO.insert(bg); } } else if (sz.equals("3")) { for (int i = 0; i < zfStr2.length; i++) { bg.setSbkey(zfStr2[i]); bg.setTablename("wscl_zyns2"); wsclSbztbgDAO.insert(bg); } } } String jsonStr = JsonUtil.getJsonString4JavaWishDate(rb); this.renderJsonData(response, jsonStr); return null; } public void setWsclBjszDAO(WsclBjszDAO wsclBjszDAO) { this.wsclBjszDAO = wsclBjszDAO; } public void setWsclGyfldyDAO(WsclGyfldyDAO wsclGyfldyDAO) { this.wsclGyfldyDAO = wsclGyfldyDAO; } public void setWsclZyns1DAO(WsclZyns1DAO wsclZyns1DAO) { this.wsclZyns1DAO = wsclZyns1DAO; } public void setWsclZyns2DAO(WsclZyns2DAO wsclZyns2DAO) { this.wsclZyns2DAO = wsclZyns2DAO; } /** * 获取公用代码 * @param lbmc * @return * @throws Exception */ private List getGydm(String lbmc) { return xtGydmDAO.selectGydmByLbmc(lbmc); } public void setDaWssbDAO(DaWssbDAO daWssbDAO) { this.daWssbDAO = daWssbDAO; } public void setXtGydmDAO(XtGydmDAO xtGydmDAO) { this.xtGydmDAO = xtGydmDAO; } public void setDaMcdaDAO(DaMcdaDAO daMcdaDAO) { this.daMcdaDAO = daMcdaDAO; } public void setWsclSbgzDAO(WsclSbgzDAO wsclSbgzDAO) { this.wsclSbgzDAO = wsclSbgzDAO; } public void setCommonService(CommonService commonService) { this.commonService = commonService; } public void setWsclSbztbgDAO(WsclSbztbgDAO wsclSbztbgDAO) { this.wsclSbztbgDAO = wsclSbztbgDAO; } }