|
@@ -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();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|