xinyb
2024-09-09 6a63e2f86f981066357bd60d34496c627a51e3a8
提交 | 用户 | age
a6a76f 1 package com.yc.action.task;
F 2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import java.util.HashMap;
6 import java.util.List;
7 import java.util.Map;
8
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import javax.servlet.http.HttpSession;
12
13 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.context.annotation.Scope;
15 import org.springframework.stereotype.Controller;
16 import org.springframework.web.bind.annotation.RequestMapping;
17
18 import com.yc.multiData.SpObserver;
19 import com.yc.service.impl.DBHelper;
20 import com.yc.service.task.TaskIfc;
21 import com.yc.utils.SessionKey;
22
23 @Controller
24 @Scope("request")
25 @RequestMapping("/task.do")
26 public class TaskAction {
27     @Autowired
28     TaskIfc tIfc;
29
30     @RequestMapping(params = "m=add")
31     public void add(HttpServletRequest request, HttpServletResponse response)
32         throws IOException {
33     HttpSession session = request.getSession();
34     Map<String, Object> map = new HashMap<String, Object>();
35     map.put("usercode", session.getAttribute(SessionKey.USERCODE));
36     map.put("comdate", request.getParameter("day"));
37     map.put("danri", request.getParameter("danri"));
38     map.put("notworkdays", request.getParameter("notworkday"));
39     map.put("needday", request.getParameter("ts"));
40     map.put("content", request.getParameter("content"));
41     map.put("title", request.getParameter("title"));
42     map.put("rank", request.getParameter("rank"));
43     PrintWriter out = response.getWriter();
44     try {
45         SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
46         tIfc.insTask(map);
47     } catch (Exception e) {
48         out.print(e.getMessage());
49     }finally{
50          SpObserver.setDBtoInstance();
51      }
52     out.flush();
53     out.close();
54     }
55     
56     @RequestMapping(params = "m=update")
57     public void update(HttpServletRequest request, HttpServletResponse response)
58         throws IOException {
59     Map<String, Object> map = new HashMap<String, Object>();    
60     map.put("execcase", request.getParameter("execcase"));
61     map.put("exedes", request.getParameter("exedes"));
62     PrintWriter out = response.getWriter();
63     try {
64         SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
65         tIfc.updTask(map, request.getParameter("id"));
66     } catch (Exception e) {
67         out.print(e.getMessage());
68     }finally{
69          SpObserver.setDBtoInstance();
70      }
71     out.flush();
72     out.close();
73     }
74     
75     @RequestMapping(params = "m=month")
76     public void month(HttpServletRequest request, HttpServletResponse response)
77         throws IOException {
78     PrintWriter out = response.getWriter();
79     HttpSession session = request.getSession();
80     String day= request.getParameter("day");
81     int rank=0;//执行情况中重要级别总数
82     int execcase=0;//执行情况总数
83     String execStr="";
84     String toDay="";
85     String outString="";
86     String outStrDay="";
87     try {
88        List<Map<String, Object>> taskList=null;
89        try{
90         SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
91         taskList=tIfc.getTaskByUserAndMonth(session.getAttribute(SessionKey.USERCODE).toString(), day);
92             }finally{
93                  SpObserver.setDBtoInstance();
94              }
95        out.print("succeed:");
96        if(taskList!=null&&taskList.size()>0){
97        for(Map<String, Object> map:taskList){
98         if(!toDay.equals(DBHelper.getValue(map, "task_day"))){
99            if(!toDay.equals("")){//添加信息 记录先一天的信息
100                 outString+=toDay+";p#"+outStrDay+execStr+"_"+execcase+"_"+rank+";fen#";//outStrDay 后面有分割符,可不必考虑
101                 rank=0;
102                 execcase=0;
103                 outStrDay="";//先一天的输出
104                 execStr="";//先一天的执行情况
105            }
106            toDay=DBHelper.getValue(map, "task_day");
107         }//确定日期
108         if(toDay.equals(DBHelper.getValue(map, "task_day"))){//是同一天(进入判断日期)
109         if(execStr.equals("")||!execStr.equals(DBHelper.getValue(map, "execcase"))){
110            if(!execStr.equals("")){//记录同一天先一种情况的信息
111                outStrDay+=execStr+"_"+execcase+"_"+rank+";b#";
112                rank=0;
113                execcase=0;
114            }
115             execStr=DBHelper.getValue(map, "execcase");//总会有值:1,2,3,4 的代号            
116         }
117         if(DBHelper.getValue(map, "execcase").equals(execStr)){//是同一种情况:如未完成
118             execcase++;
119             if(DBHelper.getValue(map, "rank").equals("2")){//此情况下的 重要任务数
120             rank++;
121             }
122         }
123         }
124        }
125        //记录最后一次未记录的信息
126        outString+=toDay+";p#"+outStrDay+execStr+"_"+execcase+"_"+rank;
127        }
128        out.print(outString);
129     } catch (Exception e) {
130         out.print("error:执行内部sql出错了");
131     }
132     out.flush();
133     out.close();
134     }
135     @RequestMapping(params = "m=day")
136     public void day(HttpServletRequest request, HttpServletResponse response)
137         throws IOException {
138     PrintWriter out = response.getWriter();
139     HttpSession session = request.getSession();
140     String day= request.getParameter("day");    
141     String outString="";    
142      try{
143         SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
144        List<Map<String, Object>> taskList=tIfc.getTaskByUserAndDay(session.getAttribute(SessionKey.USERCODE).toString(), day);
145        out.print("succeed:");
146        for(Map<String, Object> map:taskList){
147            outString+=DBHelper.getValue(map, "id")+";pb#"+DBHelper.getValue(map, "title")+";pb#"+DBHelper.getValue(map, "rank")+";fen#";
148        }
149        out.print(outString);
150     } catch (Exception e) {
151         out.print("error:执行内部sql出错了");
152     }finally{
153          SpObserver.setDBtoInstance();
154      }
155     out.flush();
156     out.close();
157     }
158 }