Commit cfe44e0a36c2ab61c92116ccca1fef666d98b010
1 parent
d187cd9b82
Exists in
master
and in
6 other branches
统计详情
Showing 4 changed files with 151 additions and 68 deletions
- platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
- platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
- platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
View file @
cfe44e0
platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
View file @
cfe44e0
... | ... | @@ -345,22 +345,23 @@ |
345 | 345 | |
346 | 346 | <select id="findCouponInfoCount" parameterType="map" resultType="integer"> |
347 | 347 | select count(1) from ( |
348 | - select c.type, a.sequence_id, d.name | |
349 | - from coupon_info a, coupon_template b, coupon_type c, users d, organization e, hospital_coupon_template_group f | |
350 | - where a.coupon_template_id = b.id and b.type_id = c.id and a.user_id = d.id and a.status=2 and a.create_hospital_id = e.id | |
351 | - and a.used_hospital_id = #{hospitalId} and f.hospital_id = a.used_hospital_id and c.type in | |
352 | - <foreach collection="couponType" open="(" close=")" separator="," item="type"> | |
353 | - #{type} | |
354 | - </foreach> | |
355 | - <if test="startDate != null"> | |
356 | - and a.create_date >= #{startDate} | |
357 | - </if> | |
358 | - <if test="endDate != null"> | |
359 | - and a.create_date <![CDATA[ < ]]> #{endDate} | |
360 | - </if> | |
361 | - <if test="tempId != null and tempId != ''"> | |
362 | - and f.coupon_template_group_id = #{tempId} | |
363 | - </if> | |
348 | + select a.used_hospital_id, c.type, b.coupon_order, a.sequence_id, d.name as send_hospital, a.use_date, a.used_id | |
349 | + from coupon_info a, coupon_template b, coupon_type c, organization d | |
350 | + where a.coupon_template_id = b.id and b.type_id = c.id and a.create_hospital_id = d.id | |
351 | + and a.used_hospital_id in | |
352 | + <foreach collection="hospitalId" open="(" close=")" separator="," item="hid"> | |
353 | + #{hid} | |
354 | + </foreach> | |
355 | + and c.type in | |
356 | + <foreach collection="couponType" open="(" close=")" separator="," item="type"> | |
357 | + #{type} | |
358 | + </foreach> | |
359 | + <if test="startDate != null"> | |
360 | + and a.use_date >= #{startDate} | |
361 | + </if> | |
362 | + <if test="endDate != null"> | |
363 | + and a.use_date <![CDATA[ < ]]> #{endDate} | |
364 | + </if> | |
364 | 365 | ) a |
365 | 366 | </select> |
366 | 367 |
platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
View file @
cfe44e0
... | ... | @@ -878,19 +878,23 @@ |
878 | 878 | return startTime < time && time < endTime ? true : false; |
879 | 879 | } |
880 | 880 | |
881 | - public static void main(String[] arg) throws Exception { | |
882 | - Date now = new Date(); | |
883 | - Date start = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); | |
884 | - Date end = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); | |
885 | - System.out.println(isBetween(now, start, end)); | |
881 | + /** | |
882 | + * 把一段时间 拼成 孕?周+?天 | |
883 | + * @param start | |
884 | + * @param end | |
885 | + * @return | |
886 | + */ | |
887 | + public static String getWeekDesc(Date start, Date end) { | |
888 | + Integer betweenDay = DateUtil.getDays(start, end); | |
889 | + Integer week = betweenDay / 7; | |
890 | + Integer day = betweenDay % 7; | |
891 | + return "孕" + week + "周+" + day + "天"; | |
892 | + } | |
886 | 893 | |
887 | - System.out.println(org.apache.commons.lang3.time.DateUtils.addMonths(start ,1).toLocaleString()); | |
888 | - long startTime = 1483372800000l; | |
889 | - long endTime = end.getTime(); | |
890 | - System.out.println(); | |
891 | - | |
892 | - Date d2 = new Date(); | |
893 | - System.out.println(isLtOrEq(start, end)); | |
894 | + public static void main(String[] arg) throws Exception { | |
895 | + Date start = parseYMD("2016-05-01"); | |
896 | + Date end = parseYMD("2016-05-11"); | |
897 | + System.out.println(getWeekDesc(start, end)); | |
894 | 898 | } |
895 | 899 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
cfe44e0
... | ... | @@ -702,12 +702,12 @@ |
702 | 702 | .replace("</div>", ""); |
703 | 703 | couponInfo.put("type_desc", s); |
704 | 704 | } |
705 | - couponInfo.put("use_date", DateUtil.getYmd((Date) couponInfo.get("use_date"))); | |
706 | - setUsedInfo(couponInfo); | |
705 | + Date useDate = (Date) couponInfo.get("use_date"); | |
706 | + couponInfo.put("use_date", DateUtil.getYmd(useDate)); | |
707 | +// setUsedInfo(couponInfo); | |
707 | 708 | /** 设置产检日期、姓名、产检孕周、产检第次、产检机构、产检医生、联系电话 */ |
708 | - setUsedInfo((String) couponInfo.get("type"), | |
709 | - (String) couponInfo.get("used_id"), | |
710 | - (String) couponInfo.get("sequence_id") | |
709 | + setUsedInfo((Integer) couponInfo.get("type"), (String) couponInfo.get("used_id"), | |
710 | + (String) couponInfo.get("sequence_id"), useDate, couponInfo | |
711 | 711 | ); |
712 | 712 | } |
713 | 713 | } |
714 | 714 | |
715 | 715 | |
... | ... | @@ -716,15 +716,105 @@ |
716 | 716 | return RespBuilder.buildSuccess(pageResult); |
717 | 717 | } |
718 | 718 | |
719 | - private void setUsedInfo(String type, String used_id, String sequence_id) { | |
720 | - Date checkDate = null; | |
721 | - String name = null; | |
722 | - Integer number = null; | |
723 | - if("1".equals(type)) { | |
724 | - Patients one = mongoTemplate.findOne(Query.query(Criteria.where("1").is("1")), Patients.class); | |
719 | + /** | |
720 | + * type | |
721 | + * 1=孕妇建档 lyms_patient | |
722 | + * 2=孕妇产检 lyms_antexc(初诊),lyms_antex(复诊) | |
723 | + * 3=产妇建档 lyms_patient | |
724 | + * 4=产妇分娩 lyms_matdeliver | |
725 | + * 5=产妇出院小结 lyms_discharge_abstract_mother | |
726 | + * 6=产妇产后复查 lyms_postreview | |
727 | + * 7=儿童建档 lyms_baby | |
728 | + * 8=儿童保健 lyms_babycheck | |
729 | + */ | |
730 | + private void setUsedInfo(Integer type, String usedId, String sequence_id, Date useDate, Map<String, Object> map) { | |
731 | + Date checkDate = null; /** 产检日期 */ | |
732 | + String username = null; /** 姓名 */ | |
733 | + String week = null; /** 产检孕周 = 产检时间 - 末次月经 */ | |
734 | + Integer number = null; /** 产检第次 */ | |
735 | + String operatorOrgName = null; /** 产检机构 */ | |
736 | + String doctorName = null; /** 产检医生 */ | |
737 | + String phone = null; /** 联系电话 */ | |
738 | + if(type == 1) { | |
739 | + Patients patients = mongoTemplate.findById(usedId, Patients.class); | |
740 | + if(patients != null) { | |
741 | + checkDate = patients.getCreated(); | |
742 | + username = patients.getUsername(); | |
743 | + week = DateUtil.getWeekDesc(patients.getLastMenses(), checkDate); | |
744 | + List<Patients> patientsList = mongoTemplate.find(Query.query(Criteria.where("pid").is(patients.getPid())).with(new Sort(Sort.Direction.ASC, "created")), Patients.class); | |
745 | + for(int i = 0; i < patientsList.size(); i++) { | |
746 | + if(patientsList.get(i).getId().equals(patients.getId())) { | |
747 | + number = ++i; | |
748 | + } | |
749 | + } | |
750 | + operatorOrgName = couponMapper.findHospitalNameById(patients.getHospitalId()); | |
751 | + doctorName = couponMapper.findUserName(patients.getLastCheckEmployeeId()); | |
752 | + phone = patients.getPhone(); | |
753 | + } | |
754 | + } else if(type == 2) { | |
755 | + AntExChuModel antexc = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequence_id)), AntExChuModel.class); | |
756 | + if(antexc != null) { | |
757 | + map.put("checkDate", antexc.getCheckTime()); /** 产检日期 */ | |
758 | + Patients patients = mongoTemplate.findById(antexc.getParentId(), Patients.class); | |
759 | + if(patients != null) { | |
760 | + map.put("username", patients.getUsername()); /** 姓名 */ | |
761 | + } | |
762 | + map.put("week", DateUtil.getWeek(antexc.getLastMenses(), antexc.getCheckTime()));/** 产检孕周 = 产检时间 - 末次月经 */ | |
763 | + | |
764 | + List<AntExChuModel> antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(antexc.getPid())).with(new Sort(Sort.Direction.ASC, "checkTime")), AntExChuModel.class); | |
765 | + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(antExChuModels)) { | |
766 | + for(int i = 0; i < antExChuModels.size(); i++) { | |
767 | + if(antExChuModels.get(i).getId().equals(antexc.getId())) { | |
768 | + map.put("number", ++i); /** 产检第几次 */ | |
769 | + return; | |
770 | + } | |
771 | + } | |
772 | + } | |
773 | + | |
774 | + map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); /** 产检医生 */ | |
775 | + map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); /** 产检机构 */ | |
776 | + PersonModel personModel = mongoTemplate.findById(map.get("user_id"), PersonModel.class); | |
777 | + if(personModel != null) { | |
778 | + map.put("phone", personModel.getPhone()); | |
779 | + } else { | |
780 | + map.put("phone", null); | |
781 | + } | |
782 | + } else { | |
783 | + AntenatalExaminationModel antenatal = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntenatalExaminationModel.class); | |
784 | + if(antenatal != null) { | |
785 | + map.put("checkDate", antenatal.getCheckDate()); /** 产检日期 */ | |
786 | + Patients patients = mongoTemplate.findById(antenatal.getParentId(), Patients.class); | |
787 | + if(patients != null) { | |
788 | + map.put("username", patients.getUsername()); /** 姓名 */ | |
789 | + } | |
790 | + map.put("week", antenatal.getCurrentDueDate());/** 产检孕周 = 产检时间 - 末次月经 */ | |
791 | + map.put("number", antenatal.getYn()); /** 产检第几次 */ | |
792 | + map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); /** 产检医生 */ | |
793 | + map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); /** 产检机构 */ | |
794 | + map.put("phone", couponMapper.findPhone(antenatal.getOperator() + "")); | |
795 | + } | |
796 | + } | |
725 | 797 | } |
798 | + | |
799 | + map.put("checkDate", checkDate); | |
800 | + map.put("username", username); | |
801 | + map.put("week", week); | |
802 | + map.put("number", number); | |
803 | + map.put("operatorOrgName", operatorOrgName); | |
804 | + map.put("doctorName", doctorName); | |
805 | + map.put("phone", phone); | |
726 | 806 | } |
727 | 807 | |
808 | + private String findUserNameByPid(String pid) { | |
809 | + if(StringUtils.isNotEmpty(pid)) { | |
810 | + PersonModel personModel = mongoTemplate.findById(pid, PersonModel.class); | |
811 | + if(personModel != null) { | |
812 | + return personModel.getName(); | |
813 | + } | |
814 | + } | |
815 | + return null; | |
816 | + } | |
817 | + | |
728 | 818 | @Override |
729 | 819 | public void exportCouponInfo(Map<String, Object> param, HttpServletResponse response) { |
730 | 820 | BaseObjectResponse resp = couponInfo(param); |
731 | 821 | |
732 | 822 | |
733 | 823 | |
734 | 824 | |
735 | 825 | |
736 | 826 | |
737 | 827 | |
... | ... | @@ -808,50 +898,40 @@ |
808 | 898 | ResponseUtil.responseExcel(cnames, results, response); |
809 | 899 | } |
810 | 900 | |
811 | - private void setUsedInfo(Map<String, Object> map) { | |
901 | + /*private void setUsedInfo(Map<String, Object> map) { | |
812 | 902 | String sequenceId = (String) map.get("sequence_id"); |
813 | 903 | Integer type = (Integer) map.get("type"); |
814 | 904 | if(StringUtils.isEmpty(sequenceId) || type == null) return; |
815 | 905 | |
816 | - /** | |
817 | - * type | |
818 | - 1=孕妇建档 lyms_patient | |
819 | - 2=孕妇产检 lyms_antexc(初诊),lyms_antex(复诊) | |
820 | - 3=产妇建档 | |
821 | - 4=产妇分娩 lyms_matdeliver | |
822 | - 5=产妇出院小结 lyms_discharge_abstract_mother | |
823 | - 6=产妇产后复查 lyms_postreview | |
824 | - 7=儿童建档 lyms_baby | |
825 | - 8=儿童保健 lyms_babycheck | |
826 | - */ | |
906 | + | |
827 | 907 | if(type == 1) { |
828 | 908 | Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("").is(sequenceId)), Patients.class); |
829 | 909 | if(patients != null) { |
830 | - map.put("checkDate", patients.getCreated()); /** 产检日期 */ | |
910 | + map.put("checkDate", patients.getCreated()); *//** 产检日期 *//* | |
831 | 911 | } |
832 | 912 | } |
833 | 913 | |
834 | 914 | AntExChuModel antexc = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntExChuModel.class); |
835 | 915 | if(antexc != null) { |
836 | - map.put("checkDate", antexc.getCheckTime()); /** 产检日期 */ | |
916 | + map.put("checkDate", antexc.getCheckTime()); *//** 产检日期 *//* | |
837 | 917 | Patients patients = mongoTemplate.findById(antexc.getParentId(), Patients.class); |
838 | 918 | if(patients != null) { |
839 | - map.put("username", patients.getUsername()); /** 姓名 */ | |
919 | + map.put("username", patients.getUsername()); *//** 姓名 *//* | |
840 | 920 | } |
841 | - map.put("week", DateUtil.getWeek(antexc.getLastMenses(), antexc.getCheckTime()));/** 产检孕周 = 产检时间 - 末次月经 */ | |
921 | + map.put("week", DateUtil.getWeek(antexc.getLastMenses(), antexc.getCheckTime()));*//** 产检孕周 = 产检时间 - 末次月经 *//* | |
842 | 922 | |
843 | 923 | List<AntExChuModel> antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(antexc.getPid())).with(new Sort(Sort.Direction.ASC, "checkTime")), AntExChuModel.class); |
844 | 924 | if(org.apache.commons.collections.CollectionUtils.isNotEmpty(antExChuModels)) { |
845 | 925 | for(int i = 0; i < antExChuModels.size(); i++) { |
846 | 926 | if(antExChuModels.get(i).getId().equals(antexc.getId())) { |
847 | - map.put("number", ++i); /** 产检第几次 */ | |
927 | + map.put("number", ++i); *//** 产检第几次 *//* | |
848 | 928 | return; |
849 | 929 | } |
850 | 930 | } |
851 | 931 | } |
852 | 932 | |
853 | - map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); /** 产检医生 */ | |
854 | - map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); /** 产检机构 */ | |
933 | + map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); *//** 产检医生 *//* | |
934 | + map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); *//** 产检机构 *//* | |
855 | 935 | PersonModel personModel = mongoTemplate.findById(map.get("user_id"), PersonModel.class); |
856 | 936 | if(personModel != null) { |
857 | 937 | map.put("phone", personModel.getPhone()); |
858 | 938 | |
859 | 939 | |
... | ... | @@ -861,15 +941,15 @@ |
861 | 941 | } else { |
862 | 942 | AntenatalExaminationModel antenatal = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntenatalExaminationModel.class); |
863 | 943 | if(antenatal != null) { |
864 | - map.put("checkDate", antenatal.getCheckDate()); /** 产检日期 */ | |
944 | + map.put("checkDate", antenatal.getCheckDate()); *//** 产检日期 *//* | |
865 | 945 | Patients patients = mongoTemplate.findById(antenatal.getParentId(), Patients.class); |
866 | 946 | if(patients != null) { |
867 | - map.put("username", patients.getUsername()); /** 姓名 */ | |
947 | + map.put("username", patients.getUsername()); *//** 姓名 *//* | |
868 | 948 | } |
869 | - map.put("week", antenatal.getCurrentDueDate());/** 产检孕周 = 产检时间 - 末次月经 */ | |
870 | - map.put("number", antenatal.getYn()); /** 产检第几次 */ | |
871 | - map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); /** 产检医生 */ | |
872 | - map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); /** 产检机构 */ | |
949 | + map.put("week", antenatal.getCurrentDueDate());*//** 产检孕周 = 产检时间 - 末次月经 *//* | |
950 | + map.put("number", antenatal.getYn()); *//** 产检第几次 *//* | |
951 | + map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); *//** 产检医生 *//* | |
952 | + map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); *//** 产检机构 *//* | |
873 | 953 | map.put("phone", couponMapper.findPhone(antenatal.getOperator() + "")); |
874 | 954 | } |
875 | 955 | } |
... | ... | @@ -884,7 +964,7 @@ |
884 | 964 | map.put("use_day", "产后" + day + "天"); |
885 | 965 | } |
886 | 966 | } |
887 | - } | |
967 | + }*/ | |
888 | 968 | |
889 | 969 | private String findName(Object id) { |
890 | 970 | if(id != null) { |
... | ... | @@ -957,7 +1037,6 @@ |
957 | 1037 | .append("D.DOCTOR_NAME ") |
958 | 1038 | .append("ORDER BY D.INSERT_DATE DESC"); |
959 | 1039 | |
960 | - System.out.println(sql.toString()); | |
961 | 1040 | return sql.toString(); |
962 | 1041 | } |
963 | 1042 | |
... | ... | @@ -1217,7 +1296,6 @@ |
1217 | 1296 | params.add(number); |
1218 | 1297 | } |
1219 | 1298 | |
1220 | - System.out.println(sql.toString()); | |
1221 | 1299 | return sql.toString(); |
1222 | 1300 | } |
1223 | 1301 |