Commit aa99ddb999a255a1f567432118fa2755114db780

Authored by liquanyu
1 parent b0f41673d4

update

Showing 6 changed files with 508 additions and 331 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java View file @ aa99ddb
... ... @@ -36,6 +36,8 @@
36 36  
37 37 Map<String,Object> findUrl(String code);
38 38  
  39 + List<Map<String,Object>> queryCouponItemsByType(Map<String, Object> params);
  40 +
39 41 void invalid(Map<String, Object> param);
40 42  
41 43 String findByUsedId(String usedId);
platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java View file @ aa99ddb
... ... @@ -2,6 +2,7 @@
2 2  
3 3 import com.lyms.platform.common.result.BaseObjectResponse;
4 4  
  5 +import java.util.List;
5 6 import java.util.Map;
6 7 import java.util.Set;
7 8  
... ... @@ -32,6 +33,9 @@
32 33 BaseObjectResponse areas(String hospitalId);
33 34  
34 35 String findUrl(String code);
  36 +
  37 + List<Map<String,Object>> queryCouponItemsByType(Map<String, Object> params);
  38 +
35 39  
36 40 void invalid(String personId, String couponTypes);
37 41  
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java View file @ aa99ddb
... ... @@ -162,7 +162,7 @@
162 162 return CollectionUtils.isNotEmpty(list);
163 163 }
164 164  
165   - private void sendCoupon(List<Map<String, Object>> temps, String hospitalId, Integer createUserId, String userId, Integer personType, String areaCode) {
  165 + private void sendCoupon(List<Map<String, Object>> temps, String hospitalId, Integer createUserId, String userId, Integer personType) {
166 166 for (Map<String, Object> temp : temps) {
167 167 Object sendType = temp.get("send_type");
168 168 if(sendType != null) {/** 1=全部发放 2=按有效时间发放 */
... ... @@ -170,7 +170,7 @@
170 170 couponInfo.setCreateDate(new Date());
171 171 couponInfo.setCreateHospitalId(hospitalId);
172 172 couponInfo.setCreateUserId(String.valueOf(createUserId));
173   - couponInfo.setSequenceId(genIdService.poll(areaCode));
  173 + couponInfo.setSequenceId(genIdService.poll());
174 174 couponInfo.setStatus(1);
175 175 couponInfo.setUserId(userId);
176 176 if(temp.get("coupon_template_id") != null) {
... ... @@ -212,6 +212,9 @@
212 212 continue;
213 213 }
214 214  
  215 +
  216 +
  217 +
215 218 Object actualStart = temp.get("actual_start");
216 219 Object actualEnd = temp.get("actual_end");
217 220 Object unitType = temp.get("unit_type");
... ... @@ -402,6 +405,11 @@
402 405 @Override
403 406 public String findByUsedId(String usedId) {
404 407 return couponMapper.findByUsedId(usedId);
  408 + }
  409 +
  410 + @Override
  411 + public List<Map<String, Object>> queryCouponItemsByType(Map<String, Object> params) {
  412 + return couponMapper.queryCouponItemsByType(params);
405 413 }
406 414  
407 415 /** 1=省 2=市 3=区 4=单医院 */
platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml View file @ aa99ddb
... ... @@ -124,5 +124,12 @@
124 124 select city_id from organization where id = #{hospitalId}
125 125 </select>
126 126  
  127 + <select id="queryCouponItemsByType" parameterType="java.util.Map" resultType="java.util.Map">
  128 + SELECT t.name,t.title,t.coupon_order from hospital_coupon_template_group h
  129 + left join coupon_type ct on h.coupon_template_group_id=ct.template_group_id
  130 + INNER JOIN coupon_template t on t.type_id=ct.id
  131 + where h.hospital_id=#{hospitalId} and ct.type=#{type} order by t.coupon_order ASC
  132 + </select>
  133 +
127 134 </mapper>
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java View file @ aa99ddb
... ... @@ -32,6 +32,7 @@
32 32 * @param provinceId 省份
33 33 * @param cityId 城市
34 34 * @param areaId 区域
  35 + * @param objType 1,孕妇建档,2,孕妇产检,3,产妇建档,4,产妇分娩,5,产妇出院小结,6,产妇产后复查,7,儿童建档,8,儿童保健
35 36 * @return
36 37 */
37 38 @RequestMapping(method = RequestMethod.GET,value = "/getTicketUsedCount")
38 39  
... ... @@ -42,9 +43,10 @@
42 43 @RequestParam(required = false)String hospitalId,
43 44 @RequestParam(required = false)String provinceId,
44 45 @RequestParam(required = false)String cityId,
45   - @RequestParam(required = false)String areaId) {
  46 + @RequestParam(required = false)String areaId,
  47 + @RequestParam(required = true)Integer objType) {
46 48 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
47   - return areaCountFacade.getTicketUsedCount(time,hospitalId,provinceId,cityId,areaId, loginState.getId());
  49 + return areaCountFacade.getTicketUsedCount(time,hospitalId,provinceId,cityId,areaId, loginState.getId(),objType);
48 50 }
49 51  
50 52 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java View file @ aa99ddb
... ... @@ -15,6 +15,7 @@
15 15 import com.lyms.platform.operate.web.utils.ResponseUtil;
16 16 import com.lyms.platform.permission.model.Organization;
17 17 import com.lyms.platform.permission.model.OrganizationQuery;
  18 +import com.lyms.platform.permission.service.CouponService;
18 19 import com.lyms.platform.permission.service.OrganizationService;
19 20 import com.lyms.platform.pojo.BasicConfig;
20 21 import com.lyms.platform.pojo.DataPermissionsModel;
... ... @@ -57,6 +58,9 @@
57 58 @Autowired
58 59 private BasicConfigService basicConfigService;
59 60  
  61 + @Autowired
  62 + private CouponService couponService;
  63 +
60 64 private static Map<Integer,String> node_map = new HashMap<>();
61 65 //0:0~12 孕周 1: 16~20 孕周 2: 21~24 孕周 3:28~36 孕周 4:37~ 分娩
62 66 //--0~12 孕周,16~20 孕周,21~24 孕周,28~36 孕周,37~ 分娩
63 67  
... ... @@ -67,32 +71,12 @@
67 71 node_map.put(3,"28~36 孕周");
68 72 node_map.put(4, "37~ 分娩");
69 73  
70   - String version = PropertiesUtils.getPropertyValue("his_version");
71 74 String area_count_url = PropertiesUtils.getPropertyValue("area_count_url");
72   - if ("4".equals(version))
73   - {
74   - //秦皇岛
75   - DRIVER = "oracle.jdbc.driver.OracleDriver";
76   - JDBC = "jdbc:oracle:thin:@"+area_count_url+":orcl";
77   - NAME = "LYMS_ODS";
78   - PWD = "Welcome1";
79   - }
80   - else if ("6".equals(version))
81   - {
82   - //德州
83   - DRIVER = "oracle.jdbc.driver.OracleDriver";
84   - JDBC = "jdbc:oracle:thin:@"+area_count_url+":orcl";
85   - NAME = "LYMS_ODS";
86   - PWD = "Welcome1";
87   - }
88   - else
89   - {
90   - //线上
91   - DRIVER = "oracle.jdbc.driver.OracleDriver";
92   - JDBC = "jdbc:oracle:thin:@"+area_count_url+":orcl";
93   - NAME = "LYMS_ODS";
94   - PWD = "Welcome1";
95   - }
  75 + DRIVER = "oracle.jdbc.driver.OracleDriver";
  76 + JDBC = "jdbc:oracle:thin:@"+area_count_url+":orcl";
  77 + NAME = "LYMS_ODS";
  78 + PWD = "Welcome1";
  79 +
96 80 }
97 81  
98 82 private static String getNodeName(Integer nodeName)
99 83  
100 84  
101 85  
102 86  
103 87  
104 88  
105 89  
106 90  
107 91  
108 92  
109 93  
110 94  
111 95  
112 96  
113 97  
114 98  
115 99  
116 100  
117 101  
118 102  
119 103  
120 104  
121 105  
122 106  
123 107  
124 108  
125 109  
126 110  
... ... @@ -106,337 +90,507 @@
106 90  
107 91 public BaseResponse getTicketUsedCount(String time, String hospitalId,
108 92 String provinceId,String cityId,
109   - String areaId, Integer userId) {
  93 + String areaId, Integer userId,Integer type) {
110 94  
111   - String sql1 = "SELECT " +
112   - " AAA.PROVINCE," +
113   - " AAA.PROVINCE_ID," +
114   - " AAA.CITY," +
115   - " AAA.CITY_ID," +
116   - " AAA.AREA_COUNTY," +
117   - " AAA.AREA_COUNTY_ID ," +
118   - " AAA.HOSPITAL_NAME," +
119   - " AAA.HOSPITAL_NO," +
120   - " AAA.YCY_STSTEM_ID, " +
121   - " (CASE WHEN FF_RS IS NULL THEN 0 ELSE FF_RS END) AS FF_RS," +
122   - " (CASE WHEN FF_JS IS NULL THEN 0 ELSE FF_JS END) AS FF_JS," +
123   - " (CASE WHEN SY_RS IS NULL THEN 0 ELSE SY_RS END) AS SY_RS," +
124   - " (CASE WHEN SY_JS IS NULL THEN 0 ELSE SY_JS END) AS SY_JS," +
125   - " (CASE WHEN TICKET_1 IS NULL THEN 0 ELSE TICKET_1 END) AS TICKET_1, " +
126   - " (CASE WHEN TICKET_2 IS NULL THEN 0 ELSE TICKET_2 END) AS TICKET_2, " +
127   - " (CASE WHEN TICKET_3 IS NULL THEN 0 ELSE TICKET_3 END) AS TICKET_3, " +
128   - " (CASE WHEN TICKET_4 IS NULL THEN 0 ELSE TICKET_4 END) AS TICKET_4, " +
129   - " (CASE WHEN TICKET_5 IS NULL THEN 0 ELSE TICKET_5 END) AS TICKET_5" +
130   - " FROM ODS_D_HOSPITAL AAA LEFT JOIN (SELECT A.PROVINCE_ID, " +
131   - " A.PROVINCE, " +
132   - " A.CITY_ID, " +
133   - " A.CITY, " +
134   - " A.AREA_COUNTY_ID, " +
135   - " A.AREA_COUNTY, " +
136   - " A.HOSPITAL_NO, " +
137   - " A.HOSPITAL_NAME, " +
138   - " A.YCY_STSTEM_ID, " +
139   - " COUNT(DISTINCT B.RECORD_ID) AS FF_RS, " +
140   - " COUNT(B.TICKETS_NO) AS FF_JS " +
141   - " FROM ODS_D_HOSPITAL A " +
142   - " LEFT JOIN ODS_F_EXAMINE_TICKET B ON A.HOSPITAL_NO=B.HOSPITAL_NO" +
143   - " INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID " +
144   - " WHERE 1=1 AND C.CREATE_TYPE_ID <> 2 AND C.CREATE_CATEGORY_ID <> 2 ";
145   - String issueSql = "";
146   - if (StringUtils.isNotEmpty(time))
147   - {
148   - String start = time.split(" - ")[0];
149   - String end = time.split(" - ")[1];
150   - issueSql+=" AND B.ISSUE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd')";
151   - }
152   - if (StringUtils.isNotEmpty(provinceId))
153   - {
154   - issueSql += " AND A.PROVINCE_ID= '"+provinceId+"'";
155   - }
  95 + StringBuilder sql = new StringBuilder();
  96 + sql.append(" select * from ( ");
  97 + sql.append(" SELECT A.PROVINCE_ID, A.PROVINCE, A.CITY_ID, ");
  98 + sql.append(" A.CITY, A.AREA_COUNTY_ID,");
  99 + sql.append(" A.AREA_COUNTY,A.HOSPITAL_NO,");
  100 + sql.append(" A.HOSPITAL_NAME, A.YCY_STSTEM_ID,");
  101 + sql.append(" BB.OBJ_ID,BB.OBJ_NAME,");
  102 + sql.append(" BB.FF_RS,BB.FF_JS,");
  103 + sql.append(" DD.SY_RS, DD.SY_JS ");
  104 + sql.append(" FROM ODS_D_HOSPITAL A LEFT JOIN ( ");
  105 + sql.append(" SELECT B.HOSPITAL_NO, C.OBJ_ID, ");
  106 + sql.append(" C.OBJ_NAME, COUNT(DISTINCT B.RECORD_ID) AS FF_RS, ");
  107 + sql.append(" COUNT(B.TICKETS_NO) AS FF_JS ");
  108 + sql.append(" FROM ODS_F_EXAMINE_TICKET B ");
  109 + sql.append(" INNER JOIN ODS_F_TICKET_TEMPLATE C ON B.TEMPLATE_ID=C.TEMPLATE_ID ");
  110 + sql.append(" INNER JOIN ODS_F_GRAVIDA_RECORD Z ON B.RECORD_ID=Z.RECORD_ID ");
  111 + sql.append(" WHERE B.TICKETS_STATUS_ID IN (1,2,3) ");
  112 + sql.append(" AND Z.CREATE_TYPE_ID <> 2 ");
  113 + sql.append(" AND Z.CREATE_CATEGORY_ID <>2 ");
156 114  
157   - if (StringUtils.isNotEmpty(cityId))
158   - {
159   - issueSql+= " AND A.CITY_ID= '" +cityId+"'";
160   - }
  115 + if (StringUtils.isNotEmpty(time))
  116 + {
  117 + String start = time.split(" - ")[0];
  118 + String end = time.split(" - ")[1];
  119 + sql.append(" AND B.ISSUE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd') ");
  120 + }
161 121  
162   - if (StringUtils.isNotEmpty(areaId))
163   - {
164   - issueSql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'";
165   - }
166   - if (StringUtils.isNotEmpty(hospitalId))
167   - {
168   - issueSql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'";
169   - }
170   - else
171   - {
172   - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
173   - if (StringUtils.isNotEmpty(hospitals))
174   - {
175   - issueSql+=" AND A.YCY_STSTEM_ID IN " +hospitals;
176   - }
  122 + sql.append(" AND C.OBJ_ID = "+ type);
  123 + sql.append(" GROUP BY B.HOSPITAL_NO, C.OBJ_ID, C.OBJ_NAME) ");
  124 + sql.append(" BB ON A.HOSPITAL_NO =BB.HOSPITAL_NO LEFT JOIN ( ");
  125 + sql.append(" SELECT D.HOSPITAL_NO, E.OBJ_ID, ");
  126 + sql.append(" E.OBJ_NAME, COUNT(DISTINCT D.RECORD_ID) AS SY_RS, COUNT(D.TICKETS_NO) AS SY_JS ");
  127 + sql.append(" FROM ODS_F_EXAMINE_TICKET D ");
  128 + sql.append(" INNER JOIN ODS_F_TICKET_TEMPLATE E ON D.TEMPLATE_ID=E.TEMPLATE_ID ");
  129 + sql.append(" INNER JOIN ODS_F_GRAVIDA_RECORD Z ON D.RECORD_ID=Z.RECORD_ID ");
  130 + sql.append(" WHERE D.TICKETS_STATUS_ID=2 ");
  131 + sql.append(" AND Z.CREATE_TYPE_ID <> 2 ");
  132 + sql.append(" AND Z.CREATE_CATEGORY_ID <>2 ");
177 133  
178   - }
179   - sql1+=issueSql;
180   - sql1+=" GROUP BY A.PROVINCE_ID, " +
181   - " A.PROVINCE, " +
182   - " A.CITY_ID, " +
183   - " A.CITY, " +
184   - " A.AREA_COUNTY_ID, " +
185   - " A.AREA_COUNTY, " +
186   - " A.HOSPITAL_NO, " +
187   - " A.HOSPITAL_NAME, " +
188   - " A.YCY_STSTEM_ID) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO" +
189   - " LEFT JOIN ( " +
190   - " SELECT A.PROVINCE_ID, " +
191   - " A.PROVINCE, " +
192   - " A.CITY_ID, " +
193   - " A.CITY, " +
194   - " A.AREA_COUNTY_ID, " +
195   - " A.AREA_COUNTY, " +
196   - " A.HOSPITAL_NO, " +
197   - " A.HOSPITAL_NAME, " +
198   - " A.YCY_STSTEM_ID, " +
199   - " COUNT(DISTINCT CC.RECORD_ID) AS SY_RS, " +
200   - " COUNT(CC.TICKETS_NO) AS SY_JS, " +
201   - " SUM((CASE WHEN CC.TICKETS_ORDER=1 THEN 1 END)) AS TICKET_1, " +
202   - " SUM((CASE WHEN CC.TICKETS_ORDER=2 THEN 1 END)) AS TICKET_2, " +
203   - " SUM((CASE WHEN CC.TICKETS_ORDER=3 THEN 1 END)) AS TICKET_3, " +
204   - " SUM((CASE WHEN CC.TICKETS_ORDER=4 THEN 1 END)) AS TICKET_4, " +
205   - " SUM((CASE WHEN CC.TICKETS_ORDER=5 THEN 1 END)) AS TICKET_5 " +
206   - " FROM ODS_F_EXAMINE_HISTORY_ASC CC " +
207   - " LEFT JOIN ODS_D_HOSPITAL A ON A.HOSPITAL_NO=CC.HOSPITAL_NO " +
208   - " INNER JOIN ODS_F_GRAVIDA_RECORD B ON CC.RECORD_ID=B.RECORD_ID " +
209   - " WHERE CC.TICKETS_NO IS NOT NULL AND B.CREATE_TYPE_ID <> 2 AND B.CREATE_CATEGORY_ID <> 2 ";
210   - String examineSql = "";
211   - if (StringUtils.isNotEmpty(time))
212   - {
213   - String start = time.split(" - ")[0];
214   - String end = time.split(" - ")[1];
215   - examineSql+=" AND CC.EXAMINE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd')";
216   - }
217   - if (StringUtils.isNotEmpty(provinceId))
218   - {
219   - examineSql += " AND A.PROVINCE_ID= '"+provinceId+"'";
220   - }
  134 + if (StringUtils.isNotEmpty(time))
  135 + {
  136 + String start = time.split(" - ")[0];
  137 + String end = time.split(" - ")[1];
  138 + sql.append(" AND D.USE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd') ");
  139 + }
221 140  
222   - if (StringUtils.isNotEmpty(cityId))
223   - {
224   - examineSql+= " AND A.CITY_ID= '" +cityId+"'";
225   - }
  141 + sql.append(" AND E.OBJ_ID = "+type);
  142 + sql.append(" GROUP BY D.HOSPITAL_NO, E.OBJ_ID, E.OBJ_NAME) DD ON A.HOSPITAL_NO =DD.HOSPITAL_NO WHERE 1 = 1");
  143 + if (StringUtils.isNotEmpty(provinceId))
  144 + {
  145 + sql.append(" AND A.PROVINCE_ID= '"+provinceId+"' ");
  146 + }
226 147  
227   - if (StringUtils.isNotEmpty(areaId))
228   - {
229   - examineSql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'";
230   - }
231   - if (StringUtils.isNotEmpty(hospitalId))
232   - {
233   - examineSql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'";
234   - }
235   - else
236   - {
237   - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
238   - if (StringUtils.isNotEmpty(hospitals))
239   - {
240   - examineSql+=" AND A.YCY_STSTEM_ID IN " +hospitals;
241   - }
  148 + if (StringUtils.isNotEmpty(cityId))
  149 + {
  150 + sql.append(" AND A.CITY_ID= '" +cityId+"' ");
  151 + }
242 152  
243   - }
244   - sql1+=examineSql;
245   - sql1+= " GROUP BY A.PROVINCE_ID, " +
246   - " A.PROVINCE, " +
247   - " A.CITY_ID, " +
248   - " A.CITY, " +
249   - " A.AREA_COUNTY_ID, " +
250   - " A.AREA_COUNTY, " +
251   - " A.HOSPITAL_NO, " +
252   - " A.HOSPITAL_NAME, " +
253   - " A.YCY_STSTEM_ID " +
254   - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO ";
  153 + if (StringUtils.isNotEmpty(areaId))
  154 + {
  155 + sql.append(" AND A.AREA_COUNTY_ID= '" +areaId+"' ");
  156 + }
  157 + if (StringUtils.isNotEmpty(hospitalId))
  158 + {
  159 + sql.append(" AND A.YCY_STSTEM_ID= '" +hospitalId+"' ");
  160 + }
  161 + else
  162 + {
  163 + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  164 + if (StringUtils.isNotEmpty(hospitals))
  165 + {
  166 + sql.append(" AND A.YCY_STSTEM_ID IN " +hospitals +" ");
  167 + }
255 168  
256   - sql1+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId);
  169 + }
  170 + sql.append(" ) TEMP WHERE ");
  171 + sql.append(" (OBJ_ID IS NOT NULL OR OBJ_NAME IS NOT NULL OR FF_RS IS NOT NULL OR FF_JS IS NOT NULL OR SY_RS IS NOT NULL OR SY_JS IS NOT NULL) ");
257 172  
258   -// if (StringUtils.isNotEmpty(hospitalId))
259   -// {
260   -// sql1+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
261   -// }
262   -// else
263   -// {
264   -// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
265   -// if (StringUtils.isNotEmpty(hospitals))
266   -// {
267   -// sql1+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
268   -// }
269   -//
270   -// }
271   - sql1+=" ORDER BY 1,2,3";
  173 + System.out.println("sql========" + sql.toString());
  174 + List<Map<String, Object>> ticketList = JdbcUtil.getOracleListDataBySql(DRIVER, JDBC, NAME, PWD, sql.toString());
272 175  
273   - String groupBySql = "";
274   - String groupBySql1 = "";
275 176  
276   - if (StringUtils.isNotEmpty(hospitalId) || StringUtils.isNotEmpty(areaId))
277   - {
278   - groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE," +
279   - " AAA.CITY||';'||AAA.CITY_ID AS CITY," +
280   - " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID AS AREA_COUNTY," +
281   - " AAA.HOSPITAL_NAME||';'||AAA.YCY_STSTEM_ID AS HNAME," ;
282   - groupBySql1="AAA.PROVINCE||';'||AAA.PROVINCE_ID, " +
283   - " AAA.CITY||';'||AAA.CITY_ID, " +
284   - " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID, " +
285   - " AAA.HOSPITAL_NAME||';'||AAA.YCY_STSTEM_ID";
286   - }
287 177  
288   - else if (StringUtils.isNotEmpty(cityId))
289   - {
290   - groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE," +
291   - " AAA.CITY||';'||AAA.CITY_ID AS CITY," +
292   - " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID AS AREA_COUNTY," ;
293   - groupBySql1=" AAA.PROVINCE||';'||AAA.PROVINCE_ID, " +
294   - " AAA.CITY||';'||AAA.CITY_ID, " +
295   - " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID";
296   - }
297   - else if (StringUtils.isNotEmpty(provinceId))
298   - {
299   - groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE," +
300   - " AAA.CITY||';'||AAA.CITY_ID AS CITY,";
301   - groupBySql1="AAA.PROVINCE||';'||AAA.PROVINCE_ID, " +
302   - " AAA.CITY||';'||AAA.CITY_ID ";
303   - }
304   - else
305   - {
306   - groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE,";
307   - groupBySql1="AAA.PROVINCE||';'||AAA.PROVINCE_ID";
308   - }
309 178  
  179 + StringBuilder itemSql = new StringBuilder();
  180 + itemSql.append(" SELECT D.HOSPITAL_NO, E.OBJ_ID, ");
  181 + itemSql.append(" E.OBJ_NAME, D.TICKETS_ORDER, ");
  182 + itemSql.append(" E.TEMPLATE_NAME, COUNT(D.TICKETS_NO) AS SY_RC ");
  183 + itemSql.append(" FROM ODS_D_HOSPITAL A ");
  184 + itemSql.append(" LEFT JOIN ODS_F_EXAMINE_TICKET D ON A.HOSPITAL_NO =D.HOSPITAL_NO ");
  185 + itemSql.append(" INNER JOIN ODS_F_TICKET_TEMPLATE E ON D.TEMPLATE_ID=E.TEMPLATE_ID ");
  186 + itemSql.append(" INNER JOIN ODS_F_GRAVIDA_RECORD Z ON D.RECORD_ID=Z.RECORD_ID ");
  187 + itemSql.append(" WHERE D.TICKETS_STATUS_ID=2 ");
  188 + itemSql.append(" AND Z.CREATE_TYPE_ID <> 2 ");
  189 + itemSql.append(" AND Z.CREATE_CATEGORY_ID <>2 ");
310 190  
311   - String countSql = "SELECT "+groupBySql+
312   - " SUM(AA.FF_JS) AS FF_JS,\n" +
313   - " SUM(SY_JS) AS SY_JS\n" +
314   - " FROM ODS_D_HOSPITAL AAA \n" +
315   - " LEFT JOIN (\n" +
316   - " SELECT A.PROVINCE_ID,\n" +
317   - " A.PROVINCE,\n" +
318   - " A.CITY_ID,\n" +
319   - " A.CITY,\n" +
320   - " A.AREA_COUNTY_ID,\n" +
321   - " A.AREA_COUNTY,\n" +
322   - " A.HOSPITAL_NO,\n" +
323   - " A.HOSPITAL_NAME,\n" +
324   - " A.YCY_STSTEM_ID,\n" +
325   - " COUNT(DISTINCT B.RECORD_ID) AS FF_RS,\n" +
326   - " COUNT(B.TICKETS_NO) AS FF_JS\n" +
327   - " FROM ODS_D_HOSPITAL A\n" +
328   - " LEFT JOIN ODS_F_EXAMINE_TICKET B ON A.HOSPITAL_NO=B.HOSPITAL_NO " +
329   - " INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID " +
330   - " WHERE 1=1 AND C.CREATE_TYPE_ID <> 2 AND C.CREATE_CATEGORY_ID <> 2 " ;
331   - countSql+=issueSql;
332   - countSql+=" GROUP BY A.PROVINCE_ID,\n" +
333   - " A.PROVINCE,\n" +
334   - " A.CITY_ID,\n" +
335   - " A.CITY,\n" +
336   - " A.AREA_COUNTY_ID,\n" +
337   - " A.AREA_COUNTY,\n" +
338   - " A.HOSPITAL_NO,\n" +
339   - " A.HOSPITAL_NAME,\n" +
340   - " A.YCY_STSTEM_ID) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO\n" +
341   - " LEFT JOIN (\n" +
342   - " SELECT A.PROVINCE_ID,\n" +
343   - " A.PROVINCE,\n" +
344   - " A.CITY_ID,\n" +
345   - " A.CITY,\n" +
346   - " A.AREA_COUNTY_ID,\n" +
347   - " A.AREA_COUNTY,\n" +
348   - " A.HOSPITAL_NO,\n" +
349   - " A.HOSPITAL_NAME,\n" +
350   - " A.YCY_STSTEM_ID,\n" +
351   - " COUNT(DISTINCT CC.RECORD_ID) AS SY_RS,\n" +
352   - " COUNT(CC.TICKETS_NO) AS SY_JS\n" +
353   - " FROM ODS_F_EXAMINE_HISTORY_ASC CC\n" +
354   - " LEFT JOIN ODS_D_HOSPITAL A ON A.HOSPITAL_NO=CC.HOSPITAL_NO INNER JOIN ODS_F_GRAVIDA_RECORD B ON CC.RECORD_ID=B.RECORD_ID" +
355   - " WHERE CC.TICKETS_NO IS NOT NULL AND B.CREATE_TYPE_ID <> 2 AND B.CREATE_CATEGORY_ID <> 2 " ;
356   - countSql+=examineSql;
357   - countSql+=" GROUP BY A.PROVINCE_ID,\n" +
358   - " A.PROVINCE,\n" +
359   - " A.CITY_ID,\n" +
360   - " A.CITY,\n" +
361   - " A.AREA_COUNTY_ID,\n" +
362   - " A.AREA_COUNTY,\n" +
363   - " A.HOSPITAL_NO,\n" +
364   - " A.HOSPITAL_NAME,\n" +
365   - " A.YCY_STSTEM_ID\n" +
366   - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ;
  191 + if (StringUtils.isNotEmpty(time))
  192 + {
  193 + String start = time.split(" - ")[0];
  194 + String end = time.split(" - ")[1];
  195 + sql.append(" AND D.USE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd') ");
  196 + }
  197 + itemSql.append(" AND E.OBJ_ID= "+type);
  198 + itemSql.append(" AND A.YCY_STSTEM_ID='"+hospitalId+"'");
  199 + itemSql.append(" GROUP BY D.HOSPITAL_NO, E.OBJ_ID, ");
  200 + itemSql.append(" E.OBJ_NAME, D.TICKETS_ORDER, E.TEMPLATE_NAME ");
  201 + itemSql.append(" order by D.TICKETS_ORDER ASC ");
367 202  
368   - countSql+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId);
369 203  
370   -// if (StringUtils.isNotEmpty(hospitalId))
371   -// {
372   -// countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
373   -// }
374   -// else
375   -// {
376   -// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
377   -// if (StringUtils.isNotEmpty(hospitals))
378   -// {
379   -// countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
380   -// }
381   -//
382   -// }
383   - countSql+=" GROUP BY ROLLUP("+groupBySql1+") ORDER BY 1,2,3";
384 204  
385   - System.out.println("basesql===="+sql1);
386   - System.out.println("countSql====" + countSql);
387   -
388   - //产检使用图形统计
  205 + // //产检使用图形统计
389 206 List<String> chartData = new ArrayList<>();
390 207 List<Integer> ffJsData = new ArrayList<>();
391 208 List<Integer> syJsData = new ArrayList<>();
392   - List<Map<String, Object>> ticketCount = JdbcUtil.getOracleListDataBySql(DRIVER, JDBC, NAME, PWD, countSql);
393   - if (CollectionUtils.isNotEmpty(ticketCount))
394   - {
395 209  
396   - for(Map<String, Object> map : ticketCount)
397   - {
  210 + List<Map<String, Object>> ticketItemList = JdbcUtil.getOracleListDataBySql(DRIVER, JDBC, NAME, PWD, itemSql.toString());
398 211  
399   - if (StringUtils.isNotEmpty(hospitalId) || StringUtils.isNotEmpty(areaId))
  212 + Map<String,Object> params = new HashMap<>();
  213 + params.put("hospitalId", hospitalId);
  214 + params.put("type", type);
  215 + List<Map<String,Object>> items = couponService.queryCouponItemsByType(params);
  216 + if (CollectionUtils.isNotEmpty(items)) {
  217 + for (int i = 0; i < items.size(); i++) {
  218 + items.get(i).put("key", "USE_NUM" + (i + 1));
  219 + }
  220 + }
  221 +
  222 +
  223 + if (CollectionUtils.isNotEmpty(ticketList))
  224 + {
  225 + for(Map<String, Object> map : ticketList)
  226 + {
  227 + chartData.add(map.get("HOSPITAL_NAME").toString());
  228 + ffJsData.add(map.get("FF_JS") == null ? 0 : Integer.parseInt(map.get("FF_JS").toString()));
  229 + syJsData.add(map.get("SY_JS") == null ? 0 : Integer.parseInt(map.get("SY_JS").toString()));
  230 + if (CollectionUtils.isNotEmpty(items))
  231 + {
  232 + for(int i = 0 ; i < items.size() ; i++)
  233 + {
  234 + Map<String,Object> item = items.get(i);
  235 + String name = item.get("name").toString();
  236 + Integer num = 0;
  237 + if (CollectionUtils.isNotEmpty(ticketItemList))
  238 + {
  239 + for(Map<String, Object> itemMap : ticketItemList)
400 240 {
401   - if (map.get("HNAME") == null)
  241 + String ticketName = itemMap.get("TEMPLATE_NAME").toString();
  242 + if (StringUtils.isNotEmpty(name) && name.equals(ticketName))
402 243 {
403   - continue;
  244 + num = itemMap.get("SY_RC") == null ? 0 : Integer.parseInt(itemMap.get("SY_RC").toString());
  245 + break;
404 246 }
405   - chartData.add(spitValue(map.get("HNAME")));
406 247 }
407   - else if (StringUtils.isNotEmpty(cityId))
408   - {
409   - if (map.get("AREA_COUNTY") == null)
410   - {
411   - continue;
412   - }
413   - chartData.add(spitValue(map.get("AREA_COUNTY")));
414   - }
415   - else if (StringUtils.isNotEmpty(provinceId))
416   - {
417   - if (map.get("CITY") == null)
418   - {
419   - continue;
420   - }
421   - chartData.add(spitValue(map.get("CITY")));
422   - }
423   - else
424   - {
425   - if (map.get("PROVINCE") == null)
426   - {
427   - continue;
428   - }
429   - chartData.add(spitValue(map.get("PROVINCE")));
430   - }
431   - ffJsData.add(getInteger(map.get("FF_JS")));
432   - syJsData.add(getInteger(map.get("SY_JS")));
  248 + }
  249 + map.put("USE_NUM"+(i+1),num);
433 250 }
  251 + }
434 252 }
  253 + }
435 254  
436   - //产检使用表格统计
437   - List<Map<String, Object>> ticketList = JdbcUtil.getOracleListDataBySql(DRIVER, JDBC, NAME, PWD, sql1);
  255 +
  256 +
  257 +
  258 +// String sql1 = "SELECT " +
  259 +// " AAA.PROVINCE," +
  260 +// " AAA.PROVINCE_ID," +
  261 +// " AAA.CITY," +
  262 +// " AAA.CITY_ID," +
  263 +// " AAA.AREA_COUNTY," +
  264 +// " AAA.AREA_COUNTY_ID ," +
  265 +// " AAA.HOSPITAL_NAME," +
  266 +// " AAA.HOSPITAL_NO," +
  267 +// " AAA.YCY_STSTEM_ID, " +
  268 +// " (CASE WHEN FF_RS IS NULL THEN 0 ELSE FF_RS END) AS FF_RS," +
  269 +// " (CASE WHEN FF_JS IS NULL THEN 0 ELSE FF_JS END) AS FF_JS," +
  270 +// " (CASE WHEN SY_RS IS NULL THEN 0 ELSE SY_RS END) AS SY_RS," +
  271 +// " (CASE WHEN SY_JS IS NULL THEN 0 ELSE SY_JS END) AS SY_JS," +
  272 +// " (CASE WHEN TICKET_1 IS NULL THEN 0 ELSE TICKET_1 END) AS TICKET_1, " +
  273 +// " (CASE WHEN TICKET_2 IS NULL THEN 0 ELSE TICKET_2 END) AS TICKET_2, " +
  274 +// " (CASE WHEN TICKET_3 IS NULL THEN 0 ELSE TICKET_3 END) AS TICKET_3, " +
  275 +// " (CASE WHEN TICKET_4 IS NULL THEN 0 ELSE TICKET_4 END) AS TICKET_4, " +
  276 +// " (CASE WHEN TICKET_5 IS NULL THEN 0 ELSE TICKET_5 END) AS TICKET_5" +
  277 +// " FROM ODS_D_HOSPITAL AAA LEFT JOIN (SELECT A.PROVINCE_ID, " +
  278 +// " A.PROVINCE, " +
  279 +// " A.CITY_ID, " +
  280 +// " A.CITY, " +
  281 +// " A.AREA_COUNTY_ID, " +
  282 +// " A.AREA_COUNTY, " +
  283 +// " A.HOSPITAL_NO, " +
  284 +// " A.HOSPITAL_NAME, " +
  285 +// " A.YCY_STSTEM_ID, " +
  286 +// " COUNT(DISTINCT B.RECORD_ID) AS FF_RS, " +
  287 +// " COUNT(B.TICKETS_NO) AS FF_JS " +
  288 +// " FROM ODS_D_HOSPITAL A " +
  289 +// " LEFT JOIN ODS_F_EXAMINE_TICKET B ON A.HOSPITAL_NO=B.HOSPITAL_NO" +
  290 +// " INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID " +
  291 +// " WHERE 1=1 AND C.CREATE_TYPE_ID <> 2 AND C.CREATE_CATEGORY_ID <> 2 ";
  292 +// String issueSql = "";
  293 +// if (StringUtils.isNotEmpty(time))
  294 +// {
  295 +// String start = time.split(" - ")[0];
  296 +// String end = time.split(" - ")[1];
  297 +// issueSql+=" AND B.ISSUE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd')";
  298 +// }
  299 +// if (StringUtils.isNotEmpty(provinceId))
  300 +// {
  301 +// issueSql += " AND A.PROVINCE_ID= '"+provinceId+"'";
  302 +// }
  303 +//
  304 +// if (StringUtils.isNotEmpty(cityId))
  305 +// {
  306 +// issueSql+= " AND A.CITY_ID= '" +cityId+"'";
  307 +// }
  308 +//
  309 +// if (StringUtils.isNotEmpty(areaId))
  310 +// {
  311 +// issueSql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'";
  312 +// }
  313 +// if (StringUtils.isNotEmpty(hospitalId))
  314 +// {
  315 +// issueSql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'";
  316 +// }
  317 +// else
  318 +// {
  319 +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  320 +// if (StringUtils.isNotEmpty(hospitals))
  321 +// {
  322 +// issueSql+=" AND A.YCY_STSTEM_ID IN " +hospitals;
  323 +// }
  324 +//
  325 +// }
  326 +// sql1+=issueSql;
  327 +// sql1+=" GROUP BY A.PROVINCE_ID, " +
  328 +// " A.PROVINCE, " +
  329 +// " A.CITY_ID, " +
  330 +// " A.CITY, " +
  331 +// " A.AREA_COUNTY_ID, " +
  332 +// " A.AREA_COUNTY, " +
  333 +// " A.HOSPITAL_NO, " +
  334 +// " A.HOSPITAL_NAME, " +
  335 +// " A.YCY_STSTEM_ID) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO" +
  336 +// " LEFT JOIN ( " +
  337 +// " SELECT A.PROVINCE_ID, " +
  338 +// " A.PROVINCE, " +
  339 +// " A.CITY_ID, " +
  340 +// " A.CITY, " +
  341 +// " A.AREA_COUNTY_ID, " +
  342 +// " A.AREA_COUNTY, " +
  343 +// " A.HOSPITAL_NO, " +
  344 +// " A.HOSPITAL_NAME, " +
  345 +// " A.YCY_STSTEM_ID, " +
  346 +// " COUNT(DISTINCT CC.RECORD_ID) AS SY_RS, " +
  347 +// " COUNT(CC.TICKETS_NO) AS SY_JS, " +
  348 +// " SUM((CASE WHEN CC.TICKETS_ORDER=1 THEN 1 END)) AS TICKET_1, " +
  349 +// " SUM((CASE WHEN CC.TICKETS_ORDER=2 THEN 1 END)) AS TICKET_2, " +
  350 +// " SUM((CASE WHEN CC.TICKETS_ORDER=3 THEN 1 END)) AS TICKET_3, " +
  351 +// " SUM((CASE WHEN CC.TICKETS_ORDER=4 THEN 1 END)) AS TICKET_4, " +
  352 +// " SUM((CASE WHEN CC.TICKETS_ORDER=5 THEN 1 END)) AS TICKET_5 " +
  353 +// " FROM ODS_F_EXAMINE_HISTORY_ASC CC " +
  354 +// " LEFT JOIN ODS_D_HOSPITAL A ON A.HOSPITAL_NO=CC.HOSPITAL_NO " +
  355 +// " INNER JOIN ODS_F_GRAVIDA_RECORD B ON CC.RECORD_ID=B.RECORD_ID " +
  356 +// " WHERE CC.TICKETS_NO IS NOT NULL AND B.CREATE_TYPE_ID <> 2 AND B.CREATE_CATEGORY_ID <> 2 ";
  357 +// String examineSql = "";
  358 +// if (StringUtils.isNotEmpty(time))
  359 +// {
  360 +// String start = time.split(" - ")[0];
  361 +// String end = time.split(" - ")[1];
  362 +// examineSql+=" AND CC.EXAMINE_DATE BETWEEN TO_DATE('"+start+"','yyyy-mm-dd') AND TO_DATE('"+end+"','yyyy-mm-dd')";
  363 +// }
  364 +// if (StringUtils.isNotEmpty(provinceId))
  365 +// {
  366 +// examineSql += " AND A.PROVINCE_ID= '"+provinceId+"'";
  367 +// }
  368 +//
  369 +// if (StringUtils.isNotEmpty(cityId))
  370 +// {
  371 +// examineSql+= " AND A.CITY_ID= '" +cityId+"'";
  372 +// }
  373 +//
  374 +// if (StringUtils.isNotEmpty(areaId))
  375 +// {
  376 +// examineSql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'";
  377 +// }
  378 +// if (StringUtils.isNotEmpty(hospitalId))
  379 +// {
  380 +// examineSql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'";
  381 +// }
  382 +// else
  383 +// {
  384 +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  385 +// if (StringUtils.isNotEmpty(hospitals))
  386 +// {
  387 +// examineSql+=" AND A.YCY_STSTEM_ID IN " +hospitals;
  388 +// }
  389 +//
  390 +// }
  391 +// sql1+=examineSql;
  392 +// sql1+= " GROUP BY A.PROVINCE_ID, " +
  393 +// " A.PROVINCE, " +
  394 +// " A.CITY_ID, " +
  395 +// " A.CITY, " +
  396 +// " A.AREA_COUNTY_ID, " +
  397 +// " A.AREA_COUNTY, " +
  398 +// " A.HOSPITAL_NO, " +
  399 +// " A.HOSPITAL_NAME, " +
  400 +// " A.YCY_STSTEM_ID " +
  401 +// " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO ";
  402 +//
  403 +// sql1+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId);
  404 +//
  405 +//// if (StringUtils.isNotEmpty(hospitalId))
  406 +//// {
  407 +//// sql1+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
  408 +//// }
  409 +//// else
  410 +//// {
  411 +//// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  412 +//// if (StringUtils.isNotEmpty(hospitals))
  413 +//// {
  414 +//// sql1+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
  415 +//// }
  416 +////
  417 +//// }
  418 +// sql1+=" ORDER BY 1,2,3";
  419 +//
  420 +// String groupBySql = "";
  421 +// String groupBySql1 = "";
  422 +//
  423 +// if (StringUtils.isNotEmpty(hospitalId) || StringUtils.isNotEmpty(areaId))
  424 +// {
  425 +// groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE," +
  426 +// " AAA.CITY||';'||AAA.CITY_ID AS CITY," +
  427 +// " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID AS AREA_COUNTY," +
  428 +// " AAA.HOSPITAL_NAME||';'||AAA.YCY_STSTEM_ID AS HNAME," ;
  429 +// groupBySql1="AAA.PROVINCE||';'||AAA.PROVINCE_ID, " +
  430 +// " AAA.CITY||';'||AAA.CITY_ID, " +
  431 +// " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID, " +
  432 +// " AAA.HOSPITAL_NAME||';'||AAA.YCY_STSTEM_ID";
  433 +// }
  434 +//
  435 +// else if (StringUtils.isNotEmpty(cityId))
  436 +// {
  437 +// groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE," +
  438 +// " AAA.CITY||';'||AAA.CITY_ID AS CITY," +
  439 +// " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID AS AREA_COUNTY," ;
  440 +// groupBySql1=" AAA.PROVINCE||';'||AAA.PROVINCE_ID, " +
  441 +// " AAA.CITY||';'||AAA.CITY_ID, " +
  442 +// " AAA.AREA_COUNTY||';'||AAA.AREA_COUNTY_ID";
  443 +// }
  444 +// else if (StringUtils.isNotEmpty(provinceId))
  445 +// {
  446 +// groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE," +
  447 +// " AAA.CITY||';'||AAA.CITY_ID AS CITY,";
  448 +// groupBySql1="AAA.PROVINCE||';'||AAA.PROVINCE_ID, " +
  449 +// " AAA.CITY||';'||AAA.CITY_ID ";
  450 +// }
  451 +// else
  452 +// {
  453 +// groupBySql=" AAA.PROVINCE||';'||AAA.PROVINCE_ID AS PROVINCE,";
  454 +// groupBySql1="AAA.PROVINCE||';'||AAA.PROVINCE_ID";
  455 +// }
  456 +//
  457 +//
  458 +// String countSql = "SELECT "+groupBySql+
  459 +// " SUM(AA.FF_JS) AS FF_JS,\n" +
  460 +// " SUM(SY_JS) AS SY_JS\n" +
  461 +// " FROM ODS_D_HOSPITAL AAA \n" +
  462 +// " LEFT JOIN (\n" +
  463 +// " SELECT A.PROVINCE_ID,\n" +
  464 +// " A.PROVINCE,\n" +
  465 +// " A.CITY_ID,\n" +
  466 +// " A.CITY,\n" +
  467 +// " A.AREA_COUNTY_ID,\n" +
  468 +// " A.AREA_COUNTY,\n" +
  469 +// " A.HOSPITAL_NO,\n" +
  470 +// " A.HOSPITAL_NAME,\n" +
  471 +// " A.YCY_STSTEM_ID,\n" +
  472 +// " COUNT(DISTINCT B.RECORD_ID) AS FF_RS,\n" +
  473 +// " COUNT(B.TICKETS_NO) AS FF_JS\n" +
  474 +// " FROM ODS_D_HOSPITAL A\n" +
  475 +// " LEFT JOIN ODS_F_EXAMINE_TICKET B ON A.HOSPITAL_NO=B.HOSPITAL_NO " +
  476 +// " INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID " +
  477 +// " WHERE 1=1 AND C.CREATE_TYPE_ID <> 2 AND C.CREATE_CATEGORY_ID <> 2 " ;
  478 +// countSql+=issueSql;
  479 +// countSql+=" GROUP BY A.PROVINCE_ID,\n" +
  480 +// " A.PROVINCE,\n" +
  481 +// " A.CITY_ID,\n" +
  482 +// " A.CITY,\n" +
  483 +// " A.AREA_COUNTY_ID,\n" +
  484 +// " A.AREA_COUNTY,\n" +
  485 +// " A.HOSPITAL_NO,\n" +
  486 +// " A.HOSPITAL_NAME,\n" +
  487 +// " A.YCY_STSTEM_ID) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO\n" +
  488 +// " LEFT JOIN (\n" +
  489 +// " SELECT A.PROVINCE_ID,\n" +
  490 +// " A.PROVINCE,\n" +
  491 +// " A.CITY_ID,\n" +
  492 +// " A.CITY,\n" +
  493 +// " A.AREA_COUNTY_ID,\n" +
  494 +// " A.AREA_COUNTY,\n" +
  495 +// " A.HOSPITAL_NO,\n" +
  496 +// " A.HOSPITAL_NAME,\n" +
  497 +// " A.YCY_STSTEM_ID,\n" +
  498 +// " COUNT(DISTINCT CC.RECORD_ID) AS SY_RS,\n" +
  499 +// " COUNT(CC.TICKETS_NO) AS SY_JS\n" +
  500 +// " FROM ODS_F_EXAMINE_HISTORY_ASC CC\n" +
  501 +// " LEFT JOIN ODS_D_HOSPITAL A ON A.HOSPITAL_NO=CC.HOSPITAL_NO INNER JOIN ODS_F_GRAVIDA_RECORD B ON CC.RECORD_ID=B.RECORD_ID" +
  502 +// " WHERE CC.TICKETS_NO IS NOT NULL AND B.CREATE_TYPE_ID <> 2 AND B.CREATE_CATEGORY_ID <> 2 " ;
  503 +// countSql+=examineSql;
  504 +// countSql+=" GROUP BY A.PROVINCE_ID,\n" +
  505 +// " A.PROVINCE,\n" +
  506 +// " A.CITY_ID,\n" +
  507 +// " A.CITY,\n" +
  508 +// " A.AREA_COUNTY_ID,\n" +
  509 +// " A.AREA_COUNTY,\n" +
  510 +// " A.HOSPITAL_NO,\n" +
  511 +// " A.HOSPITAL_NAME,\n" +
  512 +// " A.YCY_STSTEM_ID\n" +
  513 +// " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ;
  514 +//
  515 +// countSql+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId);
  516 +//
  517 +//// if (StringUtils.isNotEmpty(hospitalId))
  518 +//// {
  519 +//// countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
  520 +//// }
  521 +//// else
  522 +//// {
  523 +//// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  524 +//// if (StringUtils.isNotEmpty(hospitals))
  525 +//// {
  526 +//// countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
  527 +//// }
  528 +////
  529 +//// }
  530 +// countSql+=" GROUP BY ROLLUP("+groupBySql1+") ORDER BY 1,2,3";
  531 +//
  532 +// System.out.println("basesql===="+sql1);
  533 +// System.out.println("countSql====" + countSql);
  534 +//
  535 +// //产检使用图形统计
  536 +// List<String> chartData = new ArrayList<>();
  537 +// List<Integer> ffJsData = new ArrayList<>();
  538 +// List<Integer> syJsData = new ArrayList<>();
  539 +// List<Map<String, Object>> ticketCount = JdbcUtil.getOracleListDataBySql(DRIVER, JDBC, NAME, PWD, countSql);
  540 +// if (CollectionUtils.isNotEmpty(ticketCount))
  541 +// {
  542 +//
  543 +// for(Map<String, Object> map : ticketCount)
  544 +// {
  545 +//
  546 +// if (StringUtils.isNotEmpty(hospitalId) || StringUtils.isNotEmpty(areaId))
  547 +// {
  548 +// if (map.get("HNAME") == null)
  549 +// {
  550 +// continue;
  551 +// }
  552 +// chartData.add(spitValue(map.get("HNAME")));
  553 +// }
  554 +// else if (StringUtils.isNotEmpty(cityId))
  555 +// {
  556 +// if (map.get("AREA_COUNTY") == null)
  557 +// {
  558 +// continue;
  559 +// }
  560 +// chartData.add(spitValue(map.get("AREA_COUNTY")));
  561 +// }
  562 +// else if (StringUtils.isNotEmpty(provinceId))
  563 +// {
  564 +// if (map.get("CITY") == null)
  565 +// {
  566 +// continue;
  567 +// }
  568 +// chartData.add(spitValue(map.get("CITY")));
  569 +// }
  570 +// else
  571 +// {
  572 +// if (map.get("PROVINCE") == null)
  573 +// {
  574 +// continue;
  575 +// }
  576 +// chartData.add(spitValue(map.get("PROVINCE")));
  577 +// }
  578 +// ffJsData.add(getInteger(map.get("FF_JS")));
  579 +// syJsData.add(getInteger(map.get("SY_JS")));
  580 +// }
  581 +// }
  582 +//
  583 +// //产检使用表格统计
  584 +// List<Map<String, Object>> ticketList = JdbcUtil.getOracleListDataBySql(DRIVER, JDBC, NAME, PWD, sql1);
  585 +// Map<String,Object> data = new HashMap<>();
  586 +// data.put("list",ticketList);
  587 +// data.put("chartData",chartData);
  588 +// data.put("ffJsData",ffJsData);
  589 +// data.put("syJsData",syJsData);
  590 +
438 591 Map<String,Object> data = new HashMap<>();
439   - data.put("list",ticketList);
  592 + data.put("ticketList",ticketList);
  593 + data.put("TITLES",items);
440 594 data.put("chartData",chartData);
441 595 data.put("ffJsData",ffJsData);
442 596 data.put("syJsData",syJsData);