Commit aa99ddb999a255a1f567432118fa2755114db780
1 parent
b0f41673d4
Exists in
master
and in
6 other branches
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
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java
- platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java
platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
View file @
aa99ddb
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); |