소스 검색

月报状态

jichaobo 4 년 전
부모
커밋
4d2fc7ec1e

+ 6 - 0
src/cn/com/usky/iot/userstatus/service/YtiotTAdminStateEntityService.java

@@ -0,0 +1,6 @@
+package cn.com.usky.iot.userstatus.service;
+
+public interface YtiotTAdminStateEntityService {
+	public String updateUserState(String queryJson) throws Exception;
+	public String getUserStateList(String queryJson) throws Exception;
+}

+ 260 - 0
src/cn/com/usky/iot/userstatus/service/YtiotTAdminStateEntityServicesImpl.java

@@ -0,0 +1,260 @@
+package cn.com.usky.iot.userstatus.service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import cn.com.usky.iot.EfAnalysis.dao.YtiotTEfAnalysisDao;
+import cn.com.usky.iot.admin.dao.YtiotVUserCompanyDao;
+import cn.com.usky.iot.entity.YtiotTAdminStateEntity;
+import cn.com.usky.iot.entity.YtiotTEfAnalysis;
+import cn.com.usky.iot.entity.YtiotTWaterAnalysis;
+import cn.com.usky.iot.entity.YtiotVUsercompany;
+import cn.com.usky.iot.entity.YtiotVUsercompanyId;
+import cn.com.usky.iot.userstatus.dao.YtiotTAdminStateEntityDao;
+import cn.com.usky.utils.DaoResult;
+import cn.com.usky.utils.MD5Util;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+public class YtiotTAdminStateEntityServicesImpl implements YtiotTAdminStateEntityService {
+	private YtiotTAdminStateEntityDao ytiotTAdminStateEntityDao;
+	
+
+	public YtiotTAdminStateEntityDao getYtiotTAdminStateEntityDao() {
+		return ytiotTAdminStateEntityDao;
+	}
+			   
+	public void setYtiotTAdminStateEntityDao(YtiotTAdminStateEntityDao ytiotTAdminStateEntityDao) {
+		this.ytiotTAdminStateEntityDao = ytiotTAdminStateEntityDao;
+	}
+	
+	private YtiotVUserCompanyDao ytiotVUserCompanyDao;
+	
+
+	public YtiotVUserCompanyDao getYtiotVUserCompanyDao() {
+		return ytiotVUserCompanyDao;
+	}
+			   
+	public void setYtiotVUserCompanyDao(YtiotVUserCompanyDao ytiotVUserCompanyDao) {
+		this.ytiotVUserCompanyDao = ytiotVUserCompanyDao;
+	}
+	
+	private YtiotTEfAnalysisDao ytiotTEfAnalysisDao;
+	
+
+	public YtiotTEfAnalysisDao getYtiotTEfAnalysisDao() {
+		return ytiotTEfAnalysisDao;
+	}
+			   
+	public void setYtiotTEfAnalysisDao(YtiotTEfAnalysisDao ytiotTEfAnalysisDao) {
+		this.ytiotTEfAnalysisDao = ytiotTEfAnalysisDao;
+	}
+	
+
+	public boolean chk_string_param(String param) {
+		if(param==null)
+			return true;
+		if(param.indexOf("=")>=0)
+			return false;
+		if(param.indexOf("\'")>=0)
+			return false;
+		if(param.indexOf("\"")>=0)
+			return false;
+		return true;
+	}
+	
+	public String chkhw(String hqlwhere){
+		if(hqlwhere==null)
+			return " where ";
+		else
+			return hqlwhere+" and ";
+	}
+	public String fieldname(String field){
+		if(field.equals("UUSID"))
+			return "uusid";
+		if(field.equals("V_LOGINNAME"))
+			return "vLoginname";
+		if(field.equals("STATE"))
+			return "state";
+		return null;
+	}
+
+	@Override
+	public String updateUserState(String queryJson) throws Exception {
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
+		String V_LOGINNAME = null;
+		String STATE = null;
+		JSONObject q_json = null;
+		JSONArray jSONArray = new JSONArray();
+		JSONObject json = new JSONObject();
+		if(queryJson!=null) {
+			q_json = JSONObject.fromObject(queryJson);
+			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
+			STATE = q_json.has("STATE")?q_json.getString("STATE"):null;
+		}
+		if(chk_string_param(V_LOGINNAME)) {
+			if(V_LOGINNAME!=null&&!V_LOGINNAME.equals("")&&STATE!=null&&!STATE.equals("")) {
+				List list = ytiotTAdminStateEntityDao.query(" where u."+fieldname("V_LOGINNAME")+" ='"+V_LOGINNAME+"' ", null, null, null, null);
+				if(list.size()>0) {
+					YtiotTAdminStateEntity o = (YtiotTAdminStateEntity) list.get(0);
+					if(o.getState().equals("1")&&STATE.equals("2")) {
+						o.setState("3");
+					}else if(o.getState().equals("2")&&STATE.equals("1")){
+						o.setState("3");
+					}else if(o.getState().equals("3")&&!STATE.equals("0")){
+						o.setState("3");
+					}else if(STATE.equals("0")){
+						o.setState("0");
+					}else {
+						o.setState(STATE);
+					}
+					
+					o.setTime(formatter.format(new Date()));
+					
+					DaoResult ret = ytiotTAdminStateEntityDao.update(o);
+					json.put("success", ret.isSuccess());
+					json.put("MSG", ret.getResult());
+				}else {
+					json.put("success", false);
+					json.put("MSG", "需要编辑的权限记录不存在");
+				}
+			}else {
+				json.put("success", false);
+				json.put("MSG", "登录用户不能为空");
+			}
+		}else {
+			json.put("success", false);
+			json.put("MSG", "缺少重要参数");
+		}
+		return json.toString();
+	}
+	
+
+
+
+	@Override
+	public String getUserStateList(String queryJson) throws Exception {
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
+		String V_LOGINNAME = null;
+		String hqlwhere = null;
+		String Company_Code_List = null;
+		JSONObject q_json = null;
+		JSONArray jSONArray = new JSONArray();
+		JSONObject json = new JSONObject();
+		if(queryJson!=null) {
+			q_json = JSONObject.fromObject(queryJson);	
+			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
+		}
+		
+		
+		
+		
+		if((V_LOGINNAME!=null)&&(!V_LOGINNAME.equals(""))) {
+			String where1 = " where u.id.agentid='"+V_LOGINNAME+"' ";
+			List list1 = ytiotVUserCompanyDao.query(where1, null, null, null, null);
+			if(list1.size()>0) {
+				for(int i=0;i<list1.size();i++) {
+					YtiotVUsercompany a1 = (YtiotVUsercompany)list1.get(i);
+					YtiotVUsercompanyId oid = a1.getId();
+					if(i==0) {
+						Company_Code_List = "'" + oid.getOwnerCode() + "'";
+					}else {
+						Company_Code_List +=",'" +oid.getOwnerCode() + "'";
+					}
+					
+				}
+			}else {
+				json.put("success", false);
+				json.put("mgs", "数据错误");
+			}
+			
+			
+
+				hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_LOGINNAME")+"='"+V_LOGINNAME+"'";
+				List list = ytiotTAdminStateEntityDao.query(hqlwhere,null ,null, null, null);
+				if(list.size()>0) {
+					YtiotTAdminStateEntity o = (YtiotTAdminStateEntity)list.get(0);
+					Map map = new HashMap();
+					if(o.getState().equals("0")) {
+						map.put("UUSID", o.getUusid());
+		            	map.put("V_LOGINNAME", o.getvLoginname());
+		            	map.put("STATE", "0");
+					}else if(o.getState().equals("1")||o.getState().equals("2")){
+						map.put("UUSID", o.getUusid());
+		            	map.put("V_LOGINNAME", o.getvLoginname());
+		            	map.put("STATE", o.getState());
+					}else if(o.getState().equals("3")){
+						String where2 = " where u.companyCode in("+Company_Code_List+") ";
+						List list2 = ytiotTEfAnalysisDao.query(where2, " order by u.id ", " desc ", null, null);
+						YtiotTEfAnalysis o2 = (YtiotTEfAnalysis)list2.get(0);
+						
+						String where3 = " where u.companyCode in("+Company_Code_List+") ";
+						List list3 = ytiotTEfAnalysisDao.queryWater(where3, " order by u.id ", " desc ", null, null);
+						YtiotTWaterAnalysis o3 = (YtiotTWaterAnalysis)list3.get(0);
+						
+						int startDay1=0;
+						int startDay2=0;
+						int endDay=0;
+						if(list2.size()>0&&list3.size()>0) {
+							try {
+					            Date dateStart1 = formatter.parse(o2.getGenerationTime());
+					            Date dateStart2 = formatter.parse(o3.getGenerationTime());
+					            Date datEnd = formatter.parse(o.getTime());
+					            startDay1 = (int) (dateStart1.getTime() / 1000);
+					            startDay2 = (int) (dateStart2.getTime() / 1000);
+					            endDay = (int) (datEnd.getTime() / 1000);
+					            
+					        } catch (Exception e) {
+					            e.printStackTrace();
+					        }
+							
+							if(startDay1>=endDay&&startDay2>=endDay) {
+					        	//未读
+								map.put("UUSID", o.getUusid());
+				            	map.put("V_LOGINNAME", o.getvLoginname());
+				            	map.put("STATE", "0");
+				            }else if(startDay1<endDay&&startDay2>=endDay){
+					        	//已读
+				            	map.put("UUSID", o.getUusid());
+				            	map.put("V_LOGINNAME", o.getvLoginname());
+				            	map.put("STATE", "1");
+				            }else if(startDay1>=endDay&&startDay2<endDay){
+					        	//已读
+				            	map.put("UUSID", o.getUusid());
+				            	map.put("V_LOGINNAME", o.getvLoginname());
+				            	map.put("STATE", "2");
+				            }else if(startDay1<endDay&&startDay2<endDay){
+					        	//已读
+				            	map.put("UUSID", o.getUusid());
+				            	map.put("V_LOGINNAME", o.getvLoginname());
+				            	map.put("STATE", "3");
+				            }
+						
+						}else {
+							json.put("success", false);
+							json.put("mgs", "数据错误");
+						}
+					}
+
+					JSONObject jSONObject = JSONObject.fromObject(map);
+					jSONArray.add(jSONObject);
+					json.put("RESULT", jSONArray);
+					json.put("success", true);
+					json.put("mgs", "操作成功");
+				}else {
+					json.put("success", false);
+					json.put("mgs", "数据错误");
+				}
+				
+		}else {
+			json.put("success", false);
+			json.put("mgs", "缺少重要参数");
+			
+		}
+		return json.toString();
+	}
+	
+}