YtiotTPatrolPlanServicesImpl.java 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335
  1. package cn.com.usky.iot.patrolplan.service;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import java.util.Calendar;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.ArrayList;
  8. import java.util.Map;
  9. import cn.com.usky.iot.entity.YtiotTPatrolPlan;
  10. import cn.com.usky.iot.entity.YtiotTControlroom;
  11. import cn.com.usky.iot.entity.YtiotVUsercompany;
  12. import cn.com.usky.iot.entity.YtiotVUsercompanyId;
  13. import cn.com.usky.iot.entity.YtiotTAdmin;
  14. import cn.com.usky.iot.entity.YtiotTArea;
  15. import cn.com.usky.iot.entity.YtiotTInspectors;
  16. import cn.com.usky.iot.entity.YtiotTRoute;
  17. import cn.com.usky.iot.entity.YtiotVCompany;
  18. import cn.com.usky.iot.entity.YtiotVCompanyId;
  19. import cn.com.usky.iot.entity.YtiotTCompany;
  20. import cn.com.usky.iot.admin.dao.YtiotVUserCompanyDao;
  21. import cn.com.usky.iot.admin.dao.YtiotTAdminDao;
  22. import cn.com.usky.iot.inspectors.dao.YtiotTInspectorsDao;
  23. import cn.com.usky.iot.patrolplan.dao.YtiotTPatrolPlanDao;
  24. import cn.com.usky.iot.route.dao.YtiotTRouteDao;
  25. import cn.com.usky.utils.DaoResult;
  26. import cn.com.usky.utils.MD5Util;
  27. import net.sf.json.JSONArray;
  28. import net.sf.json.JSONObject;
  29. public class YtiotTPatrolPlanServicesImpl implements YtiotTPatrolPlanService {
  30. private YtiotTPatrolPlanDao ytiotTPatrolPlanDao;
  31. private YtiotVUserCompanyDao ytiotVUserCompanyDao;
  32. private YtiotTAdminDao ytiotTAdminDao;
  33. private YtiotTRouteDao ytiotTRouteDao;
  34. private YtiotTInspectorsDao ytiotTInspectorsDao;
  35. public YtiotTAdminDao getYtiotTAdminDao() {
  36. return ytiotTAdminDao;
  37. }
  38. public void setYtiotTAdminDao(YtiotTAdminDao ytiotTAdminDao) {
  39. this.ytiotTAdminDao = ytiotTAdminDao;
  40. }
  41. public YtiotTPatrolPlanDao getYtiotTPatrolPlanDao() {
  42. return ytiotTPatrolPlanDao;
  43. }
  44. public void setYtiotTPatrolPlanDao(YtiotTPatrolPlanDao ytiotTPatrolPlanDao) {
  45. this.ytiotTPatrolPlanDao = ytiotTPatrolPlanDao;
  46. }
  47. public YtiotVUserCompanyDao getYtiotVUserCompanyDao() {
  48. return ytiotVUserCompanyDao;
  49. }
  50. public void setYtiotVUserCompanyDao(YtiotVUserCompanyDao ytiotVUserCompanyDao) {
  51. this.ytiotVUserCompanyDao = ytiotVUserCompanyDao;
  52. }
  53. public YtiotTInspectorsDao getYtiotTInspectorsDao() {
  54. return ytiotTInspectorsDao;
  55. }
  56. public void setYtiotTInspectorsDao(YtiotTInspectorsDao ytiotTInspectorsDao) {
  57. this.ytiotTInspectorsDao = ytiotTInspectorsDao;
  58. }
  59. public YtiotTRouteDao getYtiotTRouteDao() {
  60. return ytiotTRouteDao;
  61. }
  62. public void setYtiotTRouteDao(YtiotTRouteDao ytiotTRouteDao) {
  63. this.ytiotTRouteDao = ytiotTRouteDao;
  64. }
  65. public boolean chk_string_param(String param) {
  66. if(param==null)
  67. return true;
  68. if(param.indexOf("=")>=0)
  69. return false;
  70. if(param.indexOf("\'")>=0)
  71. return false;
  72. if(param.indexOf("\"")>=0)
  73. return false;
  74. return true;
  75. }
  76. public String chkhw(String hqlwhere){
  77. if(hqlwhere==null)
  78. return " where ";
  79. else
  80. return hqlwhere+" and ";
  81. }
  82. public String fieldname(String field){
  83. if(field.equals("id"))
  84. return "id";
  85. if(field.equals("personnel"))
  86. return "personnel";
  87. if(field.equals("route"))
  88. return "route";
  89. if(field.equals("planned_date"))
  90. return "plannedDate";
  91. if(field.equals("start_time"))
  92. return "startTime";
  93. if(field.equals("end_time"))
  94. return "endTime";
  95. if(field.equals("completion_status"))
  96. return "completionStatus";
  97. if(field.equals("name"))
  98. return "name";
  99. if(field.equals("route_name"))
  100. return "routeName";
  101. if(field.equals("company_code"))
  102. return "companyCode";
  103. if(field.equals("V_COMPANY_CODE"))
  104. return "VCompanyCode";
  105. if(field.equals("control_room_name"))
  106. return "controlRoomName";
  107. if(field.equals("control_room_person"))
  108. return "controlRoomPerson";
  109. return null;
  110. }
  111. public static String[] getDates(String dateFrom, String dateEnd, String weekDays) {
  112. long time = 1l;
  113. long perDayMilSec = 24 * 60 * 60 * 1000;
  114. List<String> dateList = new ArrayList<String>();
  115. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  116. //需要查询的星期系数
  117. String strWeekNumber = weekForNum(weekDays);
  118. try {
  119. dateFrom = sdf.format(sdf.parse(dateFrom).getTime() - perDayMilSec);
  120. while (true) {
  121. time = sdf.parse(dateFrom).getTime();
  122. time = time + perDayMilSec;
  123. Date date = new Date(time);
  124. dateFrom = sdf.format(date);
  125. if (dateFrom.compareTo(dateEnd) <= 0) {
  126. //查询的某一时间的星期系数
  127. Integer weekDay = dayForWeek(date);
  128. //判断当期日期的星期系数是否是需要查询的
  129. if (strWeekNumber.indexOf(weekDay.toString())!=-1) {
  130. System.out.println(dateFrom);
  131. dateList.add(dateFrom);
  132. }
  133. } else {
  134. break;
  135. }
  136. }
  137. } catch (Exception e1) {
  138. e1.printStackTrace();
  139. }
  140. String[] dateArray = new String[dateList.size()];
  141. dateList.toArray(dateArray);
  142. return dateArray;
  143. }
  144. //等到当期时间的周系数。星期日:1,星期一:2,星期二:3,星期三:4,星期四:5,星期五:6,星期六:7
  145. public static Integer dayForWeek(Date date) {
  146. Calendar calendar = Calendar.getInstance();
  147. calendar.setTime(date);
  148. return calendar.get(Calendar.DAY_OF_WEEK);
  149. }
  150. /**
  151. * 得到对应星期的系数 星期日:1,星期一:2,星期二:3,星期三:4,星期四:5,星期五:6,星期六:7
  152. * @param weekDays 星期格式 星期一|星期二
  153. */
  154. public static String weekForNum(String weekDays){
  155. //返回结果为组合的星期系数
  156. String weekNumber = "";
  157. //解析传入的星期
  158. if(weekDays.indexOf("|")!=-1){//多个星期数
  159. String []strWeeks = weekDays.split("\\|");
  160. for(int i=0;i<strWeeks.length;i++){
  161. weekNumber = weekNumber + "" + getWeekNum(strWeeks[i]).toString();
  162. }
  163. }else{//一个星期数
  164. weekNumber = getWeekNum(weekDays).toString();
  165. }
  166. return weekNumber;
  167. }
  168. //将星期转换为对应的系数 星期日:1,星期一:2,星期二:3,星期三:4,星期四:5,星期五:6,星期六:7
  169. public static Integer getWeekNum(String strWeek){
  170. Integer number = 1;//默认为星期日
  171. if("星期日".equals(strWeek)){
  172. number = 1;
  173. }else if("星期一".equals(strWeek)){
  174. number = 2;
  175. }else if("星期二".equals(strWeek)){
  176. number = 3;
  177. }else if("星期三".equals(strWeek)){
  178. number = 4;
  179. }else if("星期四".equals(strWeek)){
  180. number = 5;
  181. }else if("星期五".equals(strWeek)){
  182. number = 6;
  183. }else if("星期六".equals(strWeek)){
  184. number = 7;
  185. }
  186. return number;
  187. }
  188. @Override
  189. public String appendPatrolPlan(String queryJson) throws Exception {
  190. // TODO Auto-generated method stub
  191. String id = null;
  192. String personnel = null;
  193. String route = null;
  194. String Inspectiontime = null;
  195. String start_time = null;
  196. String end_time = null;
  197. String start_data = null;
  198. String end_data = null;
  199. String completion_status = null;
  200. String demoArray[]=null;
  201. String V_LOGINNAME = null;
  202. String Company_Code_List = null;
  203. JSONObject q_json = null;
  204. JSONArray jSONArray = new JSONArray();
  205. JSONObject json = new JSONObject();
  206. json.put("action", "appendPatrolPlan");
  207. if(queryJson!=null) {
  208. q_json = JSONObject.fromObject(queryJson);
  209. personnel = q_json.has("personnel")?q_json.getString("personnel"):null;
  210. route = q_json.has("route")?q_json.getString("route"):null;
  211. Company_Code_List = q_json.has("company_code")?q_json.getString("company_code"):null;
  212. Inspectiontime = q_json.has("Inspectiontime")?q_json.getString("Inspectiontime"):null;
  213. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  214. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  215. start_data = q_json.has("start_data")?q_json.getString("start_data"):null;
  216. end_data = q_json.has("end_data")?q_json.getString("end_data"):null;
  217. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  218. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  219. json.put("query", queryJson);
  220. }
  221. // if((V_LOGINNAME!=null)&&(Company_Code_List==null)&&(!V_LOGINNAME.equals("admin"))) {
  222. // String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
  223. // List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
  224. // if(list.size()>0) {
  225. // for(int i=0;i<list.size();i++) {
  226. // YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
  227. // YtiotVUsercompanyId oid = o.getId();
  228. // if(!oid.getOwnerCode().equals("10012")&& !oid.getOwnerCode().equals("10068")) {
  229. //
  230. // Company_Code_List = oid.getOwnerCode();
  231. //
  232. // }
  233. // }
  234. // }
  235. // }
  236. // System.out.println(Company_Code_List);
  237. demoArray=getDates(start_data, end_data,Inspectiontime);
  238. if(chk_string_param(personnel)&&chk_string_param(route)&&chk_string_param(Inspectiontime)
  239. &&chk_string_param(start_time)&&chk_string_param(end_time)&&chk_string_param(completion_status)) {
  240. YtiotTPatrolPlan o = new YtiotTPatrolPlan();
  241. // float F_HEIGHT1 = Float.parseFloat(F_HEIGHT);
  242. for(int i=0;i<demoArray.length;i++) {
  243. o.setPlannedDate(demoArray[i]);
  244. o.setPersonnel(personnel);
  245. o.setCompanyCode(Company_Code_List);
  246. o.setRoute(route);
  247. // o.setPlannedDate(planned_date);
  248. o.setStartTime(start_time);
  249. o.setEndTime(end_time);
  250. o.setCompletionStatus("0");
  251. DaoResult ret = ytiotTPatrolPlanDao.add(o);
  252. }
  253. json.put("success", true);
  254. json.put("Msg", "成功加入数据库");
  255. }else {
  256. json.put("success", false);
  257. json.put("Msg", "参数验证错误");
  258. }
  259. return json.toString();
  260. }
  261. @Override
  262. public String updatePatrolPlan(String queryJson) throws Exception {
  263. // TODO Auto-generated method stub
  264. String id = null;
  265. String personnel = null;
  266. String route = null;
  267. String planned_date = null;
  268. String start_time = null;
  269. String end_time = null;
  270. String completion_status = null;
  271. String hqlwhere = null;
  272. String hqlwhere1 = null;
  273. JSONObject q_json = null;
  274. JSONArray jSONArray = new JSONArray();
  275. JSONObject json = new JSONObject();
  276. json.put("action", "updatePatrolPlan");
  277. if(queryJson!=null) {
  278. q_json = JSONObject.fromObject(queryJson);
  279. id = q_json.has("id")?q_json.getString("id"):null;
  280. personnel = q_json.has("personnel")?q_json.getString("personnel"):null;
  281. route = q_json.has("route")?q_json.getString("route"):null;
  282. planned_date = q_json.has("planned_date")?q_json.getString("planned_date"):null;
  283. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  284. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  285. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  286. json.put("query", queryJson);
  287. }
  288. if(personnel!=null)
  289. hqlwhere = "u."+fieldname("name")+"='"+personnel+"'";
  290. List list1 =ytiotTPatrolPlanDao.query1(hqlwhere);
  291. YtiotTInspectors g = (YtiotTInspectors)list1.get(0);
  292. String personnel_id = Integer.toString(g.getId());
  293. if(route!=null)
  294. hqlwhere1 = "u."+fieldname("route_name")+"='"+route+"'";
  295. List list2 =ytiotTPatrolPlanDao.query2(hqlwhere1);
  296. YtiotTRoute r = (YtiotTRoute)list2.get(0);
  297. String route_id = Integer.toString(r.getId());
  298. if(chk_string_param(id)&&chk_string_param(route_id)&&chk_string_param(personnel_id)&&chk_string_param(planned_date)
  299. &&chk_string_param(start_time)&&chk_string_param(end_time)&&chk_string_param(completion_status)) {
  300. if(id!=null) {
  301. List list = ytiotTPatrolPlanDao.query(" where u."+fieldname("id")+" ='"+id+"' ", null, null, null, null);
  302. if(list.size()>0) {
  303. YtiotTPatrolPlan o = (YtiotTPatrolPlan) list.get(0);
  304. if(personnel!=null)
  305. o.setPersonnel(personnel_id);
  306. if(route!=null)
  307. o.setRoute(route_id);
  308. if(planned_date!=null)
  309. o.setPlannedDate(planned_date);
  310. if(start_time!=null)
  311. o.setStartTime(start_time);
  312. if(end_time!=null)
  313. o.setEndTime(end_time);
  314. if(completion_status!=null)
  315. o.setCompletionStatus(completion_status);
  316. DaoResult ret = ytiotTPatrolPlanDao.update(o);
  317. json.put("success", ret.isSuccess());
  318. json.put("MSG", ret.getResult());
  319. }else {
  320. json.put("success", false);
  321. json.put("MSG", "需要编辑的权限记录不存在");
  322. }
  323. }else {
  324. json.put("success", false);
  325. json.put("MSG", "记录ID不能为空");
  326. }
  327. }else {
  328. json.put("success", false);
  329. json.put("MSG", "参数验证错误");
  330. }
  331. return json.toString();
  332. }
  333. @Override
  334. public String getPatrolPlanList(String queryJson, String page, String start, String limit, String sort) throws Exception {
  335. // TODO Auto-generated method stub
  336. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  337. String id = null;
  338. String personnel = null;
  339. String route = null;
  340. String planned_date = null;
  341. String start_time = null;
  342. String end_time = null;
  343. String completion_status = null;
  344. String company_code = null;
  345. String Company_Code_List = null;
  346. String V_LOGINNAME = null;
  347. String Page = null;
  348. String Start = null;
  349. JSONArray Sort = null;
  350. String Limit = null;
  351. String hqlwhere4 = null;
  352. String hqlwhere3 = null;
  353. String hqlwhere2 = null;
  354. String hqlwhere1 = null;
  355. String hqlwhere = null;
  356. String order = null;
  357. String dir = null;
  358. String order_str = null;
  359. JSONObject q_json = null;
  360. JSONArray jSONArray = new JSONArray();
  361. JSONObject json = new JSONObject();
  362. json.put("action", "getPatrolPlanList");
  363. if(queryJson!=null) {
  364. q_json = JSONObject.fromObject(queryJson);
  365. id = q_json.has("id")?q_json.getString("id"):null;
  366. personnel = q_json.has("personnel")?q_json.getString("personnel"):null;
  367. route = q_json.has("route")?q_json.getString("route"):null;
  368. planned_date = q_json.has("planned_date")?q_json.getString("planned_date"):null;
  369. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  370. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  371. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  372. order = q_json.has("order")?q_json.getString("order"):null;
  373. dir = q_json.has("dir")?q_json.getString("dir"):null;
  374. Start = q_json.has("start")?q_json.getString("start"):(start!=null)?start:"0";
  375. Limit = q_json.has("limit")?q_json.getString("limit"):(limit!=null)?limit:null;
  376. Page = q_json.has("page")?q_json.getString("page"):(page!=null)?page:"0";
  377. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  378. json.put("query", queryJson);
  379. }
  380. if(personnel!=null) {
  381. hqlwhere3 = "u."+fieldname("name")+"='"+personnel+"'";
  382. List list3 =ytiotTPatrolPlanDao.query1(hqlwhere3);
  383. YtiotTInspectors p = (YtiotTInspectors)list3.get(0);
  384. personnel = Integer.toString(p.getId());
  385. }
  386. if(route!=null) {
  387. hqlwhere4 = "u."+fieldname("route_name")+"='"+route+"'";
  388. List list4 =ytiotTPatrolPlanDao.query2(hqlwhere4);
  389. YtiotTRoute t = (YtiotTRoute)list4.get(0);
  390. route = Integer.toString(t.getId());
  391. }
  392. // System.out.println();
  393. if(sort!=null) {
  394. Sort = JSONArray.fromObject(sort);
  395. if((Sort.isArray())&&(Sort.size()>0)) {
  396. JSONObject s_json = Sort.getJSONObject(0);
  397. order = s_json.has("property")?s_json.getString("property"):order;
  398. dir = s_json.has("direction")?s_json.getString("direction"):dir;
  399. }
  400. json.put("sort", sort);
  401. }
  402. if((V_LOGINNAME!=null)&&(company_code==null)&&(Company_Code_List==null)) {
  403. String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
  404. List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
  405. if(list.size()>0) {
  406. for(int i=0;i<list.size();i++) {
  407. YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
  408. YtiotVUsercompanyId oid = o.getId();
  409. if(i==0)
  410. Company_Code_List = oid.getOwnerCode();
  411. else
  412. Company_Code_List += ","+oid.getOwnerCode();
  413. }
  414. }
  415. }
  416. Start = start;
  417. Limit = limit;
  418. Page = page;
  419. if(Company_Code_List!=null)
  420. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+" in ("+Company_Code_List+") ";
  421. if(personnel!=null)
  422. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("personnel")+"='"+personnel+"'";
  423. if(route!=null)
  424. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("route")+"='"+route+"'";
  425. if(start_time!=null)
  426. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("start_time")+"='"+start_time+"'";
  427. if(end_time!=null)
  428. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("end_time")+"='"+end_time+"'";
  429. if(planned_date!=null)
  430. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("planned_date")+" like '%"+planned_date+"%'";
  431. if(completion_status!=null)
  432. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("completion_status")+"='"+completion_status+"'";
  433. if(order!=null)
  434. order_str = " order by u."+fieldname(order);
  435. else
  436. order_str = " order by u."+fieldname("id");
  437. int totalCount = ytiotTPatrolPlanDao.getCount(hqlwhere);
  438. //System.out.println(totalCount);
  439. json.put("totalCount", totalCount);
  440. if(Start!=null){
  441. if(Integer.parseInt(Start)>totalCount){
  442. Start = "0";
  443. Page = "0";
  444. }
  445. if(page==null)
  446. Page="0";
  447. }else{
  448. Start = "0";
  449. Page = "0";
  450. }
  451. json.put("page", Page);
  452. json.put("start", Start);
  453. json.put("limit", Limit);
  454. if(totalCount>0) {
  455. List list = ytiotTPatrolPlanDao.query(hqlwhere, order_str, dir, Start, Limit);
  456. if(list.size()>0) {
  457. for(int i=0;i<list.size();i++) {
  458. YtiotTPatrolPlan o = (YtiotTPatrolPlan)list.get(i);
  459. Map map = new HashMap();
  460. if(o.getPersonnel()!=null) {
  461. hqlwhere1 = "u."+fieldname("id")+"='"+o.getPersonnel()+"'";
  462. List list1 = ytiotTPatrolPlanDao.query1(hqlwhere1);
  463. if(list1.size()>0) {
  464. YtiotTInspectors g = (YtiotTInspectors)list1.get(0);
  465. map.put("personnel", g.getName());
  466. }
  467. }
  468. if(o.getRoute()!=null) {
  469. hqlwhere2 = "u."+fieldname("id")+"='"+o.getRoute()+"'";
  470. List list2 = ytiotTPatrolPlanDao.query2(hqlwhere2);
  471. if(list2.size()>0) {
  472. YtiotTRoute r = (YtiotTRoute)list2.get(0);
  473. map.put("route", r.getRouteName());
  474. }
  475. }
  476. map.put("id", o.getId());
  477. map.put("planned_date", o.getPlannedDate());
  478. map.put("start_time", o.getStartTime());
  479. map.put("end_time", o.getEndTime());
  480. map.put("completion_status", o.getCompletionStatus());
  481. JSONObject jSONObject = JSONObject.fromObject(map);
  482. jSONArray.add(jSONObject);
  483. }
  484. json.put("RESULT", jSONArray);
  485. }
  486. }
  487. return json.toString();
  488. }
  489. @Override
  490. public String getPatrolPlanExcelList(String queryJson) throws Exception {
  491. // TODO Auto-generated method stub
  492. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  493. String id = null;
  494. String personnel = null;
  495. String route = null;
  496. String planned_date = null;
  497. String start_time = null;
  498. String end_time = null;
  499. String completion_status = null;
  500. String company_code = null;
  501. String Company_Code_List = null;
  502. String V_LOGINNAME = null;
  503. String Page = null;
  504. String Start = null;
  505. JSONArray Sort = null;
  506. String Limit = null;
  507. String hqlwhere4 = null;
  508. String hqlwhere3 = null;
  509. String hqlwhere2 = null;
  510. String hqlwhere1 = null;
  511. String hqlwhere = null;
  512. String order = null;
  513. String dir = null;
  514. String order_str = null;
  515. JSONObject q_json = null;
  516. JSONArray jSONArray = new JSONArray();
  517. JSONObject json = new JSONObject();
  518. json.put("action", "getPatrolPlanList");
  519. if(queryJson!=null) {
  520. q_json = JSONObject.fromObject(queryJson);
  521. id = q_json.has("id")?q_json.getString("id"):null;
  522. personnel = q_json.has("personnel")?q_json.getString("personnel"):null;
  523. route = q_json.has("route")?q_json.getString("route"):null;
  524. planned_date = q_json.has("planned_date")?q_json.getString("planned_date"):null;
  525. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  526. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  527. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  528. order = q_json.has("order")?q_json.getString("order"):null;
  529. dir = q_json.has("dir")?q_json.getString("dir"):null;
  530. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  531. json.put("query", queryJson);
  532. }
  533. if((personnel!=null)&&(personnel.length()>0)) {
  534. hqlwhere3 = "u."+fieldname("name")+"='"+personnel+"'";
  535. List list3 =ytiotTPatrolPlanDao.query1(hqlwhere3);
  536. YtiotTInspectors p = (YtiotTInspectors)list3.get(0);
  537. personnel = Integer.toString(p.getId());
  538. }
  539. if((route!=null)&&(route.length()>0)) {
  540. hqlwhere4 = "u."+fieldname("route_name")+"='"+route+"'";
  541. List list4 =ytiotTPatrolPlanDao.query2(hqlwhere4);
  542. YtiotTRoute t = (YtiotTRoute)list4.get(0);
  543. route = Integer.toString(t.getId());
  544. }
  545. // System.out.println();
  546. if((V_LOGINNAME!=null)&&(company_code==null)&&(Company_Code_List==null)) {
  547. String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
  548. List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
  549. if(list.size()>0) {
  550. for(int i=0;i<list.size();i++) {
  551. YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
  552. YtiotVUsercompanyId oid = o.getId();
  553. if(i==0)
  554. Company_Code_List = oid.getOwnerCode();
  555. else
  556. Company_Code_List += ","+oid.getOwnerCode();
  557. }
  558. }
  559. }
  560. if(Company_Code_List!=null)
  561. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+" in ("+Company_Code_List+") ";
  562. if((personnel!=null)&&(personnel.length()>0))
  563. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("personnel")+"='"+personnel+"'";
  564. if((route!=null)&&(route.length()>0))
  565. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("route")+"='"+route+"'";
  566. if((start_time!=null)&&(start_time.length()>0))
  567. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("start_time")+"='"+start_time+"'";
  568. if((end_time!=null)&&(end_time.length()>0))
  569. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("end_time")+"='"+end_time+"'";
  570. if((planned_date!=null)&&(planned_date.length()>0))
  571. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("planned_date")+"='"+planned_date+"'";
  572. if(completion_status!=null)
  573. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("completion_status")+"='"+completion_status+"'";
  574. System.out.println(hqlwhere);
  575. if(order!=null)
  576. order_str = " order by u."+fieldname(order);
  577. else
  578. order_str = " order by u."+fieldname("id");
  579. int totalCount = ytiotTPatrolPlanDao.getCount(hqlwhere);
  580. json.put("totalCount", totalCount);
  581. if(totalCount>0) {
  582. List list = ytiotTPatrolPlanDao.query(hqlwhere, order_str, dir, Start, Limit);
  583. if(list.size()>0) {
  584. for(int i=0;i<list.size();i++) {
  585. YtiotTPatrolPlan o = (YtiotTPatrolPlan)list.get(i);
  586. Map map = new HashMap();
  587. if(o.getPersonnel()!=null) {
  588. hqlwhere1 = "u."+fieldname("id")+"='"+o.getPersonnel()+"'";
  589. List list1 = ytiotTPatrolPlanDao.query1(hqlwhere1);
  590. if(list1.size()>0) {
  591. YtiotTInspectors g = (YtiotTInspectors)list1.get(0);
  592. map.put("personnel", g.getName());
  593. }
  594. }
  595. if(o.getRoute()!=null) {
  596. hqlwhere2 = "u."+fieldname("id")+"='"+o.getRoute()+"'";
  597. List list2 = ytiotTPatrolPlanDao.query2(hqlwhere2);
  598. if(list2.size()>0) {
  599. YtiotTRoute r = (YtiotTRoute)list2.get(0);
  600. map.put("route", r.getRouteName());
  601. }
  602. }
  603. map.put("id", o.getId());
  604. map.put("planned_date", o.getPlannedDate());
  605. map.put("start_time", o.getStartTime());
  606. map.put("end_time", o.getEndTime());
  607. map.put("completion_status", o.getCompletionStatus());
  608. JSONObject jSONObject = JSONObject.fromObject(map);
  609. jSONArray.add(jSONObject);
  610. }
  611. json.put("result", jSONArray);
  612. }
  613. }
  614. return json.toString();
  615. }
  616. // 巡检记录
  617. @Override
  618. public String getCheckRecordList(String queryJson, String page, String start, String limit, String sort) throws Exception {
  619. // TODO Auto-generated method stub
  620. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  621. //设置时间格式,将该时间格式的时间转换为时间戳
  622. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  623. String id = null;
  624. String personnel = null;
  625. String route = null;
  626. String planned_date = null;
  627. String start_time = null;
  628. String end_time = null;
  629. String completion_status = null;
  630. String sjc1=null;
  631. String sjc2=null;
  632. String company_code=null;
  633. String V_LOGINNAME = null;
  634. String V_PASSWORD = null;
  635. int E_STATUS=-1;
  636. String company_code_list = null;
  637. String Page = null;
  638. String Start = null;
  639. JSONArray Sort = null;
  640. String Limit = null;
  641. String hqlwhere4 = null;
  642. String hqlwhere3 = null;
  643. String hqlwhere2 = null;
  644. String hqlwhere1 = null;
  645. String hqlwhere = null;
  646. String order = null;
  647. String dir = null;
  648. String order_str = null;
  649. JSONObject q_json = null;
  650. JSONArray jSONArray = new JSONArray();
  651. JSONObject json = new JSONObject();
  652. json.put("action", "getPatrolPlanList");
  653. if(queryJson!=null) {
  654. q_json = JSONObject.fromObject(queryJson);
  655. id = q_json.has("id")?q_json.getString("id"):null;
  656. personnel = q_json.has("personnel")?q_json.getString("personnel"):null;
  657. route = q_json.has("route")?q_json.getString("route"):null;
  658. planned_date = q_json.has("planned_date")?q_json.getString("planned_date"):null;
  659. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  660. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  661. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  662. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  663. V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
  664. order = q_json.has("order")?q_json.getString("order"):null;
  665. dir = q_json.has("dir")?q_json.getString("dir"):null;
  666. Start = q_json.has("start")?q_json.getString("start"):(start!=null)?start:"0";
  667. Limit = q_json.has("limit")?q_json.getString("limit"):(limit!=null)?limit:null;
  668. Page = q_json.has("page")?q_json.getString("page"):(page!=null)?page:"0";
  669. json.put("query", queryJson);
  670. }
  671. if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
  672. List list88 = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
  673. +V_PASSWORD+"' ", null, null, null, null);
  674. if(list88.size()>0) {
  675. YtiotTAdmin b2 = (YtiotTAdmin)list88.get(0);
  676. // System.out.println("测试1"+b2.getEStatus());
  677. E_STATUS = Integer.parseInt(b2.getEStatus());
  678. // System.out.println("测试2"+E_STATUS);
  679. }
  680. }
  681. if(E_STATUS==1) {
  682. if(V_LOGINNAME!=null) {
  683. String where99 = " where u.id.agentid='"+V_LOGINNAME+"' ";
  684. List list66 = ytiotVUserCompanyDao.query(where99, null, null, null, null);
  685. if(list66.size()>0) {
  686. for(int i=0;i<list66.size();i++) {
  687. YtiotVUsercompany b1 = (YtiotVUsercompany)list66.get(i);
  688. YtiotVUsercompanyId oid = b1.getId();
  689. if(i==0)
  690. company_code_list = oid.getOwnerCode();
  691. else
  692. company_code_list += ","+oid.getOwnerCode();
  693. }
  694. }
  695. }
  696. if(personnel!=null) {
  697. hqlwhere3 = "u."+fieldname("name")+"='"+personnel+"'";
  698. List list3 =ytiotTPatrolPlanDao.query1(hqlwhere3);
  699. YtiotTInspectors p = (YtiotTInspectors)list3.get(0);
  700. personnel = Integer.toString(p.getId());
  701. }
  702. if(route!=null) {
  703. hqlwhere4 = "u."+fieldname("route_name")+"='"+route+"'";
  704. List list4 =ytiotTPatrolPlanDao.query2(hqlwhere4);
  705. YtiotTRoute t = (YtiotTRoute)list4.get(0);
  706. route = Integer.toString(t.getId());
  707. }
  708. // System.out.println();
  709. if(sort!=null) {
  710. Sort = JSONArray.fromObject(sort);
  711. if((Sort.isArray())&&(Sort.size()>0)) {
  712. JSONObject s_json = Sort.getJSONObject(0);
  713. order = s_json.has("property")?s_json.getString("property"):order;
  714. dir = s_json.has("direction")?s_json.getString("direction"):dir;
  715. }
  716. json.put("sort", sort);
  717. }
  718. Start = start;
  719. Limit = limit;
  720. Page = page;
  721. if(company_code!=null)
  722. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+"='"+company_code+"'";
  723. if(company_code_list!=null)
  724. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+" in("+company_code_list+")";
  725. if(personnel!=null)
  726. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("personnel")+"='"+personnel+"'";
  727. if(route!=null)
  728. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("route")+"='"+route+"'";
  729. if(start_time!=null)
  730. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("start_time")+"='"+start_time+"'";
  731. if(end_time!=null)
  732. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("end_time")+"='"+end_time+"'";
  733. if(planned_date!=null)
  734. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("planned_date")+" like '%"+planned_date+"%'";
  735. if(completion_status!=null)
  736. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("completion_status")+"='"+completion_status+"'";
  737. if(order!=null)
  738. order_str = " order by u."+fieldname(order);
  739. else
  740. order_str = " order by u."+fieldname("id");
  741. int totalCount = ytiotTPatrolPlanDao.getCount(hqlwhere);
  742. //System.out.println(totalCount);
  743. json.put("totalCount", totalCount);
  744. if(Start!=null){
  745. if(Integer.parseInt(Start)>totalCount){
  746. Start = "0";
  747. Page = "0";
  748. }
  749. if(page==null)
  750. Page="0";
  751. }else{
  752. Start = "0";
  753. Page = "0";
  754. }
  755. json.put("page", Page);
  756. json.put("start", Start);
  757. json.put("limit", Limit);
  758. if(totalCount>0) {
  759. List list = ytiotTPatrolPlanDao.query(hqlwhere, order_str, dir, Start, Limit);
  760. if(list.size()>0) {
  761. //获得当天时间
  762. Date date1 = simpleDateFormat.parse(simpleDateFormat.format(new Date()));
  763. // System.out.println("测试三当前时间yyyy-MM-dd"+simpleDateFormat.format(new Date()));
  764. long time1 = date1.getTime()/1000;
  765. sjc1 = String.valueOf(time1);
  766. for(int i=0;i<list.size();i++) {
  767. YtiotTPatrolPlan o = (YtiotTPatrolPlan)list.get(i);
  768. Map map = new HashMap();
  769. //转换为时间戳
  770. // System.out.println("测试三记录时间yyyy-MM-dd"+o.getPlannedDate());
  771. Date date2 = simpleDateFormat.parse(o.getPlannedDate());
  772. long time2 = date2.getTime()/1000;
  773. sjc2 = String.valueOf(time2);
  774. if(Integer.parseInt(sjc2)<Integer.parseInt(sjc1)) {
  775. if(o.getPersonnel()!=null) {
  776. hqlwhere1 = "u."+fieldname("id")+"='"+o.getPersonnel()+"'";
  777. List list1 = ytiotTPatrolPlanDao.query1(hqlwhere1);
  778. if(list1.size()>0) {
  779. YtiotTInspectors g = (YtiotTInspectors)list1.get(0);
  780. map.put("personnel", g.getName());
  781. }
  782. }
  783. if(o.getRoute()!=null) {
  784. hqlwhere2 = "u."+fieldname("id")+"='"+o.getRoute()+"'";
  785. List list2 = ytiotTPatrolPlanDao.query2(hqlwhere2);
  786. if(list2.size()>0) {
  787. YtiotTRoute r = (YtiotTRoute)list2.get(0);
  788. map.put("route", r.getRouteName());
  789. }
  790. }
  791. map.put("id", o.getId());
  792. // map.put("personnel", o.getPersonnel());
  793. // map.put("route", o.getRoute());
  794. map.put("planned_date", o.getPlannedDate());
  795. map.put("start_time", o.getStartTime());
  796. map.put("end_time", o.getEndTime());
  797. map.put("completion_status", o.getCompletionStatus());
  798. map.put("company_code1", o.getCompanyCode());
  799. JSONObject jSONObject = JSONObject.fromObject(map);
  800. jSONArray.add(jSONObject);
  801. }
  802. }
  803. json.put("RESULT", jSONArray);
  804. }
  805. }
  806. }else {
  807. json.put("success", "false");
  808. json.put("MSG", "用户权限错误,请重新登录后再试。");
  809. }
  810. return json.toString();
  811. }
  812. @Override
  813. public String getCheckRecordExcelList(String queryJson) throws Exception {
  814. // TODO Auto-generated method stub
  815. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  816. //设置时间格式,将该时间格式的时间转换为时间戳
  817. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  818. String id = null;
  819. String personnel = null;
  820. String route = null;
  821. String planned_date = null;
  822. String start_time = null;
  823. String end_time = null;
  824. String completion_status = null;
  825. String sjc1=null;
  826. String sjc2=null;
  827. String company_code=null;
  828. String V_LOGINNAME = null;
  829. String V_PASSWORD = null;
  830. int E_STATUS=-1;
  831. String company_code_list = null;
  832. String Page = null;
  833. String Start = null;
  834. JSONArray Sort = null;
  835. String Limit = null;
  836. String hqlwhere4 = null;
  837. String hqlwhere3 = null;
  838. String hqlwhere2 = null;
  839. String hqlwhere1 = null;
  840. String hqlwhere = null;
  841. String order = null;
  842. String dir = null;
  843. String order_str = null;
  844. JSONObject q_json = null;
  845. JSONArray jSONArray = new JSONArray();
  846. JSONObject json = new JSONObject();
  847. json.put("action", "getPatrolPlanList");
  848. if(queryJson!=null) {
  849. q_json = JSONObject.fromObject(queryJson);
  850. id = q_json.has("id")?q_json.getString("id"):null;
  851. personnel = q_json.has("personnel")?q_json.getString("personnel"):null;
  852. route = q_json.has("route")?q_json.getString("route"):null;
  853. planned_date = q_json.has("planned_date")?q_json.getString("planned_date"):null;
  854. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  855. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  856. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  857. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  858. V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
  859. order = q_json.has("order")?q_json.getString("order"):null;
  860. dir = q_json.has("dir")?q_json.getString("dir"):null;
  861. json.put("query", queryJson);
  862. }
  863. if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
  864. List list88 = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
  865. +V_PASSWORD+"' ", null, null, null, null);
  866. if(list88.size()>0) {
  867. YtiotTAdmin b2 = (YtiotTAdmin)list88.get(0);
  868. // System.out.println("测试1"+b2.getEStatus());
  869. E_STATUS = Integer.parseInt(b2.getEStatus());
  870. // System.out.println("测试2"+E_STATUS);
  871. }
  872. }
  873. // System.out.println("bengkui"+E_STATUS);
  874. if(E_STATUS==1) {
  875. if(V_LOGINNAME!=null) {
  876. String where99 = " where u.id.agentid='"+V_LOGINNAME+"' ";
  877. List list66 = ytiotVUserCompanyDao.query(where99, null, null, null, null);
  878. if(list66.size()>0) {
  879. for(int i=0;i<list66.size();i++) {
  880. YtiotVUsercompany b1 = (YtiotVUsercompany)list66.get(i);
  881. YtiotVUsercompanyId oid = b1.getId();
  882. if(i==0)
  883. company_code_list = oid.getOwnerCode();
  884. else
  885. company_code_list += ","+oid.getOwnerCode();
  886. }
  887. }
  888. }
  889. if((personnel!=null)&&(personnel.length()>0)) {
  890. hqlwhere3 = "u."+fieldname("name")+"='"+personnel+"'";
  891. List list3 =ytiotTPatrolPlanDao.query1(hqlwhere3);
  892. YtiotTInspectors p = (YtiotTInspectors)list3.get(0);
  893. personnel = Integer.toString(p.getId());
  894. }
  895. if((route!=null)&&(route.length()>0)) {
  896. hqlwhere4 = "u."+fieldname("route_name")+"='"+route+"'";
  897. List list4 =ytiotTPatrolPlanDao.query2(hqlwhere4);
  898. YtiotTRoute t = (YtiotTRoute)list4.get(0);
  899. route = Integer.toString(t.getId());
  900. }
  901. // System.out.println();
  902. if(company_code!=null)
  903. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+"='"+company_code+"'";
  904. if(company_code_list!=null)
  905. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+" in("+company_code_list+")";
  906. if((personnel!=null)&&(personnel.length()>0))
  907. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("personnel")+"='"+personnel+"'";
  908. if((route!=null)&&(route.length()>0))
  909. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("route")+"='"+route+"'";
  910. if((start_time!=null)&&(start_time.length()>0))
  911. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("start_time")+"='"+start_time+"'";
  912. if((end_time!=null)&&(end_time.length()>0))
  913. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("end_time")+"='"+end_time+"'";
  914. if((planned_date!=null)&&(planned_date.length()>0))
  915. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("planned_date")+" like '%"+planned_date+"%'";
  916. if((completion_status!=null)&&(completion_status.length()>0))
  917. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("completion_status")+"='"+completion_status+"'";
  918. if(order!=null)
  919. order_str = " order by u."+fieldname(order);
  920. else
  921. order_str = " order by u."+fieldname("id");
  922. int totalCount = ytiotTPatrolPlanDao.getCount(hqlwhere);
  923. json.put("totalCount", totalCount);
  924. if(totalCount>0) {
  925. List list = ytiotTPatrolPlanDao.query(hqlwhere, order_str, dir, Start, Limit);
  926. if(list.size()>0) {
  927. //获得当天时间
  928. Date date1 = simpleDateFormat.parse(simpleDateFormat.format(new Date()));
  929. // System.out.println("测试三当前时间yyyy-MM-dd"+simpleDateFormat.format(new Date()));
  930. long time1 = date1.getTime()/1000;
  931. sjc1 = String.valueOf(time1);
  932. for(int i=0;i<list.size();i++) {
  933. YtiotTPatrolPlan o = (YtiotTPatrolPlan)list.get(i);
  934. Map map = new HashMap();
  935. //转换为时间戳
  936. // System.out.println("测试三记录时间yyyy-MM-dd"+o.getPlannedDate());
  937. Date date2 = simpleDateFormat.parse(o.getPlannedDate());
  938. long time2 = date2.getTime()/1000;
  939. sjc2 = String.valueOf(time2);
  940. if(Integer.parseInt(sjc2)<Integer.parseInt(sjc1)) {
  941. if(o.getPersonnel()!=null) {
  942. hqlwhere1 = "u."+fieldname("id")+"='"+o.getPersonnel()+"'";
  943. List list1 = ytiotTPatrolPlanDao.query1(hqlwhere1);
  944. if(list1.size()>0) {
  945. YtiotTInspectors g = (YtiotTInspectors)list1.get(0);
  946. map.put("personnel", g.getName());
  947. }
  948. }
  949. if(o.getRoute()!=null) {
  950. hqlwhere2 = "u."+fieldname("id")+"='"+o.getRoute()+"'";
  951. List list2 = ytiotTPatrolPlanDao.query2(hqlwhere2);
  952. if(list2.size()>0) {
  953. YtiotTRoute r = (YtiotTRoute)list2.get(0);
  954. map.put("route", r.getRouteName());
  955. }
  956. }
  957. map.put("id", o.getId());
  958. // map.put("personnel", o.getPersonnel());
  959. // map.put("route", o.getRoute());
  960. map.put("planned_date", o.getPlannedDate());
  961. map.put("start_time", o.getStartTime());
  962. map.put("end_time", o.getEndTime());
  963. map.put("completion_status", o.getCompletionStatus());
  964. map.put("company_code1", o.getCompanyCode());
  965. JSONObject jSONObject = JSONObject.fromObject(map);
  966. jSONArray.add(jSONObject);
  967. }
  968. }
  969. json.put("result", jSONArray);
  970. }
  971. }
  972. }else {
  973. json.put("success", "false");
  974. json.put("MSG", "用户权限错误,请重新登录后再试。");
  975. }
  976. return json.toString();
  977. }
  978. @Override
  979. public String getControlroomList(String queryJson, String page, String start, String limit, String sort) throws Exception {
  980. // TODO Auto-generated method stub
  981. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  982. String control_room_name = null;
  983. String control_room_person = null;
  984. String planned_date = null;
  985. String start_time = null;
  986. String end_time = null;
  987. String completion_status = null;
  988. String company_code = null;
  989. String Company_Code_List = null;
  990. String V_LOGINNAME = null;
  991. int xh = 0;
  992. String Page = null;
  993. String Start = null;
  994. JSONArray Sort = null;
  995. String Limit = null;
  996. String hqlwhere4 = null;
  997. String hqlwhere3 = null;
  998. String hqlwhere2 = null;
  999. String hqlwhere1 = null;
  1000. String hqlwhere = null;
  1001. String order = null;
  1002. String dir = null;
  1003. String order_str = null;
  1004. JSONObject q_json = null;
  1005. JSONArray jSONArray = new JSONArray();
  1006. JSONObject json = new JSONObject();
  1007. json.put("action", "getPatrolPlanList");
  1008. if(queryJson!=null) {
  1009. q_json = JSONObject.fromObject(queryJson);
  1010. control_room_name = q_json.has("control_room_name")?q_json.getString("control_room_name"):null;
  1011. control_room_person = q_json.has("control_room_person")?q_json.getString("control_room_person"):null;
  1012. company_code = q_json.has("company_code")?q_json.getString("company_code"):null;
  1013. start_time = q_json.has("start_time")?q_json.getString("start_time"):null;
  1014. end_time = q_json.has("end_time")?q_json.getString("end_time"):null;
  1015. completion_status = q_json.has("completion_status")?q_json.getString("completion_status"):null;
  1016. order = q_json.has("order")?q_json.getString("order"):null;
  1017. dir = q_json.has("dir")?q_json.getString("dir"):null;
  1018. Start = q_json.has("start")?q_json.getString("start"):(start!=null)?start:"0";
  1019. Limit = q_json.has("limit")?q_json.getString("limit"):(limit!=null)?limit:null;
  1020. Page = q_json.has("page")?q_json.getString("page"):(page!=null)?page:"0";
  1021. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  1022. json.put("query", queryJson);
  1023. }
  1024. // System.out.println();
  1025. if(sort!=null) {
  1026. Sort = JSONArray.fromObject(sort);
  1027. if((Sort.isArray())&&(Sort.size()>0)) {
  1028. JSONObject s_json = Sort.getJSONObject(0);
  1029. order = s_json.has("property")?s_json.getString("property"):order;
  1030. dir = s_json.has("direction")?s_json.getString("direction"):dir;
  1031. }
  1032. json.put("sort", sort);
  1033. }
  1034. if((V_LOGINNAME!=null)&&(company_code==null)&&(Company_Code_List==null)) {
  1035. String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
  1036. List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
  1037. if(list.size()>0) {
  1038. for(int i=0;i<list.size();i++) {
  1039. YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
  1040. YtiotVUsercompanyId oid = o.getId();
  1041. if(i==0)
  1042. Company_Code_List = oid.getOwnerCode();
  1043. else
  1044. Company_Code_List += ","+oid.getOwnerCode();
  1045. }
  1046. }
  1047. }
  1048. Start = start;
  1049. Limit = limit;
  1050. Page = page;
  1051. if(company_code!=null) {
  1052. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+"='"+company_code+"'";
  1053. }else {
  1054. if(Company_Code_List!=null)
  1055. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("company_code")+" in ("+Company_Code_List+") ";
  1056. }
  1057. if(control_room_name!=null)
  1058. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("control_room_name")+"='"+control_room_name+"'";
  1059. if(control_room_person!=null&&!control_room_person.equals("所有人"))
  1060. hqlwhere = chkhw(hqlwhere) + "u."+fieldname("control_room_person")+"='"+control_room_person+"'";
  1061. // if(start_time!=null)
  1062. // hqlwhere = chkhw(hqlwhere) + "u."+fieldname("start_time")+"='"+start_time+"'";
  1063. // if(end_time!=null)
  1064. // hqlwhere = chkhw(hqlwhere) + "u."+fieldname("end_time")+"='"+end_time+"'";
  1065. // if(planned_date!=null)
  1066. // hqlwhere = chkhw(hqlwhere) + "u."+fieldname("planned_date")+" like '%"+planned_date+"%'";
  1067. // if(completion_status!=null)
  1068. // hqlwhere = chkhw(hqlwhere) + "u."+fieldname("completion_status")+"='"+completion_status+"'";
  1069. if(order!=null)
  1070. order_str = " order by u."+fieldname(order);
  1071. else
  1072. order_str = " order by u."+fieldname("id");
  1073. int totalCount = ytiotTPatrolPlanDao.getControlCount(hqlwhere);
  1074. //System.out.println(totalCount);
  1075. json.put("totalCount", totalCount);
  1076. if(Start!=null){
  1077. if(Integer.parseInt(Start)>totalCount){
  1078. Start = "0";
  1079. Page = "0";
  1080. }
  1081. if(page==null)
  1082. Page="0";
  1083. }else{
  1084. Start = "0";
  1085. Page = "0";
  1086. }
  1087. json.put("page", Page);
  1088. json.put("start", Start);
  1089. json.put("limit", Limit);
  1090. if(totalCount>0) {
  1091. List list = ytiotTPatrolPlanDao.queryControl(hqlwhere, order_str, dir, Start, Limit);
  1092. if(list.size()>0) {
  1093. for(int i=0;i<list.size();i++) {
  1094. YtiotTControlroom o = (YtiotTControlroom)list.get(i);
  1095. Map map = new HashMap();
  1096. if(o.getCompanyCode()!=null) {
  1097. hqlwhere2 = "u."+fieldname("V_COMPANY_CODE")+"='"+o.getCompanyCode()+"'";
  1098. List list2 = ytiotTPatrolPlanDao.query3(hqlwhere2);
  1099. if(list2.size()>0) {
  1100. YtiotTCompany r = (YtiotTCompany)list2.get(0);
  1101. map.put("company_name", r.getVCompanyName());
  1102. }
  1103. }
  1104. xh=i+1;
  1105. map.put("xh", xh);
  1106. map.put("id", o.getId());
  1107. map.put("control_room_name", o.getControlRoomName());
  1108. map.put("control_room_person", o.getControlRoomPerson());
  1109. map.put("control_room_address", o.getControlRoomAddress());
  1110. map.put("control_room_phone", o.getControlRoomPhone());
  1111. map.put("company_code", o.getCompanyCode());
  1112. JSONObject jSONObject = JSONObject.fromObject(map);
  1113. jSONArray.add(jSONObject);
  1114. }
  1115. json.put("RESULT", jSONArray);
  1116. }
  1117. }
  1118. return json.toString();
  1119. }
  1120. @Override
  1121. public String appendControlRoom(String queryJson) throws Exception {
  1122. // TODO Auto-generated method stub
  1123. String id = null;
  1124. String control_room_name = null;
  1125. String control_room_person = null;
  1126. String control_room_address = null;
  1127. String control_room_phone = null;
  1128. String end_time = null;
  1129. String start_data = null;
  1130. String end_data = null;
  1131. String completion_status = null;
  1132. String demoArray[]=null;
  1133. String V_LOGINNAME = null;
  1134. String company_code = null;
  1135. JSONObject q_json = null;
  1136. JSONArray jSONArray = new JSONArray();
  1137. JSONObject json = new JSONObject();
  1138. json.put("action", "appendPatrolPlan");
  1139. if(queryJson!=null) {
  1140. q_json = JSONObject.fromObject(queryJson);
  1141. control_room_name = q_json.has("control_room_name")?q_json.getString("control_room_name"):null;
  1142. control_room_person = q_json.has("control_room_person")?q_json.getString("control_room_person"):null;
  1143. company_code = q_json.has("company_code")?q_json.getString("company_code"):null;
  1144. control_room_address = q_json.has("control_room_address")?q_json.getString("control_room_address"):null;
  1145. control_room_phone = q_json.has("control_room_phone")?q_json.getString("control_room_phone"):null;
  1146. V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
  1147. json.put("query", queryJson);
  1148. }
  1149. // if((V_LOGINNAME!=null)&&(Company_Code_List==null)&&(!V_LOGINNAME.equals("admin"))) {
  1150. // String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
  1151. // List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
  1152. // if(list.size()>0) {
  1153. // for(int i=0;i<list.size();i++) {
  1154. // YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
  1155. // YtiotVUsercompanyId oid = o.getId();
  1156. // if(!oid.getOwnerCode().equals("10012")&& !oid.getOwnerCode().equals("10068")) {
  1157. //
  1158. // Company_Code_List = oid.getOwnerCode();
  1159. //
  1160. // }
  1161. // }
  1162. // }
  1163. // }
  1164. // System.out.println(Company_Code_List);
  1165. if(chk_string_param(control_room_name)&&chk_string_param(control_room_person)&&chk_string_param(control_room_address)
  1166. &&chk_string_param(control_room_phone)&&chk_string_param(company_code)) {
  1167. YtiotTControlroom o = new YtiotTControlroom();
  1168. o.setCompanyCode(company_code);
  1169. o.setControlRoomAddress(control_room_address);
  1170. o.setControlRoomName(control_room_name);
  1171. o.setControlRoomPerson(control_room_person);
  1172. o.setControlRoomPhone(control_room_phone);
  1173. DaoResult ret = ytiotTPatrolPlanDao.addControl(o);
  1174. json.put("success", true);
  1175. json.put("Msg", "成功加入数据库");
  1176. }else {
  1177. json.put("success", false);
  1178. json.put("Msg", "参数验证错误");
  1179. }
  1180. return json.toString();
  1181. }
  1182. @Override
  1183. public String updateControlRoom(String queryJson) throws Exception {
  1184. // TODO Auto-generated method stub
  1185. String id = null;
  1186. String control_room_name = null;
  1187. String control_room_person = null;
  1188. String control_room_address = null;
  1189. String control_room_phone = null;
  1190. String end_time = null;
  1191. String company_code = null;
  1192. String hqlwhere = null;
  1193. String hqlwhere1 = null;
  1194. JSONObject q_json = null;
  1195. JSONArray jSONArray = new JSONArray();
  1196. JSONObject json = new JSONObject();
  1197. json.put("action", "updatePatrolPlan");
  1198. if(queryJson!=null) {
  1199. q_json = JSONObject.fromObject(queryJson);
  1200. id = q_json.has("id")?q_json.getString("id"):null;
  1201. control_room_name = q_json.has("control_room_name")?q_json.getString("control_room_name"):null;
  1202. control_room_person = q_json.has("control_room_person")?q_json.getString("control_room_person"):null;
  1203. company_code = q_json.has("company_code")?q_json.getString("company_code"):null;
  1204. control_room_address = q_json.has("control_room_address")?q_json.getString("control_room_address"):null;
  1205. control_room_phone = q_json.has("control_room_phone")?q_json.getString("control_room_phone"):null;
  1206. json.put("query", queryJson);
  1207. }
  1208. if(chk_string_param(id)&&chk_string_param(control_room_name)&&chk_string_param(control_room_person)&&chk_string_param(company_code)
  1209. &&chk_string_param(control_room_address)&&chk_string_param(control_room_phone)) {
  1210. if(id!=null) {
  1211. List list = ytiotTPatrolPlanDao.queryControl(" where u."+fieldname("id")+" ='"+id+"' ", null, null, null, null);
  1212. if(list.size()>0) {
  1213. YtiotTControlroom o = (YtiotTControlroom) list.get(0);
  1214. if(control_room_name!=null)
  1215. o.setControlRoomName(control_room_name);
  1216. if(control_room_person!=null)
  1217. o.setControlRoomPerson(control_room_person);
  1218. if(company_code!=null)
  1219. o.setCompanyCode(company_code);
  1220. if(control_room_address!=null)
  1221. o.setControlRoomAddress(control_room_address);
  1222. if(control_room_phone!=null)
  1223. o.setControlRoomPhone(control_room_phone);
  1224. DaoResult ret = ytiotTPatrolPlanDao.updateControl(o);
  1225. json.put("success", ret.isSuccess());
  1226. json.put("MSG", ret.getResult());
  1227. }else {
  1228. json.put("success", false);
  1229. json.put("MSG", "需要编辑的消控室不存在");
  1230. }
  1231. }else {
  1232. json.put("success", false);
  1233. json.put("MSG", "记录ID不能为空");
  1234. }
  1235. }else {
  1236. json.put("success", false);
  1237. json.put("MSG", "参数验证错误");
  1238. }
  1239. return json.toString();
  1240. }
  1241. }