diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 6f5b442..4cafc63 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -6614,6 +6614,59 @@ public class BasicConfigServiceTest { } } + + public static void savePragnantBone(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + BoneConfigModel model = new BoneConfigModel(); + model.setType(0); + Cell[] cells = s.getRow(i); + if (cells.length > 0) { + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + String[] arrs = str.split("-"); + model.setStart(Integer.parseInt(arrs[0])); + model.setEnd(Integer.parseInt(arrs[1])); + continue; + case 1: + List list2 = Arrays.asList(str.split("\n")); + model.setNormals(list2); + continue; + case 2: + List list3 = Arrays.asList(str.split("\n")); + model.setReduces(list3); + continue; + case 3: + List list4 = Arrays.asList(str.split("\n")); + model.setSerious(list4); + continue; + + } + } + } + mongoTemplate.save(model); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void main(String[] args) { // getData(); //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -6662,8 +6715,8 @@ public class BasicConfigServiceTest { //saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); //saveMicroelements("E:\\dev\\微量元素指导报告模板.xls"); //saveBabyMicroelements("F:\\技术文档\\儿童微量元素\\儿童微量元素指导报告模板.xls"); - saveBabyBone("F:\\技术文档\\骨密度\\儿童骨密度报告模板内容表.xls"); - + //saveBabyBone("F:\\技术文档\\骨密度\\儿童骨密度报告模板内容表.xls"); + savePragnantBone("F:\\技术文档\\骨密度\\孕期骨密度报告模板内容表.xls"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java index aa5e015..8811ca2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java @@ -266,7 +266,7 @@ public class AntenatalExaminationController extends BaseController { @TokenRequired public BaseResponse findAntEx(@Valid AntExManagerQueryRequest antExManagerQueryRequest, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return antExRecordFacade.findList(antExManagerQueryRequest, loginState.getId(), false, "true"); + return antExRecordFacade.findList(antExManagerQueryRequest, loginState.getId(), false, "true",false); } @@ -295,7 +295,7 @@ public class AntenatalExaminationController extends BaseController { @TokenRequired public BaseResponse findRegionAntEx(@Valid AntExManagerQueryRequest antExManagerQueryRequest, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return antExRecordFacade.findList(antExManagerQueryRequest, loginState.getId(), true, "true"); + return antExRecordFacade.findList(antExManagerQueryRequest, loginState.getId(), true, "true",antExManagerQueryRequest.isCurrent()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BoneController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BoneController.java index 5d64b79..be0a9cb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BoneController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BoneController.java @@ -72,6 +72,8 @@ public class BoneController extends BaseController { @RequestParam(required = false) String queryNo, @RequestParam(required = false) Integer start, @RequestParam(required = false) Integer end, + @RequestParam(required = false) String startTime, + @RequestParam(required = false) String endTime, @RequestParam(required = false) Integer age, @RequestParam(required = false) Integer type, @RequestParam(required = false) Integer result, @@ -79,7 +81,7 @@ public class BoneController extends BaseController { @RequestParam(required = true) Integer limit, @RequestParam(required = false) String vcCardNo) { - return BoneFacade.queryBoneList(queryNo, start, end, age, vcCardNo, type, result,page, limit, getUserId(request)); + return BoneFacade.queryBoneList(queryNo, start, end,startTime,endTime,age, vcCardNo, type, result,page, limit, getUserId(request)); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 2d6ed29..15870f5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -267,7 +267,7 @@ public class AntExRecordFacade { * * @return */ - public BaseResponse findList(AntExManagerQueryRequest antExManagerQueryRequest, Integer userId, boolean isRegion, String isPage) { + public BaseResponse findList(AntExManagerQueryRequest antExManagerQueryRequest, Integer userId, boolean isRegion, String isPage,boolean isCurrent) { PatientsQuery patientsQuery = new PatientsQuery(); List patientses = null; if (StringUtils.isNotEmpty(antExManagerQueryRequest.getQueryNo())) { @@ -301,6 +301,63 @@ public class AntExRecordFacade { String hospital = autoMatchFacade.getHospitalId(userId); List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); List data = getAntExRecords(antExRecordModelList, hospital, isRegion, antExManagerQueryRequest.getShowDetail()); + + if (isCurrent && CollectionUtils.isNotEmpty(data)) + { + for (AntExManagerResult result : data) + { + if (CollectionUtils.isNotEmpty(result.getrLevel())) + { + List list = result.getrLevel(); + for (Map map : list) + { + if(map.get("id") != null) + { + if (map.get("id").toString().equals("224b2329-cb82-4da3-a071-8527f8283aab")) + { + result.setLevelNum(1); + break; + } + else if (map.get("id").toString().equals("eb146c03-b19f-4e28-b85f-fda574b2283b")) + { + result.setLevelNum(2); + break; + } + else if (map.get("id").toString().equals("49a36aea-c5b6-4162-87d2-9eb3c6ec00c2")) + { + result.setLevelNum(3); + break; + } + else if (map.get("id").toString().equals("315107bd-91fe-42a1-9237-752f3c046a40")) + { + result.setLevelNum(4); + break; + } + else if (map.get("id").toString().equals("49a36aea-c5b6-4162-87d2-9eb3c6ec00c2")) + { + result.setLevelNum(5); + break; + } + + } + + } + } + } + + Collections.sort(data, new Comparator() { + @Override + public int compare(AntExManagerResult o1, AntExManagerResult o2) { + if (o1 == null || o2 == null) + { + return 0; + } + return o1.getLevelNum() - o2.getLevelNum(); + } + }); + } + + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(antExRecordQuery.getPageInfo()); } @@ -512,7 +569,7 @@ public class AntExRecordFacade { public void exportFindAntEx(AntExManagerQueryRequest antExManagerQueryRequest, Integer id, boolean b, HttpServletResponse httpServletResponse) { - BaseListResponse listRep = (BaseListResponse) findList(antExManagerQueryRequest, id, b, null); + BaseListResponse listRep = (BaseListResponse) findList(antExManagerQueryRequest, id, b, null,false); List> datas = new ArrayList<>(); try { if (listRep != null) { @@ -581,7 +638,7 @@ public class AntExRecordFacade { } public void exportfindRegionAntEx(AntExManagerQueryRequest antExManagerQueryRequest, Integer id, boolean b, HttpServletResponse httpServletResponse) { - BaseListResponse listRep = (BaseListResponse) findList(antExManagerQueryRequest, id, b, null); + BaseListResponse listRep = (BaseListResponse) findList(antExManagerQueryRequest, id, b, null,false); List> datas = new ArrayList<>(); try { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BoneFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BoneFacade.java index e23237c..8b59541 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BoneFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BoneFacade.java @@ -56,13 +56,20 @@ public class BoneFacade { @Autowired private MongoTemplate mongoTemplate; - public BaseResponse queryBoneList(String queryNo, Integer start, Integer end, Integer age, String vcCardNo,Integer type ,Integer result,Integer page, Integer limit, Integer userId) { + public BaseResponse queryBoneList(String queryNo, Integer start, Integer end,String startTime,String endTime, Integer age, String vcCardNo,Integer type ,Integer result,Integer page, Integer limit, Integer userId) { List dataList = new ArrayList(); String hospitalId = autoMatchFacade.getHospitalId(userId); BoneQuery query = new BoneQuery(); query.setResult(result); + + if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) + { + query.setCreatedTimeStart(DateUtil.parseYMD(startTime)); + query.setCreatedTimeEnd(DateUtil.parseYMDHMS(endTime + " 23:59:59")); + } + //孕妇骨密度 if (type == 0) { @@ -238,8 +245,22 @@ public class BoneFacade { data.put("result",model.getResult()); data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); Date lastMenses = DateUtil.addDay(pat.getLastMenses(),1); - int week = DateUtil.getWeek(lastMenses,model.getCreated()); + int week = DateUtil.getWeek(lastMenses, model.getCreated()); + List configModels = mongoTemplate.find( + Query.query(Criteria.where("type").is(0)), BoneConfigModel.class); + if (CollectionUtils.isNotEmpty(configModels)) + { + for (BoneConfigModel configModel : configModels) + { + if (configModel.getStart() <= week && week <= configModel.getEnd()) + { + List contents = model.getResult() == 0 ?configModel.getNormals() : (model.getResult() == 1 ? configModel.getReduces() : configModel.getSerious()); + data.put("contents",contents); + } + } + } + healthChargeFacade.addHealthCharge(hospitalId,8, model.getPatientId(), 1, 1, userId, doctorId, false); } //儿童骨密度报告 else @@ -276,10 +297,11 @@ public class BoneFacade { } } } + healthChargeFacade.addHealthCharge(hospitalId,10, model.getPatientId(), 1, 1, userId, doctorId, false); } } - healthChargeFacade.addHealthCharge(hospitalId,8, model.getPatientId(), 1, 1, userId, doctorId, false); + return new BaseObjectResponse().setData(data). setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java index c3ae955..f742040 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java @@ -92,6 +92,16 @@ public class AntExManagerQueryRequest extends BasePageQueryRequest { // 0 未诊断 1已诊断 private Integer status; + private boolean isCurrent; + + public boolean isCurrent() { + return isCurrent; + } + + public void setIsCurrent(boolean isCurrent) { + this.isCurrent = isCurrent; + } + public Integer getStatus() { return status; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java index 79a4836..f4027da 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java @@ -64,6 +64,16 @@ public class AntExManagerResult { //产次 private int cTimes=1; + private int levelNum; + + public int getLevelNum() { + return levelNum; + } + + public void setLevelNum(int levelNum) { + this.levelNum = levelNum; + } + public List getIncrRLevel() { return incrRLevel; } diff --git a/platform-transfer/src/main/java/com/lyms/platform/model/BoneModel.java b/platform-transfer/src/main/java/com/lyms/platform/model/BoneModel.java new file mode 100644 index 0000000..19f7a99 --- /dev/null +++ b/platform-transfer/src/main/java/com/lyms/platform/model/BoneModel.java @@ -0,0 +1,220 @@ +package com.lyms.platform.model; + +import java.io.Serializable; + +/** + * Created by Administrator on 2020-03-24. + */ +public class BoneModel implements Serializable { + + private String cardNo; + private String position; + private Double zvalue; + private Double tvalue; + private Double sos; + + private Double bqi; + private Double rrf; + private Double eoa; + + private Double adultPercent; + private Double agePercent; + private Double age; + private Integer type; + + public BoneModel(Builder builder) { + this.cardNo = builder.cardNo; + this.position = builder.position; + this.zvalue = builder.zvalue; + this.tvalue = builder.tvalue; + this.sos = builder.sos; + this.bqi = builder.bqi; + this.rrf = builder.rrf; + this.eoa = builder.eoa; + this.adultPercent = builder.adultPercent; + this.agePercent = builder.agePercent; + this.age = builder.age; + this.type = builder.type; + } + + public static class Builder { + public Builder() { + } + private String cardNo; + private String position; + private Double zvalue; + private Double tvalue; + private Double sos; + + private Double bqi; + private Double rrf; + private Double eoa; + + private Double adultPercent; + private Double agePercent; + private Double age; + private Integer type; + + public Builder cardNo(String cardNo) { + this.cardNo = cardNo; + return this; + } + + public Builder position(String position) { + this.position = position; + return this; + } + + public Builder zvalue(Double zvalue) { + this.zvalue = zvalue; + return this; + } + + public Builder tvalue(Double tvalue) { + this.tvalue = tvalue; + return this; + } + + public Builder sos(Double sos) { + this.sos = sos; + return this; + } + + public Builder bqi(Double bqi) { + this.bqi = bqi; + return this; + } + + + public Builder rrf(Double rrf) { + this.rrf = rrf; + return this; + } + + + public Builder eoa(Double eoa) { + this.eoa = eoa; + return this; + } + + public Builder adultPercent(Double adultPercent) { + this.adultPercent = adultPercent; + return this; + } + + public Builder agePercent(Double agePercent) { + this.agePercent = agePercent; + return this; + } + + public Builder age(Double age) { + this.age = age; + return this; + } + + public Builder type(Integer type) { + this.type = type; + return this; + } + + public BoneModel build() { + return new BoneModel(this); + } + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public Double getZvalue() { + return zvalue; + } + + public void setZvalue(Double zvalue) { + this.zvalue = zvalue; + } + + public Double getTvalue() { + return tvalue; + } + + public void setTvalue(Double tvalue) { + this.tvalue = tvalue; + } + + public Double getSos() { + return sos; + } + + public void setSos(Double sos) { + this.sos = sos; + } + + public Double getBqi() { + return bqi; + } + + public void setBqi(Double bqi) { + this.bqi = bqi; + } + + public Double getRrf() { + return rrf; + } + + public void setRrf(Double rrf) { + this.rrf = rrf; + } + + public Double getEoa() { + return eoa; + } + + public void setEoa(Double eoa) { + this.eoa = eoa; + } + + public Double getAdultPercent() { + return adultPercent; + } + + public void setAdultPercent(Double adultPercent) { + this.adultPercent = adultPercent; + } + + public Double getAgePercent() { + return agePercent; + } + + public void setAgePercent(Double agePercent) { + this.agePercent = agePercent; + } + + public Double getAge() { + return age; + } + + public void setAge(Double age) { + this.age = age; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } +} diff --git a/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java b/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java index 71cf333..52c77e8 100644 --- a/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java +++ b/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java @@ -43,7 +43,6 @@ public class BoneTransferWorker extends TransferAbstract implements ITransfer{ Map map = new HashMap(); String PatientID = rst.getString("PatientID"); //身份证后八位 - //String position = rst.getString(""); map.put("cardNo",PatientID); String PartDisplayName = rst.getString("PartDisplayName"); diff --git a/platform-transfer/src/main/java/com/lyms/platform/worker/TransferWorker.java b/platform-transfer/src/main/java/com/lyms/platform/worker/TransferWorker.java index fad143e..a08716c 100644 --- a/platform-transfer/src/main/java/com/lyms/platform/worker/TransferWorker.java +++ b/platform-transfer/src/main/java/com/lyms/platform/worker/TransferWorker.java @@ -24,5 +24,4 @@ public class TransferWorker extends TransferAbstract implements ITransfer { boneTransferWorker.doTransfer(); } - }