Commit 743a833b1b4e03d9fdd4c8b453ca488c6d5994cc
1 parent
1410e43f1b
Exists in
master
and in
6 other branches
逻辑完善+登陆时多返回医院所对应的产检券type信息
Showing 5 changed files with 48 additions and 9 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/UsersController.java
platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
View file @
743a833
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | |
5 | 5 | import java.util.List; |
6 | 6 | import java.util.Map; |
7 | +import java.util.Set; | |
7 | 8 | |
8 | 9 | /** |
9 | 10 | * @Author: litao |
... | ... | @@ -24,5 +25,7 @@ |
24 | 25 | Map<String,Object> findValidateParam(Map<String, Object> param); |
25 | 26 | |
26 | 27 | void use(Map<String, Object> param); |
28 | + | |
29 | + Set<Integer> findTypes(Map<String, Object> param); | |
27 | 30 | } |
platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java
View file @
743a833
... | ... | @@ -2,6 +2,8 @@ |
2 | 2 | |
3 | 3 | import com.lyms.platform.common.result.BaseObjectResponse; |
4 | 4 | |
5 | +import java.util.Set; | |
6 | + | |
5 | 7 | /** |
6 | 8 | * @Author: litao |
7 | 9 | * @Date: 2017/4/27 0027 9:15 |
... | ... | @@ -15,5 +17,7 @@ |
15 | 17 | BaseObjectResponse findList(String userId, String hospitalId); |
16 | 18 | |
17 | 19 | BaseObjectResponse use(String hospitalId, String code, Integer userId); |
20 | + | |
21 | + Set<Integer> findTypes(String hospital); | |
18 | 22 | } |
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java
View file @
743a833
... | ... | @@ -5,6 +5,7 @@ |
5 | 5 | import com.lyms.platform.common.result.RespBuilder; |
6 | 6 | import com.lyms.platform.common.result.ResponseCode; |
7 | 7 | import com.lyms.platform.common.utils.DateUtil; |
8 | +import com.lyms.platform.common.utils.StringUtils; | |
8 | 9 | import com.lyms.platform.permission.dao.master.CouponMapper; |
9 | 10 | import com.lyms.platform.permission.model.CouponInfo; |
10 | 11 | import com.lyms.platform.permission.service.CouponService; |
... | ... | @@ -51,6 +52,9 @@ |
51 | 52 | /** 产妇有分娩记录且有出院小结 */ |
52 | 53 | private static final String MATERNAL_YCHILDBIRTH_YHOSPITAL = "3_3"; |
53 | 54 | |
55 | + /** 建档 */ | |
56 | + private static final String PUT_ON_RECORD = "4"; | |
57 | + | |
54 | 58 | @Value("${or.code.url}") |
55 | 59 | private String url; |
56 | 60 | |
... | ... | @@ -82,6 +86,7 @@ |
82 | 86 | put(MATERNAL_NCHILDBIRTH_NHOSPITAL, Arrays.asList(4, 5, 6)); |
83 | 87 | put(MATERNAL_YCHILDBIRTH_NHOSPITAL, Arrays.asList(5, 6)); |
84 | 88 | put(MATERNAL_YCHILDBIRTH_YHOSPITAL, Arrays.asList(6)); |
89 | + put(PUT_ON_RECORD, Arrays.asList(1, 3, 7)); | |
85 | 90 | } |
86 | 91 | }; |
87 | 92 | |
88 | 93 | |
... | ... | @@ -135,13 +140,24 @@ |
135 | 140 | if(temp.get("coupon_template_id") != null) { |
136 | 141 | couponInfo.setCouponTemplateId(temp.get("coupon_template_id").toString()); |
137 | 142 | } |
143 | + /** 统一处理建档数据 自动使用,使用日期为建档日期,使用人为建档人,建档机构为建档人机构 */ | |
144 | + Object type = temp.get("type"); | |
145 | + if(type != null && typeMap.get(PUT_ON_RECORD).contains(Integer.parseInt(type.toString()))) { | |
146 | + couponInfo.setStatus(2); | |
147 | + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(userId)), Patients.class); | |
148 | + if(patients != null) { | |
149 | + couponInfo.setUseDate(patients.getBookbuildingDate()); | |
150 | + couponInfo.setOperatorUseId(patients.getBookbuildingDoctor()); | |
151 | + couponInfo.setUsedHospitalId(patients.getHospitalId()); | |
152 | + } | |
153 | + } | |
154 | + | |
138 | 155 | if("1".equals(sendType.toString())) { |
139 | 156 | couponMapper.save(couponInfo); |
140 | 157 | } else if("2".equals(sendType.toString())) { |
141 | 158 | Object actualStart = temp.get("actual_start"); |
142 | 159 | Object actualEnd = temp.get("actual_end"); |
143 | 160 | Object unitType = temp.get("unit_type"); |
144 | - Object type = temp.get("type"); | |
145 | 161 | if(actualStart != null && actualEnd != null && unitType != null && type != null) { |
146 | 162 | if(validateDate(userId, Integer.parseInt(actualStart.toString()), Integer.parseInt(actualEnd.toString()), |
147 | 163 | Integer.parseInt(unitType.toString()), hospitalId, Integer.parseInt(type.toString()))) { |
... | ... | @@ -194,8 +210,6 @@ |
194 | 210 | } |
195 | 211 | } |
196 | 212 | |
197 | - | |
198 | - | |
199 | 213 | @Override |
200 | 214 | public BaseObjectResponse validate(String userId, String code, Integer type) { |
201 | 215 | Map<String, Object> param = new HashMap<>(); |
202 | 216 | |
... | ... | @@ -242,14 +256,16 @@ |
242 | 256 | Date midDate = null; |
243 | 257 | Date startDate = null; |
244 | 258 | Date endDate = null; |
245 | - if(couponType == 1) {/** 根据末次月经对比 midDate = 末次月经时间 */ | |
259 | +// if(couponType == 1) {/** 根据末次月经对比 midDate = 末次月经时间 */ | |
260 | + if(typeMap.get(PREGNANT_WOMAN).contains(couponType)) {/** 孕妇: 根据末次月经对比 midDate = 末次月经时间 */ | |
246 | 261 | List<Patients> patients = mongoTemplate.find(Query.query(Criteria.where("type").is(1).and("hospitalId").is(hospitalId).and("pid").is(userId)), Patients.class); |
247 | 262 | if(CollectionUtils.isEmpty(patients)) { |
248 | 263 | logger.info("未找到pid: " + userId + ", hospitalId: " + hospitalId + ", type: 1 的孕妇信息"); |
249 | 264 | return false; |
250 | 265 | } |
251 | 266 | midDate = patients.get(0).getLastMenses(); |
252 | - } else if(couponType == 2 || couponType == 3) {/** 根据分娩时间对比 midDate = 分娩时间 */ | |
267 | +// } else if(couponType == 2 || couponType == 3) {/** 根据分娩时间对比 midDate = 分娩时间 */ | |
268 | + } else {/** 产妇或者儿童:根据分娩时间对比 midDate = 分娩时间 */ | |
253 | 269 | List<Patients> patients = mongoTemplate.find(Query.query(Criteria.where("type").is(3).and("hospitalId").is(hospitalId).and("pid").is(userId)) |
254 | 270 | .with(new Sort(Sort.Direction.DESC, "fmDate")), Patients.class); |
255 | 271 | if(CollectionUtils.isEmpty(patients)) { |
... | ... | @@ -301,6 +317,13 @@ |
301 | 317 | param.put("code", code); |
302 | 318 | couponMapper.use(param); |
303 | 319 | return RespBuilder.buildSuccess(); |
320 | + } | |
321 | + | |
322 | + @Override | |
323 | + public Set<Integer> findTypes(String hospital) { | |
324 | + Map<String, Object> param = new HashMap<>(); | |
325 | + param.put("hospitalId", hospital); | |
326 | + return couponMapper.findTypes(param); | |
304 | 327 | } |
305 | 328 | |
306 | 329 | } |
platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
View file @
743a833
... | ... | @@ -75,5 +75,10 @@ |
75 | 75 | where sequence_id = #{code} |
76 | 76 | </update> |
77 | 77 | |
78 | + <select id="findTypes" parameterType="map" resultType="integer"> | |
79 | + select c.type | |
80 | + from hospital_coupon_template_group a,coupon_template b, coupon_type c | |
81 | + where a.hospital_id = #{hospitalId} and a.coupon_template_group_id = b.group_id and b.type_id = c.id | |
82 | + </select> | |
78 | 83 | </mapper> |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java
View file @
743a833
... | ... | @@ -16,7 +16,6 @@ |
16 | 16 | import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; |
17 | 17 | import com.lyms.platform.operate.web.result.FrontEndResult; |
18 | 18 | import com.lyms.platform.operate.web.session.SessionProvider; |
19 | -import com.lyms.platform.operate.web.session.strategy.ISessionProvider; | |
20 | 19 | import com.lyms.platform.permission.model.*; |
21 | 20 | import com.lyms.platform.permission.service.*; |
22 | 21 | import com.lyms.platform.pojo.BasicConfig; |
... | ... | @@ -24,7 +23,6 @@ |
24 | 23 | import com.lyms.platform.pojo.OrganizationGroups; |
25 | 24 | import org.apache.commons.collections.CollectionUtils; |
26 | 25 | import org.apache.commons.lang.StringUtils; |
27 | -import org.apache.commons.lang.math.*; | |
28 | 26 | import org.apache.commons.lang.math.NumberUtils; |
29 | 27 | import org.springframework.beans.factory.annotation.Autowired; |
30 | 28 | import org.springframework.beans.factory.annotation.Value; |
31 | 29 | |
... | ... | @@ -32,10 +30,8 @@ |
32 | 30 | import org.springframework.stereotype.Controller; |
33 | 31 | import org.springframework.web.bind.annotation.*; |
34 | 32 | |
35 | -import javax.management.relation.Role; | |
36 | 33 | import javax.servlet.http.HttpServletRequest; |
37 | 34 | import javax.servlet.http.HttpServletResponse; |
38 | -import javax.validation.constraints.Pattern; | |
39 | 35 | import java.util.*; |
40 | 36 | |
41 | 37 | /** |
... | ... | @@ -78,6 +74,8 @@ |
78 | 74 | private AutoMatchFacade autoMatchFacade; |
79 | 75 | @Autowired |
80 | 76 | private BasicConfigService basicConfigService; |
77 | + @Autowired | |
78 | + private CouponService couponService; | |
81 | 79 | |
82 | 80 | private static final String LYMS = "龙源美生"; |
83 | 81 | |
84 | 82 | |
... | ... | @@ -550,11 +548,17 @@ |
550 | 548 | } |
551 | 549 | users.setOrganizations(organizations); |
552 | 550 | |
551 | + /** 设置产检券类型 */ | |
552 | + String hospital = autoMatchFacade.getHospitalId(loginContext.getId()); | |
553 | + Set<Integer> types = couponService.findTypes(hospital); | |
554 | + | |
555 | + | |
553 | 556 | Map<String, Object> map = new HashMap<>(); |
554 | 557 | map.put("user", users); |
555 | 558 | map.put("watermark", CompressEncodeingUtil.compressNumber(users.getId().toString() + DateUtil.getymd6())); |
556 | 559 | map.put("roles", roles); |
557 | 560 | map.put("permissions", permissions); |
561 | + map.put("types", types); | |
558 | 562 | |
559 | 563 | ResultUtils.buildSuccessResultAndWrite(response, map); |
560 | 564 | } |