diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java index 6fc4612..3890d8d 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java @@ -4,6 +4,7 @@ import com.lyms.platform.permission.model.CouponInfo; import java.util.List; import java.util.Map; +import java.util.Set; /** * @Author: litao @@ -24,4 +25,6 @@ public interface CouponMapper { Map findValidateParam(Map param); void use(Map param); + + Set findTypes(Map param); } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java index dacf7d6..6563a19 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java @@ -2,6 +2,8 @@ package com.lyms.platform.permission.service; import com.lyms.platform.common.result.BaseObjectResponse; +import java.util.Set; + /** * @Author: litao * @Date: 2017/4/27 0027 9:15 @@ -15,4 +17,6 @@ public interface CouponService{ BaseObjectResponse findList(String userId, String hospitalId); BaseObjectResponse use(String hospitalId, String code, Integer userId); + + Set findTypes(String hospital); } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java index cadb5e2..4986c83 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java @@ -5,6 +5,7 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.result.ResponseCode; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.CouponInfo; import com.lyms.platform.permission.service.CouponService; @@ -51,6 +52,9 @@ public class CouponServiceImpl implements CouponService { /** 产妇有分娩记录且有出院小结 */ private static final String MATERNAL_YCHILDBIRTH_YHOSPITAL = "3_3"; + /** 建档 */ + private static final String PUT_ON_RECORD = "4"; + @Value("${or.code.url}") private String url; @@ -82,6 +86,7 @@ public class CouponServiceImpl implements CouponService { put(MATERNAL_NCHILDBIRTH_NHOSPITAL, Arrays.asList(4, 5, 6)); put(MATERNAL_YCHILDBIRTH_NHOSPITAL, Arrays.asList(5, 6)); put(MATERNAL_YCHILDBIRTH_YHOSPITAL, Arrays.asList(6)); + put(PUT_ON_RECORD, Arrays.asList(1, 3, 7)); } }; @@ -135,13 +140,24 @@ public class CouponServiceImpl implements CouponService { if(temp.get("coupon_template_id") != null) { couponInfo.setCouponTemplateId(temp.get("coupon_template_id").toString()); } + /** 统一处理建档数据 自动使用,使用日期为建档日期,使用人为建档人,建档机构为建档人机构 */ + Object type = temp.get("type"); + if(type != null && typeMap.get(PUT_ON_RECORD).contains(Integer.parseInt(type.toString()))) { + couponInfo.setStatus(2); + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(userId)), Patients.class); + if(patients != null) { + couponInfo.setUseDate(patients.getBookbuildingDate()); + couponInfo.setOperatorUseId(patients.getBookbuildingDoctor()); + couponInfo.setUsedHospitalId(patients.getHospitalId()); + } + } + if("1".equals(sendType.toString())) { couponMapper.save(couponInfo); } else if("2".equals(sendType.toString())) { Object actualStart = temp.get("actual_start"); Object actualEnd = temp.get("actual_end"); Object unitType = temp.get("unit_type"); - Object type = temp.get("type"); if(actualStart != null && actualEnd != null && unitType != null && type != null) { if(validateDate(userId, Integer.parseInt(actualStart.toString()), Integer.parseInt(actualEnd.toString()), Integer.parseInt(unitType.toString()), hospitalId, Integer.parseInt(type.toString()))) { @@ -194,8 +210,6 @@ public class CouponServiceImpl implements CouponService { } } - - @Override public BaseObjectResponse validate(String userId, String code, Integer type) { Map param = new HashMap<>(); @@ -242,14 +256,16 @@ public class CouponServiceImpl implements CouponService { Date midDate = null; Date startDate = null; Date endDate = null; - if(couponType == 1) {/** 根据末次月经对比 midDate = 末次月经时间 */ +// if(couponType == 1) {/** 根据末次月经对比 midDate = 末次月经时间 */ + if(typeMap.get(PREGNANT_WOMAN).contains(couponType)) {/** 孕妇: 根据末次月经对比 midDate = 末次月经时间 */ List patients = mongoTemplate.find(Query.query(Criteria.where("type").is(1).and("hospitalId").is(hospitalId).and("pid").is(userId)), Patients.class); if(CollectionUtils.isEmpty(patients)) { logger.info("未找到pid: " + userId + ", hospitalId: " + hospitalId + ", type: 1 的孕妇信息"); return false; } midDate = patients.get(0).getLastMenses(); - } else if(couponType == 2 || couponType == 3) {/** 根据分娩时间对比 midDate = 分娩时间 */ +// } else if(couponType == 2 || couponType == 3) {/** 根据分娩时间对比 midDate = 分娩时间 */ + } else {/** 产妇或者儿童:根据分娩时间对比 midDate = 分娩时间 */ List patients = mongoTemplate.find(Query.query(Criteria.where("type").is(3).and("hospitalId").is(hospitalId).and("pid").is(userId)) .with(new Sort(Sort.Direction.DESC, "fmDate")), Patients.class); if(CollectionUtils.isEmpty(patients)) { @@ -303,4 +319,11 @@ public class CouponServiceImpl implements CouponService { return RespBuilder.buildSuccess(); } + @Override + public Set findTypes(String hospital) { + Map param = new HashMap<>(); + param.put("hospitalId", hospital); + return couponMapper.findTypes(param); + } + } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml index 5deb444..602a0c6 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -75,4 +75,9 @@ where sequence_id = #{code} + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java index a2ab463..cada5c6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java @@ -16,7 +16,6 @@ import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; import com.lyms.platform.operate.web.result.FrontEndResult; import com.lyms.platform.operate.web.session.SessionProvider; -import com.lyms.platform.operate.web.session.strategy.ISessionProvider; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.BasicConfig; @@ -24,7 +23,6 @@ import com.lyms.platform.pojo.DataPermissionsModel; import com.lyms.platform.pojo.OrganizationGroups; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.math.*; import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -32,10 +30,8 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import javax.management.relation.Role; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.Pattern; import java.util.*; /** @@ -78,6 +74,8 @@ public class UsersController extends BaseController { private AutoMatchFacade autoMatchFacade; @Autowired private BasicConfigService basicConfigService; + @Autowired + private CouponService couponService; private static final String LYMS = "龙源美生"; @@ -550,11 +548,17 @@ public class UsersController extends BaseController { } users.setOrganizations(organizations); + /** 设置产检券类型 */ + String hospital = autoMatchFacade.getHospitalId(loginContext.getId()); + Set types = couponService.findTypes(hospital); + + Map map = new HashMap<>(); map.put("user", users); map.put("watermark", CompressEncodeingUtil.compressNumber(users.getId().toString() + DateUtil.getymd6())); map.put("roles", roles); map.put("permissions", permissions); + map.put("types", types); ResultUtils.buildSuccessResultAndWrite(response, map); }