diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IAreaCodeDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IAreaCodeDao.java new file mode 100644 index 0000000..7505ff1 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IAreaCodeDao.java @@ -0,0 +1,21 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.AreaCodeModel; + +import java.util.List; + +/** + * Created by Administrator on 2017/1/13 0013. + */ +public interface IAreaCodeDao { + + /** + * 查询区域号 + * + * @param mongoQuery + * + * @return + */ + List queryList(MongoQuery mongoQuery); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AreaCodeImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AreaCodeImpl.java new file mode 100644 index 0000000..894c102 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AreaCodeImpl.java @@ -0,0 +1,23 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ArchiveDataDao; +import com.lyms.platform.biz.dal.IAreaCodeDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.ArchiveData; +import com.lyms.platform.pojo.AreaCodeModel; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 区域号 + * Created by Administrator on 2017/1/13 0013. + */ +@Repository("areaCodeDao") +public class AreaCodeImpl extends BaseMongoDAOImpl implements IAreaCodeDao { + @Override + public List queryList(MongoQuery mongoQuery) { + return find(mongoQuery.convertToMongoQuery()); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AreaCodeService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AreaCodeService.java new file mode 100644 index 0000000..4f97b77 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AreaCodeService.java @@ -0,0 +1,24 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.IAreaCodeDao; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.AreaCodeModel; +import com.lyms.platform.query.AreaCodeQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * + * Created by Administrator on 2017/1/13 0013. + */ +@Service +public class AreaCodeService { + @Autowired + private IAreaCodeDao iAreaCodeDao; + + public List queryList(AreaCodeQuery mongoQuery){ + return iAreaCodeDao.queryList(mongoQuery.convertToQuery()); + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AreaCodeModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AreaCodeModel.java new file mode 100644 index 0000000..3bae82d --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AreaCodeModel.java @@ -0,0 +1,55 @@ +package com.lyms.platform.pojo; + +import org.springframework.data.mongodb.core.mapping.Document; + +/** + * Created by Administrator on 2017/1/13 0013. + */ +@Document(collection = "lyms_areacode") +public class AreaCodeModel { + private String areaId; + private String id; + private String areaCode; + private String areaName; + private Integer yn; + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getAreaCode() { + return areaCode; + } + + public void setAreaCode(String areaCode) { + this.areaCode = areaCode; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AreaCodeQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AreaCodeQuery.java new file mode 100644 index 0000000..95d56be --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/AreaCodeQuery.java @@ -0,0 +1,32 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNativeQuery; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; + +/** + * Created by Administrator on 2017/1/13 0013. + */ +public class AreaCodeQuery extends BaseQuery implements IConvertToNativeQuery { + private String areaId; + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + + if(null!=areaId){ + condition=condition.and("areaId", areaId, MongoOper.IS); + } + return condition.toMongoQuery(); + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index d44b4b6..89922d5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -111,6 +111,8 @@ public class BookbuildingFacade { @Autowired private PatientCheckTicketService patientCheckTicketService; + @Autowired + private AreaCodeService areaCodeService; /** * 根据患者的建档ID,查询还未使用的免费产检查券 @@ -220,7 +222,7 @@ public class BookbuildingFacade { patient.setDueStatus(0); //1孕妇 3 产妇 patient.setType(type); - if(type==3){ + if (type == 3) { patient.setIsAutoFm(YnEnums.YES.getId()); } patient.setBuildType(buildType); @@ -260,18 +262,31 @@ public class BookbuildingFacade { } - if (p.getType()!=null&&p.getType() == 1) { - // 建档成功后,给孕妇造五个条形码 - String ticketPid = autoIncermentService.nextPatientTicketId(); - for (Integer i = 1; i <= 5; i++) { - PatientCheckTicket ticket = new PatientCheckTicket(); - ticket.setStatus(1); - ticket.setHospitalId(p.getHospitalId()); - ticket.setPatientId(p.getId()); - ticket.setCreated(new Date()); - ticket.setId("0335" + ticketPid + i); - ticket.setPid(p.getPid()); - patientCheckTicketService.addTicket(ticket); + if (p.getType() != null && p.getType() == 1) { + + Organization organization = organizationService.getOrganization(Integer.valueOf(yunRequest.getHospitalId())); + if (null != organization) { + AreaCodeQuery areaCodeQuery = new AreaCodeQuery(); + areaCodeQuery.setAreaId(organization.getCityId()); + List code = areaCodeService.queryList(areaCodeQuery); + AreaCodeModel areaCode = null; + if (CollectionUtils.isNotEmpty(code)) { + areaCode = code.get(0); + } + if (null != areaCode) { + // 建档成功后,给孕妇造五个条形码 + String ticketPid = autoIncermentService.nextPatientTicketId(); + for (Integer i = 1; i <= 5; i++) { + PatientCheckTicket ticket = new PatientCheckTicket(); + ticket.setStatus(1); + ticket.setHospitalId(p.getHospitalId()); + ticket.setPatientId(p.getId()); + ticket.setCreated(new Date()); + ticket.setId(areaCode.getAreaCode() + ticketPid + i); + ticket.setPid(p.getPid()); + patientCheckTicketService.addTicket(ticket); + } + } } } @@ -585,7 +600,7 @@ public class BookbuildingFacade { } String group = groupsFacade.findByCurrentUserId(autoMatchFacade.getHospitalId(userId)); - if(StringUtils.isNotEmpty(group)){ + if (StringUtils.isNotEmpty(group)) { //区域模式 patientsQuery.setHospitalList(groupsFacade.findGroupHospital(userId, false)); } @@ -658,7 +673,7 @@ public class BookbuildingFacade { Map mapData = new HashMap<>(); mapData.put("data", results); // 是否在本医院所在区域建档 - mapData.put("rBType",count>0); + mapData.put("rBType", count > 0); mapData.put("initBuildDate", DateUtil.getyyyy_MM_dd(new Date())); list.add(mapData); @@ -731,7 +746,7 @@ public class BookbuildingFacade { List data = basicConfigService.queryBasicConfig(basicConfigQuery); if (CollectionUtils.isNotEmpty(data)) { //身份证类型得到丈夫的生日 必须为身份证类型 - if (StringUtils.isNotEmpty(data.get(0).getCode())&&"SFZ".endsWith(data.get(0).getCode())) { + if (StringUtils.isNotEmpty(data.get(0).getCode()) && "SFZ".endsWith(data.get(0).getCode())) { String cardNo = yunRequest.getHusbandCertificateNum(); Date birth = StringUtils.getBirthDay(cardNo); patient.setHusbandBirth(birth); @@ -1472,69 +1487,69 @@ public class BookbuildingFacade { return ""; } - public BaseObjectResponse findPatientData(String id){ + public BaseObjectResponse findPatientData(String id) { BaseObjectResponse br = new BaseObjectResponse(); - if (org.apache.commons.lang.StringUtils.isEmpty(id)){ + if (org.apache.commons.lang.StringUtils.isEmpty(id)) { br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); br.setErrormsg("id为空"); return br; } Patients data = patientsService.findOnePatientById(id); - if (data==null || data.getYn()==YnEnums.NO.getId()){ + if (data == null || data.getYn() == YnEnums.NO.getId()) { br.setErrorcode(ErrorCodeConstants.NO_DATA); br.setErrormsg("没有查询到数据"); return br; } - Map map = new HashMap<>(); - map.put("id",data.getId()); + Map map = new HashMap<>(); + map.put("id", data.getId()); /* 孕妇基础数据 */ - map.put("username",data.getUsername()); - map.put("pcerteType",getBasicConfig(data.getPcerteTypeId())); - map.put("cardNo",data.getCardNo()); - map.put("pcountry",getBasicConfig(data.getPcountryId())); - map.put("pnation",getBasicConfig(data.getPnationId())); - map.put("birth",DateUtil.getyyyy_MM_dd(data.getBirth())); - map.put("age",DateUtil.getAge(data.getBirth())); - map.put("pcensusType",getBasicConfig(data.getPcensusTypeId())); - map.put("pliveType",getBasicConfig(data.getPliveTypeId())); - map.put("pprofessionType",getBasicConfig(data.getPprofessionTypeId())); - map.put("plevelType",getBasicConfig(data.getPlevelTypeId())); + map.put("username", data.getUsername()); + map.put("pcerteType", getBasicConfig(data.getPcerteTypeId())); + map.put("cardNo", data.getCardNo()); + map.put("pcountry", getBasicConfig(data.getPcountryId())); + map.put("pnation", getBasicConfig(data.getPnationId())); + map.put("birth", DateUtil.getyyyy_MM_dd(data.getBirth())); + map.put("age", DateUtil.getAge(data.getBirth())); + map.put("pcensusType", getBasicConfig(data.getPcensusTypeId())); + map.put("pliveType", getBasicConfig(data.getPliveTypeId())); + map.put("pprofessionType", getBasicConfig(data.getPprofessionTypeId())); + map.put("plevelType", getBasicConfig(data.getPlevelTypeId())); //TODO 家庭人均收入 /* 孕妇联系方式 */ - map.put("residence", CommonsHelper.getResidence(data.getProvinceId(),data.getCityId(), - data.getAreaId(),data.getStreetId(),data.getAddress(),basicConfigService)); - map.put("register",CommonsHelper.getResidence(data.getProvinceRegisterId(), data.getCityRegisterId(), + map.put("residence", CommonsHelper.getResidence(data.getProvinceId(), data.getCityId(), + data.getAreaId(), data.getStreetId(), data.getAddress(), basicConfigService)); + map.put("register", CommonsHelper.getResidence(data.getProvinceRegisterId(), data.getCityRegisterId(), data.getAreaRegisterId(), data.getStreetRegisterId(), data.getAddressRegister(), basicConfigService)); - map.put("postRest",CommonsHelper.getResidence(data.getProvinceId(), data.getCityId(), + map.put("postRest", CommonsHelper.getResidence(data.getProvinceId(), data.getCityId(), data.getAreaId(), data.getStreetId(), data.getAddress(), basicConfigService)); /* 丈夫信息 */ - map.put("husbandName",data.getHusbandName()); - map.put("hcertificateType",getBasicConfig(data.getHcertificateTypeId())); - map.put("hcertificateNum",data.getHcertificateNum()); - map.put("hcountry",getBasicConfig(data.getHcountryId())); - map.put("hnation",getBasicConfig(data.getHnationId())); - map.put("husbandPhone",data.getHusbandPhone()); - map.put("hprofessionType",getBasicConfig(data.getHprofessionTypeId())); - map.put("hworkUnit",data.getHworkUnit()); - map.put("hregister",CommonsHelper.getResidence(data.getHprovinceRegisterId(), data.getHcityRegisterId(), + map.put("husbandName", data.getHusbandName()); + map.put("hcertificateType", getBasicConfig(data.getHcertificateTypeId())); + map.put("hcertificateNum", data.getHcertificateNum()); + map.put("hcountry", getBasicConfig(data.getHcountryId())); + map.put("hnation", getBasicConfig(data.getHnationId())); + map.put("husbandPhone", data.getHusbandPhone()); + map.put("hprofessionType", getBasicConfig(data.getHprofessionTypeId())); + map.put("hworkUnit", data.getHworkUnit()); + map.put("hregister", CommonsHelper.getResidence(data.getHprovinceRegisterId(), data.getHcityRegisterId(), data.getHareaRegisterId(), data.getHstreetRegisterId(), data.getHaddressRegister(), basicConfigService)); /* 院内信息 */ - map.put("lastMenses",DateUtil.getyyyy_MM_dd(data.getLastMenses())); + map.put("lastMenses", DateUtil.getyyyy_MM_dd(data.getLastMenses())); //TODO 纠正末次月经 - map.put("dueDate",DateUtil.getyyyy_MM_dd(data.getDueDate())); - map.put("vcCardNo",data.getVcCardNo()); + map.put("dueDate", DateUtil.getyyyy_MM_dd(data.getDueDate())); + map.put("vcCardNo", data.getVcCardNo()); //TODO 条码 //TODO 档案编号 - map.put("mremark",data.getMremark()); + map.put("mremark", data.getMremark()); //TODO 服务类型 - map.put("serviceStatus",ServiceStatusEnums.getNameById(data.getServiceStatus())); + map.put("serviceStatus", ServiceStatusEnums.getNameById(data.getServiceStatus())); br.setData(map); br.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -1543,5 +1558,4 @@ public class BookbuildingFacade { } - } \ No newline at end of file