Pārlūkot izejas kodu

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

wsl 2 gadi atpakaļ
vecāks
revīzija
4ff7a17d26
100 mainītis faili ar 1692 papildinājumiem un 388 dzēšanām
  1. 17 0
      business/base-service/src/main/java/com/yihu/jw/dailyReport/dao/BaseDailyUrgingRecordDao.java
  2. 1174 167
      business/base-service/src/main/java/com/yihu/jw/dailyReport/service/DailyReportUploadService.java
  3. 7 7
      business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java
  4. 24 20
      business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientService.java
  5. 28 1
      common/common-entity/sql记录
  6. 43 4
      common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportDetailDO.java
  7. 3 0
      common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportItemDO.java
  8. 15 5
      common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportUploadDO.java
  9. 181 0
      common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyUrgingRecordDO.java
  10. 20 8
      common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java
  11. 3 0
      gateway/ag-basic/src/main/resources/application.yml
  12. 3 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/YsConfig.java
  13. 2 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/activity/ChildActivityRegistrationDao.java
  14. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/apply/PatientBedApplyDao.java
  15. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/assistance/EmergencyAssistanceDao.java
  16. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/birthday/BirthDayWishesToPatientDao.java
  17. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/birthday/BirthdayWishesTemplateDao.java
  18. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/booking/BaseBookingServiceDao.java
  19. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/child/BaseChildManageDao.java
  20. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/common/BaseLoginLogDao.java
  21. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/consult/BaseYunxingChannelDao.java
  22. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/contacts/BasePatientContactsOrgDao.java
  23. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/contacts/PatientSosContactsDao.java
  24. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CourseCatalogueDao.java
  25. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CourseDao.java
  26. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CourseSalesOrderRecordDao.java
  27. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CustomerServiceDao.java
  28. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/DoctorPatientTmpDao.java
  29. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/NurseryLogDao.java
  30. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/PatientCourseRecordDao.java
  31. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/PatientDietRecordDao.java
  32. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/PatientOrderRefundDao.java
  33. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/RecruitStudentsDao.java
  34. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/RecruitStudentsRecordDao.java
  35. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDeviceElectricRecordDao.java
  36. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDeviceFaceRecordDao.java
  37. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDevicePatientFaceDao.java
  38. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDeviceRepairDao.java
  39. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseHzInterfaceDictDao.java
  40. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BasePatientMonitorDataDao.java
  41. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BasePatientOutBedDao.java
  42. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepDeviceReportDao.java
  43. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepNightRecordDao.java
  44. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepPlanDao.java
  45. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepPlanDetailDao.java
  46. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseYxDeviceIndexDao.java
  47. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DeviceDao.java
  48. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DeviceDataPushLogDao.java
  49. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DeviceDetailDao.java
  50. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DevicePatientHealthIndexDao.java
  51. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/PatientDeviceDao.java
  52. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/PatientSafeAreaConfirmDao.java
  53. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/PatientSafeAreaDao.java
  54. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/YsConfigDao.java
  55. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doctor/DoctorServicePermissionsDao.java
  56. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachCancelLogDao.java
  57. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachConclusionDao.java
  58. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachDoctorStatusDao.java
  59. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachFeeDetailDao.java
  60. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachOrderDao.java
  61. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachPatientConfirmLogDao.java
  62. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachProcessLogDao.java
  63. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/exam/ChildrenExaminationRecordDao.java
  64. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/family/PatientFamilyMemberDao.java
  65. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/handover/BaseDayHandoverDao.java
  66. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/label/BaseCapacityLabelDao.java
  67. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/label/WlyyPatientLabelDao.java
  68. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/BaseAdminServiceDynamicDao.java
  69. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareCancelLogDao.java
  70. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareFeeDetailDao.java
  71. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareItemDictDao.java
  72. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareOrderDao.java
  73. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/log/BasePatientPadPushOnOffDao.java
  74. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/log/BasePushRecordLogDao.java
  75. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/log/BasePushrecordLogInfoDao.java
  76. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/message/BaseServiceNewsDao.java
  77. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/message/OrgNoticeDao.java
  78. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/message/UserNoticeDao.java
  79. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/prescription/BaseCarePrescriptionDao.java
  80. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/role/DoctorRoleDao.java
  81. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/role/DoctorRoleRealmDao.java
  82. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/role/UserRoleDao.java
  83. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/BaseEmergencyWarnLogDao.java
  84. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/EmergencyWarnCancelLogDao.java
  85. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/EmergencyWarnConclusionDao.java
  86. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/EmergencyWarnDoctorResponseDao.java
  87. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/SecurityMonitoringDoctorStatusDao.java
  88. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/SecurityMonitoringOrderDao.java
  89. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ArchiveDao.java
  90. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/BasePatientHelperDao.java
  91. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentBaseInfoDao.java
  92. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentCognitiveAbilityDao.java
  93. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentLivingAbilityDao.java
  94. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentRecordDao.java
  95. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentSocialAbilityDao.java
  96. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityDoctorDao.java
  97. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageDao.java
  98. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageItemDao.java
  99. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageRecordDao.java
  100. 0 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageSignRecordDao.java

+ 17 - 0
business/base-service/src/main/java/com/yihu/jw/dailyReport/dao/BaseDailyUrgingRecordDao.java

@ -0,0 +1,17 @@
package com.yihu.jw.dailyReport.dao;
import com.yihu.jw.entity.dailyReport.BaseDailyUrgingRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by Bing
 */
public interface BaseDailyUrgingRecordDao extends PagingAndSortingRepository<BaseDailyUrgingRecordDO,String>,
        JpaSpecificationExecutor<BaseDailyUrgingRecordDO> {
    List<BaseDailyUrgingRecordDO> findByCodeAndDel(String code,Integer del);
}

+ 1174 - 167
business/base-service/src/main/java/com/yihu/jw/dailyReport/service/DailyReportUploadService.java

@ -89,6 +89,8 @@ public class DailyReportUploadService {
    private BaseDailyReportItemDao reportItemDao;
    @Autowired
    private BaseDailyReportItemMembersDao reportItemMembersDao;
    @Autowired
    private BaseDailyUrgingRecordDao urgingRecordDao;
    private static Logger logger = LoggerFactory.getLogger(DailyReportUploadService.class);
@ -406,6 +408,16 @@ public class DailyReportUploadService {
                }
                tmp.setReportItemId(reportItemDO.getId());
                tmp.setReportItemName(title);
            }else {
                BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(tmp.getReportItemId(),doctorId);
                if (null==membersDOTmp){
                    membersDOTmp = new BaseDailyReportItemMembersDO();
                    membersDOTmp.setReportItemId(tmp.getReportItemId());
                    membersDOTmp.setUserId(doctorId);
                    membersDOTmp.setUserName(doctorDO.getName());
                    membersDOTmp.setDel(1);
                    reportItemMembersDao.save(membersDOTmp);
                }
            }
            BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(tmp.getReportItemId());
            if (null!=reportItemDO){
@ -493,6 +505,14 @@ public class DailyReportUploadService {
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportUploadDO verifiedItem(String doctorId,String reportId,List<BaseDailyReportDetailDO> detailDOList) throws Exception {
        String  doubtSql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(doubtSql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        BaseDoctorDO doctorDO = baseDoctorDao.findById(doctorId);
        String nowDate = DateUtil.getStringDateShort();
        if (null==doctorDO){
@ -506,11 +526,15 @@ public class DailyReportUploadService {
        if (DateUtil.getDays(nowDate,dailyReportUploadDO.getReportDate())>7){
            throw  new Exception("上传记录已超过7天无法再次操作");
        }
        Set<String> doubtTypeName = new HashSet<>();
        if(detailDOList.size()>0){//无完成事项内容
            boolean doubt  =false;
            for (BaseDailyReportDetailDO tmp:detailDOList){
                if (1==tmp.getDoubt()&&(null==tmp.getDoubtState()||0==tmp.getDoubtState())){
                    doubt = true;
                    if(0!=tmp.getDoubtType()&&doubtTypeObj.containsKey(tmp.getDoubtType()+"")){
                        doubtTypeName.add(doubtTypeObj.getString(tmp.getDoubtType()+""));
                    }
                }
                tmp.setVerificationTime(new Date());
                tmp.setVerificationUser(doctorId);
@ -544,7 +568,7 @@ public class DailyReportUploadService {
                                    logger.info("该用户"+doctorDO.getName()+"没有企业微信手机号,无法推送模版消息,用户ID:"+doctorDO.getId()+"wechatId:"+wechatId);
                                }else{
                                    String title = "待办事项";
                                    String des = "您好,"+doctorDO.getName()+"对"+dailyReportUploadDO.getDoctorName()+"已提交的每日日报有存疑,请点击前往审核。";
                                    String des = "您好,"+doctorDO.getName()+"对"+dailyReportUploadDO.getDoctorName()+"已提交的每日日报提出"+doubtTypeName.stream().map(String::valueOf).collect(Collectors.joining("'、'"))+",请点击进行审核";
                                    String url = "https://ehr.yihu.com/hlwyy/zjxl/dailyReport/#/workSummary/commit?mode=verify&id="+dailyReportUploadDO.getId();
                                    String res = enterpriseService.sendTWMesByDoctor(wechatId,remindDoctorDO.getId(),title,des,url);
                                }
@ -561,6 +585,29 @@ public class DailyReportUploadService {
                baseDailyReportLogDO.setTypeName("上级核实未存疑");
                baseDailyReportLogDO.setContent("上级核实未存疑");
            }
            try {
                if (doubt==true){
                    BaseDoctorDO remindDoctorDO = baseDoctorDao.findById(dailyReportUploadDO.getDoctorId());
                    if (remindDoctorDO != null) {
                        try {
                            WxEnterpriseUserDO enterpriseUserDO = wxEnterpriseUserDao.findByEnterpriseIdAndMobile(wechatId,remindDoctorDO.getMobile());
                            if(enterpriseUserDO==null){
                                logger.info("该用户"+doctorDO.getName()+"没有企业微信手机号,无法推送模版消息,用户ID:"+doctorDO.getId()+"wechatId:"+wechatId);
                            }else{
                                String title = "待办事项";
                                String des = "您好,"+doctorDO.getName()+"对您提交的每日日报提出"+doubtTypeName.stream().map(String::valueOf).collect(Collectors.joining("'、'"))+",请点击进行查看。";
                                String url = "https://ehr.yihu.com/hlwyy/zjxl/dailyReport/#/workSummary/commit?id="+dailyReportUploadDO.getId();
                                String res = enterpriseService.sendTWMesByDoctor(wechatId,remindDoctorDO.getId(),title,des,url);
                            }
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }
            dailyReportLogDao.save(baseDailyReportLogDO);
        }else {
@ -626,6 +673,97 @@ public class DailyReportUploadService {
        return dailyReportUploadDO;
    }
    /**
     * 催促代办项目
     */
    @Transactional(rollbackFor = Exception.class)
    public List<BaseDailyUrgingRecordDO> urgingDoctor(String doctorId,String receiveDoctorId, List<BaseDailyUrgingRecordDO> urgingRecordDOS) throws Exception {
        BaseDoctorDO doctorDO = baseDoctorDao.findById(doctorId);
        if (StringUtils.isBlank(receiveDoctorId)){
           BaseDailyReportUploadDO dailyReportUploadDO = dailyReportUploadDao.findOne(urgingRecordDOS.get(0).getReportId());
           if (null==dailyReportUploadDO){
               throw new Exception("传参错误");
           }
        }
        String code = UUID.randomUUID().toString().replaceAll("-", "");
        if (null==doctorDO){
            throw new Exception("无权限操作");
        }
        BaseDoctorDO receiveDoctor = baseDoctorDao.findById(receiveDoctorId);
        if (null==receiveDoctor){
            throw new Exception("员工不存在");
        }
        String dept = "";
        List<BaseDoctorHospitalDO> doctorHospitalDOS = baseDoctorHospitalDao.findByDoctorCode(receiveDoctorId);
        if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
            dept = doctorHospitalDOS.get(0).getDeptCode();
        }
        for (BaseDailyUrgingRecordDO tmp:urgingRecordDOS){
            tmp.setCode(code);
            tmp.setReceiveDoctor(receiveDoctorId);
            tmp.setDoctorName(receiveDoctor.getName());
            tmp.setCreateUser(doctorId);
            tmp.setCreateUserName(doctorDO.getName());
            tmp.setCreateTime(new Date());
            tmp.setDept(dept);
            tmp.setDel(1);
        }
        try {
            BaseDoctorDO remindDoctorDO = baseDoctorDao.findById(receiveDoctorId);
            if (remindDoctorDO != null) {
                try {
                    WxEnterpriseUserDO enterpriseUserDO = wxEnterpriseUserDao.findByEnterpriseIdAndMobile(wechatId,remindDoctorDO.getMobile());
                    if(enterpriseUserDO==null){
                        logger.info("该用户"+doctorDO.getName()+"没有企业微信手机号,无法推送模版消息,用户ID:"+doctorDO.getId()+"wechatId:"+wechatId);
                    }else{
                        String title = "日报反馈";
                        String des = "您好,"+doctorDO.getName()+"对您发起"+urgingRecordDOS.size()+"项加急待办事项,请点击进行查看。";
                        String url = "https://ehr.yihu.com/hlwyy/zjxl/dailyReport/#/workSummary/urge?id="+code;
                        String res = enterpriseService.sendTWMesByDoctor(wechatId,remindDoctorDO.getId(),title,des,url);
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        urgingRecordDao.save(urgingRecordDOS);
        urgingRecordDOS = urgingRecordDao.findByCodeAndDel(code,1);
        return  urgingRecordDOS;
    }
    public List<BaseDailyUrgingRecordDO> getUrgingList(String code,String doctor,String reportId,String createUser,String startTime,String endTime){
        String sql = " select ur.* from base_daily_urging_record ur where 1=1 ";
        if (StringUtils.isNotBlank(code)){
            sql +=" and ur.code='"+code+"' ";
        }
        if (StringUtils.isNotBlank(doctor)){
            sql +=" and ur.receive_doctor='"+doctor+"' ";
        }
        if (StringUtils.isNotBlank(reportId)){
            sql +=" and ur.report_id='"+reportId+"' ";
        }
        if (StringUtils.isNotBlank(createUser)){
            sql +=" and ur.create_user='"+createUser+"' ";
        }
        if (StringUtils.isNotBlank(startTime)){
            sql +=" and ur.create_time>='"+startTime+"' ";
        }
        if (StringUtils.isNotBlank(endTime)){
            sql +=" and ur.create_time<='"+endTime+"' ";
        }
        sql +=" group by ur.code order by ur.create_time desc ";
        return jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyUrgingRecordDO.class));
    }
    public List<BaseDailyUrgingRecordDO> getUrgingDetail(String code){
        return urgingRecordDao.findByCodeAndDel(code,1);
    }
    /**
     * 获取当天日报上传记录
     * @param doctor
@ -660,6 +798,13 @@ public class DailyReportUploadService {
            tmp.setDetailDOList(detailDOS);
            List<BaseDailyReportLogDO> dailyReportLogDOList = dailyReportLogDao.findByReportId(tmp.getId());
            tmp.setDailyReportLogDOList(dailyReportLogDOList);
            tmp.setDoubt(false);
            if (detailDOS.size()>0){
                Integer sum = detailDOS.stream().mapToInt(e->e.getDoubt()==null?0:e.getDoubt()).sum();
                if (sum>0){
                    tmp.setDoubt(true);
                }
            }
        }
        Map<String,List<BaseDailyReportUploadDO>> reportList = list.stream().collect(Collectors.groupingBy(BaseDailyReportUploadDO::getReportDate));
        Date endDate =DateUtil.strToDate(endDateStr);
@ -722,14 +867,20 @@ public class DailyReportUploadService {
            reportUploadDO = new BaseDailyReportUploadDO();
        }
        //今日本人上报数量
        String benrenTotalSql = " select count(1) from base_doctor_daily_report_upload where doctor_id='"+doctorId+"' and report_date>='"+nowDate+"' and report_date<='"+nowDate+"' ";
        String benrenTotalSql = " select count(up.id) from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                " where up.doctor_id='"+doctorId+"' and up.report_date>='"+nowDate+"' and up.report_date<='"+nowDate+"' ";
        //本人已上报数量
        String benrenshangbaoTotalSql = " select count(1) from base_doctor_daily_report_upload where doctor_id='"+doctorId+"'  ";
        String benrenshangbaoTotalSql = " select count(up.id) from base_doctor_daily_report_upload up " +
                " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                " where up.doctor_id='"+doctorId+"'  ";
        //本人上级未核实事项数
        String benrenVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up inner join base_daily_report_detail de on up.id = de.report_id" +
        String benrenVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1" +
                " inner join base_daily_report_detail de on up.id = de.report_id" +
                " where up.doctor_id='"+doctorId+"' and  de.state=1 and report_date>='"+nowDate+"' and report_date<='"+nowDate+"' ";
        //本人上级已核实事项数
        String benrenNotVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up inner join base_daily_report_detail de on up.id = de.report_id" +
        String benrenNotVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de on up.id = de.report_id" +
                " where up.doctor_id='"+doctorId+"' and  de.state=0 and report_date>='"+nowDate+"' and report_date<='"+nowDate+"' ";
        //科室总人数
@ -744,26 +895,32 @@ public class DailyReportUploadService {
            //总人数
            doctorTotalSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 ";
            //今日上报人数
            sqlTotalSql = " select count(1) from base_doctor_daily_report_upload  where  report_date>='"+nowDate+"' and report_date<='"+nowDate+"' ";
            sqlTotalSql = " select count(up.id) from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1" +
                    "  where  up.report_date>='"+nowDate+"' and up.report_date<='"+nowDate+"' ";
            //今日核实数量
            verifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up inner join base_daily_report_detail de on up.id = de.report_id" +
            verifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                    " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de on up.id = de.report_id" +
                    " where  de.state=1 and report_date>='"+nowDate+"' and report_date<='"+nowDate+"' ";
            //今日未核实数量
            notVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up inner join base_daily_report_detail de on up.id = de.report_id" +
            notVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                    " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de on up.id = de.report_id" +
                    " where   de.state=0 and report_date>='"+nowDate+"' and report_date<='"+nowDate+"' ";
        } else if (level == 2) {
            //总人次
            doctorTotalSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 and id  " +
                    " IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 )";
            //今日上报人数
            sqlTotalSql = " select count(1) from base_doctor_daily_report_upload  where  report_date>='"+nowDate+"' and report_date<='"+nowDate+"' " +
                    " and doctor_id in (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
            sqlTotalSql = " select count(up.id) from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                    " where  up.report_date>='"+nowDate+"' and up.report_date<='"+nowDate+"' " +
                    " and up.doctor_id in (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
            //今日核实数量
            verifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up inner join base_daily_report_detail de on up.id = de.report_id" +
            verifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                    " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de on up.id = de.report_id" +
                    " where  de.state=1 and report_date>='"+nowDate+"' and report_date<='"+nowDate+"'" +
                    " and up.doctor_id in (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 )  ";
            //今日未核实数量
            notVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up inner join base_daily_report_detail de on up.id = de.report_id" +
            notVerifiedSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                    " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de on up.id = de.report_id" +
                    " where   de.state=0 and report_date>='"+nowDate+"' and report_date<='"+nowDate+"' " +
                    " and up.doctor_id in (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
        }
@ -824,16 +981,16 @@ public class DailyReportUploadService {
        String deptSql = " select code,name,dh1.doctorTotal,dh2.yishangbaoTotal,dh3.verified,dh4.notVerified,dh5.shangchuanTotal  from dict_hospital_dept hd  " +
                "LEFT JOIN (select count(1) as 'doctorTotal',dh.dept_code from base_doctor d LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "WHERE d.del = 1 AND dh.del = 1 "+doctorSqlCondition+" GROUP BY dh.dept_code)dh1 ON hd.CODE = dh1.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'yishangbaoTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'yishangbaoTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 " +
                "LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code)dh2 ON hd.CODE = dh2.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(distinct up.id) 'verified' from base_doctor_daily_report_upload up LEFT JOIN base_daily_report_detail de on up.id = de.report_id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 and de.state=1 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code)dh3 ON hd.CODE = dh3.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(distinct up.id) 'notVerified' from base_doctor_daily_report_upload up LEFT JOIN base_daily_report_detail de on up.id = de.report_id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 and de.state=0 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code)dh4 ON hd.CODE = dh4.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'shangchuanTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'shangchuanTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 " +
                "LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 "+doctorSqlCondition+reportCondition+")dh5 ON hd.CODE = dh5.dept_code  " +
                " WHERE hd.consult_dept_flag = 1 ";
@ -945,16 +1102,16 @@ public class DailyReportUploadService {
        String deptSql = " select code,name,dh1.doctorTotal,dh2.yishangbaoTotal,dh3.verified,dh4.notVerified,dh5.shangchuanTotal  from dict_hospital_dept hd  " +
                "LEFT JOIN (select count(1) as 'doctorTotal',dh.dept_code from base_doctor d LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "WHERE d.del = 1 AND dh.del = 1 "+doctorSqlCondition+" GROUP BY dh.dept_code)dh1 ON hd.CODE = dh1.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'yishangbaoTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'yishangbaoTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 " +
                "LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code )dh2 ON hd.CODE = dh2.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(distinct up.id) 'verified' from base_doctor_daily_report_upload up LEFT JOIN base_daily_report_detail de on up.id = de.report_id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 and de.state=1 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code )dh3 ON hd.CODE = dh3.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(distinct up.id) 'notVerified' from base_doctor_daily_report_upload up LEFT JOIN base_daily_report_detail de on up.id = de.report_id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 and de.state=0 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code )dh4 ON hd.CODE = dh4.dept_code " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'shangchuanTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id " +
                "LEFT JOIN(select dh.dept_code,count(up.id) 'shangchuanTotal' from base_doctor_daily_report_upload up INNER JOIN base_doctor d on up.doctor_id = d.id and d.del=1 " +
                "LEFT JOIN base_doctor_hospital dh ON dh.doctor_code = d.id " +
                "where 1=1 "+doctorSqlCondition+reportCondition+" GROUP BY dh.dept_code )dh5 ON hd.CODE = dh5.dept_code  " +
                " WHERE hd.consult_dept_flag = 1 ";
@ -1019,8 +1176,25 @@ public class DailyReportUploadService {
     * @param endDate
     * @return
     */
    public JSONArray selectListByTotal(String dept, String idType, String status, String state, String startDate, String endDate, String name,Integer doubtType) {
    public JSONArray selectListByTotal(String user,String dept, String idType, String status, String state, String startDate, String endDate, String name,Integer doubtType) {
        List<String> list = new ArrayList<>();
        String doctorSqlCondition = "  ";
        if (StringUtils.isNotBlank(user)){
            String sql = " select * from base_doctor_role where doctor_code='"+user+"' and role_code ='admin' ";
            List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
            if (userRoles.size()>0){
                doctorSqlCondition  = " and d.id in ( select distinct doc.id from base_doctor doc " +
                        "INNER JOIN base_doctor_role role on doc.id =role.doctor_code where  doc.del=1  and doc.identity=0  " +
                        "union " +
                        "select distinct doc.id from base_doctor doc left JOIN base_doctor_hospital dh on doc.id = dh.doctor_code  " +
                        " LEFT JOIN (select distinct dh1.dept_code,doc1.id from base_doctor doc1 " +
                        "INNER JOIN base_doctor_role role1 on doc1.id =role1.doctor_code  " +
                        "INNER JOIN base_doctor_hospital dh1 on doc1.id =dh1.doctor_code  where  doc1.del=1 and dh1.del=1 and doc1.identity=0  )A on dh.dept_code = A.dept_code " +
                        "where doc.del=1 and doc.identity=0 and A.dept_code is null ) ";
            }
        }
        Date startTime = DateUtil.strToDateShort(startDate);
        Date endDateTime = DateUtil.strToDateShort(endDate);
        int i=0;
@ -1033,7 +1207,7 @@ public class DailyReportUploadService {
        JSONArray array = new JSONArray();
        for ( i = 0; i < list.size(); i++) {
            String date = list.get(i);
            String doctorSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 and d.identity=0  ";
            String doctorSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 and d.identity=0  "+doctorSqlCondition;
            String deptCondition = "";
            if (StringUtils.isNoneBlank(dept)) {
                deptCondition += " (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 )";
@ -1091,8 +1265,24 @@ public class DailyReportUploadService {
     * @param name      total
     * @return
     */
    public JSONArray selectListInfoByTotal(String dept, String idType, String status, String state, String startDate, String endDate, String name,
    public JSONArray selectListInfoByTotal(String user, String dept, String idType, String status, String state, String startDate, String endDate, String name,
                                           Integer doubtType) {
        String doctorSqlCondition = "  ";
        if (StringUtils.isNotBlank(user)){
            String sql = " select * from base_doctor_role where doctor_code='"+user+"' and role_code ='admin' ";
            List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
            if (userRoles.size()>0){
                doctorSqlCondition  = " and d.id in ( select distinct doc.id from base_doctor doc " +
                        "INNER JOIN base_doctor_role role on doc.id =role.doctor_code where  doc.del=1  and doc.identity=0  " +
                        "union " +
                        "select distinct doc.id from base_doctor doc left JOIN base_doctor_hospital dh on doc.id = dh.doctor_code  " +
                        " LEFT JOIN (select distinct dh1.dept_code,doc1.id from base_doctor doc1 " +
                        "INNER JOIN base_doctor_role role1 on doc1.id =role1.doctor_code  " +
                        "INNER JOIN base_doctor_hospital dh1 on doc1.id =dh1.doctor_code  where  doc1.del=1 and dh1.del=1 and doc1.identity=0  )A on dh.dept_code = A.dept_code " +
                        "where doc.del=1 and doc.identity=0 and A.dept_code is null ) ";
            }
        }
        List<String> list = new ArrayList<>();
        Date startTime = DateUtil.strToDateShort(startDate);
        Date endDateTime = DateUtil.strToDateShort(endDate);
@ -1106,7 +1296,7 @@ public class DailyReportUploadService {
        JSONArray array = new JSONArray();
        for (i = 0; i < list.size(); i++) {
            String date = list.get(i);
            String doctorSql = " select d.name,d.id,d.job_title_name as jobTitleName,d.photo from base_doctor d where d.del=1 and d.identity=0  ";
            String doctorSql = " select d.name,d.id,d.job_title_name as jobTitleName,d.photo from base_doctor d where d.del=1 and d.identity=0  "+doctorSqlCondition;
            String deptCondition = "";
            if (StringUtils.isNoneBlank(dept)) {
                deptCondition += " (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 )";
@ -1147,7 +1337,8 @@ public class DailyReportUploadService {
                    stateCondition += " and d1.state='"+state+"' ";
                }
                String sql = " select d1.id,d1.state,total_hour from base_doctor_daily_report_upload d1 where d1.doctor_id='"+id+"' and d1.report_date>='"+date+"' and d1.report_date<='"+date+"' ORDER BY report_date desc ";
                String sql = " select d1.id,d1.state,total_hour from base_doctor_daily_report_upload d1 INNER JOIN base_doctor doc on d1.doctor_id = doc.id " +
                        " and doc.del=1 where d1.doctor_id='"+id+"' and d1.report_date>='"+date+"' and d1.report_date<='"+date+"' ORDER BY report_date desc ";
                List<Map<String, Object>> mapList1 = jdbcTemplate.queryForList(sql);
                if (mapList1 != null && mapList1.size() != 0) {
                    for (Map<String, Object> map1 : mapList1) {
@ -1206,7 +1397,7 @@ public class DailyReportUploadService {
            String doubtSql = " select count(distinct rd.id) as 'total' from base_doctor_daily_report_upload up " +
                    " inner join base_doctor d on up.doctor_id = d.id and d.del=1 and d.identity=0 " +
                    " inner join base_daily_report_detail rd on up.id = rd.report_id  " +
                    "  where rd.doubt=1 and up.report_date >='" + date + "' and up.report_date<='" + date + "' and up.state=1  ";
                    "  where  up.report_date >='" + date + "' and up.report_date<='" + date + "' and up.state=1  ";
            String deptCondition = "";
            if (StringUtils.isNoneBlank(dept)) {
@ -1219,11 +1410,7 @@ public class DailyReportUploadService {
                doubtSql += " and d.id IN " + deptCondition;
            }
            if (null!=doubtType){
                if (0==doubtType){
                    doubtSql += " and rd.doubt_type is not null ";
                }else{
                    doubtSql += " and rd.doubt_type='"+doubtType+"' ";
                }
                 doubtSql += " and rd.doubt_type='"+doubtType+"' ";
            }
            if (StringUtils.isNoneBlank(name)) {
                doubtSql += " and d.name LIKE  '%" + name + "%' ";
@ -1265,6 +1452,13 @@ public class DailyReportUploadService {
            list.add(str);
            i=1;
        }while (startTime.before(endDateTime));
        String sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(sql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        JSONArray array = new JSONArray();
        for (i = 0; i < list.size(); i++) {
            String date = list.get(i);
@ -1275,7 +1469,7 @@ public class DailyReportUploadService {
                    " from base_doctor_daily_report_upload up " +
                    " inner join base_doctor d on up.doctor_id = d.id and d.del=1 and d.identity=0 " +
                    " inner join base_daily_report_detail rd on up.id = rd.report_id  " +
                    "  where rd.doubt=1 and up.report_date >='" + date + "' and up.report_date<='" + date + "' and up.state=1  ";
                    "  where up.report_date >='" + date + "' and up.report_date<='" + date + "' and up.state=1  ";
            String deptCondition = "";
            if (StringUtils.isNoneBlank(dept)) {
@ -1288,11 +1482,7 @@ public class DailyReportUploadService {
                doubtSql += " and d.id IN " + deptCondition;
            }
            if (null!=doubtType){
                if(0==doubtType){
                    doubtSql += " and rd.doubt_type is not null ";
                }else {
                    doubtSql += " and rd.doubt_type='"+doubtType+"' ";
                }
                doubtSql += " and rd.doubt_type='"+doubtType+"' ";
            }
            if (StringUtils.isNoneBlank(name)) {
                doubtSql += " and d.name LIKE  '%" + name + "%' ";
@ -1318,15 +1508,8 @@ public class DailyReportUploadService {
                        map.put("doubt_state", "存疑未核实");
                    }
                }
                map.put("doubt_type", "");
                if (StringUtils.isNotBlank(doubt_type)){
                    if("1".equals(doubt_type)){
                        map.put("doubt_type", "不饱和存疑");
                    } else if ("2".equals(doubt_type)){
                        map.put("doubt_type", "效率存疑");
                    }else {
                        map.put("doubt_type", "");
                    }
                    map.put("doubt_type",null==doubtTypeObj.get("doubt_type")?"":doubtTypeObj.get("doubt_type").toString());
                }
            }
            JSONObject object = new JSONObject();
@ -1567,7 +1750,7 @@ public class DailyReportUploadService {
            sqlCondition =" and d.doctor_id IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
        }
        String sql = " SELECT SUM(d1.total) as total from (select COUNT(DISTINCT d.doctor_id) as 'total',date_format(d.report_date ,'%Y-%m-%d' ) " +
                " from base_doctor_daily_report_upload d where 1=1 "+sqlCondition+"  and  d.report_date >='"+startDate+"' and d.report_date<='"+endDate+"' " +
                " from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 where 1=1 "+sqlCondition+"  and  d.report_date >='"+startDate+"' and d.report_date<='"+endDate+"' " +
                " GROUP BY date_format(d.report_date ,'%Y-%m-%d' ))d1  ";
        if (level==2){
            doctorSql +=" and d.id IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
@ -1585,8 +1768,6 @@ public class DailyReportUploadService {
        Integer weishangbaoTotal = 0;
        Integer verifiedTotal = 0;
        Integer notVerifiedTotal = 0;
        Integer baoheDoubt = 0;
        Integer xiaolvDoubt = 0;
        //已上传
        Map<String, Object> yishangchaungMap = jdbcTemplate.queryForMap(sql);
        if (yishangchaungMap != null) {
@ -1600,7 +1781,7 @@ public class DailyReportUploadService {
        //上传总次数
        Integer shangchuanTotal = 0;
        String shangchuanTotalSql = "select COUNT(1) as 'total' from base_doctor_daily_report_upload d where 1=1  ";
        String shangchuanTotalSql = "select COUNT(1) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 where 1=1  ";
        if (StringUtils.isNoneBlank(startDate)) {
            shangchuanTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
@ -1617,7 +1798,7 @@ public class DailyReportUploadService {
        //已核实、未核实
        String verifiedTotalSql = "select COUNT(1) as 'total' from base_doctor_daily_report_upload d where  state=1 ";
        String verifiedTotalSql = "select COUNT(d.id) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 where  d.state=1 ";
        if (StringUtils.isNoneBlank(startDate)) {
            verifiedTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
@ -1634,7 +1815,7 @@ public class DailyReportUploadService {
        }
        //未核实
        String notVerifiedTotalSql = "select COUNT(1) as 'total' from base_doctor_daily_report_upload d where  state=0  ";
        String notVerifiedTotalSql = "select COUNT(d.id) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 where  d.state=0  ";
        if (StringUtils.isNoneBlank(startDate)) {
            notVerifiedTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
        }
@ -1649,46 +1830,58 @@ public class DailyReportUploadService {
            }
        }
        //不饱和存疑
        String baoheTotalSql = "select COUNT(de.id) as 'total' from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
                " on de.report_id = d.id  where  de.doubt_type=1  ";
        //各类存疑
        String doubtTypeSql = "select COUNT(de.id) as 'total',de.doubt_type from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de " +
                " on de.report_id = d.id  where de.state=1   ";
        String doubtTotalSql = "select COUNT(DISTINCT de.id) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 inner join base_daily_report_detail de " +
                " on de.report_id = d.id  where de.state=1   ";
        if (StringUtils.isNoneBlank(startDate)) {
            baoheTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            doubtTypeSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            doubtTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
        }
        if (level==2){
            baoheTotalSql +=" and d.doctor_id IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
        }
        Map<String, Object> baoheMap = jdbcTemplate.queryForMap(baoheTotalSql);
        if (baoheMap != null) {
            if (baoheMap.get("total") != null) {
                baoheDoubt = Integer.parseInt(baoheMap.get("total").toString());
            doubtTypeSql +=" and d.doctor_id IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
            doubtTotalSql +=" and d.doctor_id IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
        }
        doubtTypeSql += " group by de.doubt_type ";
        sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(sql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        List<Map<String,Object>> doubtDoubtList = jdbcTemplate.queryForList(doubtTypeSql);
        for (Map<String,Object>tmp:doubtDoubtList){
            String doubtType = tmp.get("doubt_type").toString();
            if(doubtTypeObj.containsKey(doubtType)){
                tmp.put("doubtTypeName",doubtTypeObj.get(doubtType));
            }else {
                tmp.put("doubtTypeName","其他");
            }
        }
        //效率存疑
        String xiaolvTotalSql = "select COUNT(de.id) as 'total' from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
                " on de.report_id = d.id  where  de.doubt_type=2  ";
        if (StringUtils.isNoneBlank(startDate)) {
            xiaolvTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
        }
        if (level==2){
            xiaolvTotalSql +=" and d.doctor_id IN (select dh.doctor_code from base_doctor_hospital dh where dh.dept_code = '" + dept + "' and dh.del=1 ) ";
        }
        Map<String, Object> xiaolvMap = jdbcTemplate.queryForMap(xiaolvTotalSql);
        if (xiaolvMap != null) {
            if (xiaolvMap.get("total") != null) {
                xiaolvDoubt = Integer.parseInt(xiaolvMap.get("total").toString());
        List<String> doubtListStr = doubtDoubtList.stream().map(e -> e.get("doubt_type").toString()).collect(Collectors.toList());
        for (String key:doubtTypeObj.keySet()){
            if (!doubtListStr.contains(key)){
                Map<String,Object>tmp = new HashMap<>();
                tmp.put("doubt_type",key);
                tmp.put("doubtTypeName",doubtTypeObj.get(key));
                tmp.put("total",0);
                doubtDoubtList.add(tmp);
            }
        }
        doubtDoubtList.sort(Comparator.comparing(e->e.get("doubt_type").toString()));
        Long  doubtTotal = jdbcTemplate.queryForObject(doubtTotalSql,Long.class);
        object.put("total", total);//总人次
        object.put("yishangbaoTotal", yishangbaoTotal);//已上报
        object.put("weishangbaoTotal", weishangbaoTotal);//未上报
        object.put("verifiedTotal", verifiedTotal);//已核实
        object.put("notVerifiedTotal", notVerifiedTotal);//未核实
        object.put("shangchuanTotal", shangchuanTotal);//上传总次数
        object.put("baoheDoubt", baoheDoubt);//不饱和存疑数量
        object.put("xiaolvDoubt", xiaolvDoubt);//效率存疑数量
        object.put("doubtTotal", baoheDoubt+xiaolvDoubt);//存疑总数
        object.put("doubtList", doubtDoubtList);//各存疑次数
        object.put("doubtTotal", doubtTotal);//存疑总数
        return object;
    }
@ -1709,7 +1902,7 @@ public class DailyReportUploadService {
        String doctorSql = " select COUNT(1) as \"total\" from base_doctor d where d.del=1 and d.identity=0 ";
        Integer total = 0;//总人次
        String sql = "select COUNT(DISTINCT d.id) as \"total\" from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
        String sql = "select COUNT(DISTINCT d.id) as \"total\" from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 LEFT join base_daily_report_detail de " +
                " on d.id = de.report_id where 1=1 ";
        String deptCondition = "";
        if (StringUtils.isNoneBlank(dept)) {
@ -1729,14 +1922,6 @@ public class DailyReportUploadService {
            doctorSql += " and d.name like '%" + name + "%' ";
        }
//        if (StringUtils.isNoneBlank(status)) {
//            if (status.equalsIgnoreCase("1")) {//已上报
//                doctorSql += " and d.id in(select d1.doctor_id from base_doctor_daily_report_upload d1 where 1=1 and d1.report_date >='" + startDate + "' and d1.report_date<='" + endDate + "' ) ";
//            } else if (status.equalsIgnoreCase("2")) {//未上报
//                doctorSql += " and d.id not in(select d1.doctor_id from base_doctor_daily_report_upload d1 where 1=1 and d1.report_date >='" + startDate + "' and d1.report_date<='" + endDate + "' ) ";
//            }
//        }
        Integer doctorTotal = jdbcTemplate.queryForObject(doctorSql,Integer.class);
        total = doctorTotal * (Integer.parseInt(day));
@ -1746,8 +1931,6 @@ public class DailyReportUploadService {
        Integer notVerified=0;//未核实
        Integer verified=0;//已核实
        Integer shangchuanTotal=0;//上传总次数
        Integer baoheDoubt=0;//饱和度存疑次数
        Integer xiaolvDoubt=0;//效益存疑数量
        if (StringUtils.isNoneBlank(startDate)) {
            sql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
@ -1770,7 +1953,7 @@ public class DailyReportUploadService {
        weishangbaoTotal = total - yishangbaoTotal>0?total - yishangbaoTotal:0;
        String shangchuanTotalSql = "select COUNT(1) as \"total\" from base_doctor_daily_report_upload d where 1=1  ";
        String shangchuanTotalSql = "select COUNT(d.id) as \"total\" from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 where 1=1  ";
        if (StringUtils.isNoneBlank(startDate)) {
            shangchuanTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
        }
@ -1785,47 +1968,82 @@ public class DailyReportUploadService {
        }
        //未核实数量
        String notVerifiedSql = "select COUNT(DISTINCT d.id) as 'total' from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
                " on d.id = de.report_id where de.state=0 ";
        String notVerifiedSql = "select COUNT(DISTINCT d.id) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 Left join base_daily_report_detail de " +
                " on d.id = de.report_id where d.state=0 ";
        //已核实数量
        String verifiedSql = "select COUNT(DISTINCT d.id) as 'total' from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
        String verifiedSql = "select COUNT(DISTINCT d.id) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 Left join base_daily_report_detail de " +
                " on d.id = de.report_id where d.state=1 ";
        //各存疑类型
        String doubtTypeSql = "select COUNT(DISTINCT de.id) as 'total',de.doubt_type from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 Left join base_daily_report_detail de " +
                " on d.id = de.report_id where de.state=1 ";
        //不饱和存疑
        String bubaoheSql = "select COUNT(DISTINCT de.id) as 'total' from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
                " on d.id = de.report_id where de.state=1 and de.doubt_type=1 ";
        //效率存疑
        String xiaolvSql = "select COUNT(DISTINCT de.id) as 'total' from base_doctor_daily_report_upload d inner join base_daily_report_detail de " +
                " on d.id = de.report_id where de.state=1 and de.doubt_type=2 ";
        sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        //存疑总数
        String doubtTotalSql = "select COUNT(DISTINCT de.id) as 'total' from base_doctor_daily_report_upload d INNER JOIN base_doctor doc on d.doctor_id = doc.id and doc.del=1 Left join base_daily_report_detail de " +
                " on d.id = de.report_id where de.state=1 and de.doubt_type<>0 ";
        sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(sql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        if (StringUtils.isNoneBlank(startDate)) {
            notVerifiedSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            verifiedSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            bubaoheSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            xiaolvSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            doubtTypeSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
            doubtTotalSql += " and d.report_date >='" + startDate + "' and d.report_date<='" + endDate + "' ";
        }
        if (StringUtils.isNoneBlank(deptCondition)) {
            notVerifiedSql += " and d.doctor_id IN " + deptCondition;
            verifiedSql += " and d.doctor_id IN " + deptCondition;
            bubaoheSql += " and d.doctor_id IN " + deptCondition;
            xiaolvSql += " and d.doctor_id IN " + deptCondition;
            doubtTypeSql += " and d.doctor_id IN " + deptCondition;
            doubtTotalSql += " and d.doctor_id IN " + deptCondition;
        }
        if (StringUtils.isNoneBlank(idTypeCondition)) {
            notVerifiedSql += " and d.doctor_id IN " + idTypeCondition;
            verifiedSql += " and d.doctor_id IN " + idTypeCondition;
            bubaoheSql += " and d.doctor_id IN " + idTypeCondition;
            xiaolvSql += " and d.doctor_id IN " + idTypeCondition;
            doubtTypeSql += " and d.doctor_id IN " + idTypeCondition;
            doubtTotalSql += " and d.doctor_id IN " + idTypeCondition;
        }
        if (StringUtils.isNoneBlank(name)) {
            notVerifiedSql += " and d.doctor_name like '%" + name + "%'";
            verifiedSql += " and d.doctor_name like '%" + name + "%'";
            bubaoheSql += " and d.doctor_name like '%" + name + "%'";
            xiaolvSql += " and d.doctor_name like '%" + name + "%'";
            doubtTypeSql += " and d.doctor_name like '%" + name + "%'";
            doubtTotalSql += " and d.doctor_name like '%" + name + "%'";
        }
        doubtTypeSql += " group by de.doubt_type ";
        notVerified = jdbcTemplate.queryForObject(notVerifiedSql,Integer.class);
        verified = jdbcTemplate.queryForObject(verifiedSql,Integer.class);
        baoheDoubt = jdbcTemplate.queryForObject(bubaoheSql,Integer.class);
        xiaolvDoubt = jdbcTemplate.queryForObject(xiaolvSql,Integer.class);
        List<Map<String,Object>> doubtDoubtList = jdbcTemplate.queryForList(doubtTypeSql);
        for (Map<String,Object>tmp:doubtDoubtList){
            String doubtType = tmp.get("doubt_type").toString();
            if(doubtTypeObj.containsKey(doubtType)){
                tmp.put("doubtTypeName",doubtTypeObj.get(doubtType));
            }else {
                tmp.put("doubtTypeName","其他");
            }
        }
        List<String> doubtListStr = doubtDoubtList.stream().map(e -> e.get("doubt_type").toString()).collect(Collectors.toList());
        for (String key:doubtTypeObj.keySet()){
            if (!doubtListStr.contains(key)){
                Map<String,Object>tmp = new HashMap<>();
                tmp.put("doubt_type",key);
                tmp.put("doubtTypeName",doubtTypeObj.get(key));
                tmp.put("total",0);
                doubtDoubtList.add(tmp);
            }
        }
        doubtDoubtList.sort(Comparator.comparing(e->e.get("doubt_type").toString()));
        Long  doubtTotal = jdbcTemplate.queryForObject(doubtTotalSql,Long.class);
        //上传总次数
        shangchuanTotal = jdbcTemplate.queryForObject(shangchuanTotalSql,Integer.class);
@ -1836,9 +2054,8 @@ public class DailyReportUploadService {
        object.put("notVerified", notVerified);//未核实数量
        object.put("verified", verified);//已核实数量
        object.put("shangchuanTotal", shangchuanTotal);//上传总次数
        object.put("baoheDoubt", baoheDoubt);//饱和度存疑次数
        object.put("xiaolvDoubt", xiaolvDoubt);//效率存疑次数
        object.put("doubtTotal", baoheDoubt+xiaolvDoubt);//存疑总数
        object.put("doubtList", doubtDoubtList);//各存疑次数
        object.put("doubtTotal", doubtTotal);//存疑总数
        return object;
    }
@ -2088,7 +2305,8 @@ public class DailyReportUploadService {
        if (null==reportItemDO){
            throw new Exception("日报项目不存在");
        }
        String sql = " select m.*,IFNULL(A.completion_hour,0) completion_hour,dh.dept_code,dh.dept_name from base_daily_report_item_members m  " +
        String sql = " select m.*,IFNULL(A.completion_hour,0) completion_hour,dh.dept_code,dh.dept_name from base_daily_report_item_members m " +
                " INNER JOIN base_doctor doc on m.user_id = doc.id and doc.del=1  " +
                "LEFT JOIN ( " +
                "select up.doctor_id,SUM(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) completion_hour " +
                " from base_doctor_daily_report_upload up " +
@ -2103,7 +2321,7 @@ public class DailyReportUploadService {
    /**
     * 管理员获取所有日报项目
     */
    public List<BaseDailyReportItemDO> findReportItemListAdmin(String user,String title,String content,Integer state,String begin_time,String end_time,String createUser,String createUserName) throws Exception {
    public List<BaseDailyReportItemDO> findReportItemListAdmin(String user,String projectCode,String title,String content,Integer state,String begin_time,String end_time,String createUser,String createUserName) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
@ -2111,6 +2329,9 @@ public class DailyReportUploadService {
        }
        List<BaseDailyReportItemDO> itemDOS = new ArrayList<>();
        sql = " select i.* from base_daily_report_item i where 1=1 and i.del=1 ";
        if(StringUtils.isNotBlank(projectCode)){
            sql += " and i.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(title)){
            sql +=" and i.title like '%"+title+"%' ";
        }
@ -2145,6 +2366,7 @@ public class DailyReportUploadService {
     */
    public List<BaseDailyReportItemDO> findReportItemList(String user,String projectCode,String title,String content,Integer state,String begin_time,String end_time,String createUser,String createUserName) throws Exception {
        String sql = "select i.* from base_daily_report_item i INNER JOIN base_daily_report_item_members mem on i.id = mem.report_item_id " +
                "INNER JOIN base_doctor doc on mem.user_id = doc.id and doc.del=1 " +
                "where i.del=1 and mem.del=1 and mem.user_id='"+user+"' " ;
        if (StringUtils.isNotBlank(projectCode)){
@ -2183,12 +2405,32 @@ public class DailyReportUploadService {
    /**
     * 管理员日报项目统计一级
     */
    public List<Map<String,Object>> statisticReportProjectList(String user, String projectCode,String startDate, String endDate,String dept,String member) throws Exception {
    public List<JSONObject> statisticReportProjectList(String user, String projectCode,String startDate, String endDate,String dept,String member) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
@ -2201,34 +2443,95 @@ public class DailyReportUploadService {
            sqlCondition += " and i.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(dept)){//查询指定部门
            sqlCondition += "  and i.dept='"+dept+"' ";
            sqlCondition += "  and dh.dept_code='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(member)){//查询指定员工
            sqlCondition += " and up.doctor_id='"+member+"' ";
        }
        String sqlList = "  select dict.dict_code project_code,dict.dict_value projectName,IFNULL( A.completionHour,0) 'completionHour', " +
                " IFNULL(A.doctorTotal,0) 'doctorTotal' from wlyy_hospital_sys_dict dict " +
                " IFNULL(A.doctorTotal,0) 'doctorTotal',B.dict_code 'categoryCode',B.dict_value 'categoryName',C.dict_code 'levelCode' ,C.dict_value 'levelName' from wlyy_hospital_sys_dict dict " +
                " Left JOIN (" +
                " select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
                " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  where i.del=1 "+sqlCondition+" GROUP BY i.project_code )A " +
                "on A.project_code = dict.dict_code where dict.dict_name='daily_report_project' ";
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1  where i.del=1 "+sqlCondition+" GROUP BY i.project_code )A " +
                "on A.project_code = dict.dict_code " +
                " INNER JOIN ( select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_category' )B on dict.saas_id = B.dict_code  " +
                " INNER JOIN ( select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_level' )C on dict.py_code = C.dict_code " +
                " where dict.dict_name='daily_report_project' ";
        if (StringUtils.isNotBlank(projectCode)){
            sqlList +=" and dict.dict_code='"+projectCode+"' ";
        }
        sqlList += "  order by sort, completionHour desc ";
        return jdbcTemplate.queryForList(sqlList);
        sqlList += "  order by B.sort asc, c.sort asc,completionHour desc ";
        List<Map<String,Object>> sqlResult =  jdbcTemplate.queryForList(sqlList);
        List<JSONObject> result = new ArrayList<>();
        if (sqlResult.size()>0){
            Map<String,List<Map<String,Object>>> sqlResultMap = sqlResult.stream().collect(Collectors.groupingBy(e -> e.get("categoryCode").toString()));
            for (String key: sqlResultMap.keySet()){
                JSONObject categoryTmp = new JSONObject();
                sql = " select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_category' and dict_code='"+key+"' ";
                Map<String,Object> dictValue = jdbcTemplate.queryForMap(sql);
                categoryTmp.put("categoryName",dictValue.get("dict_value"));
                categoryTmp.put("categoryCode",key);
                categoryTmp.put("sort",dictValue.get("sort"));
                JSONArray categoryList = new JSONArray();
                List<Map<String,Object>> listTmp = sqlResultMap.get(key);
                if (listTmp.size()>0){
                    Map<String,List<Map<String,Object>>> sqlResultMap2 = listTmp.stream().collect(Collectors.groupingBy(e -> e.get("levelCode").toString()));
                    for (String key2: sqlResultMap2.keySet()){
                        JSONObject levelTmp = new JSONObject();
                        sql = " select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_level' and dict_code='"+key2+"' ";
                        dictValue = jdbcTemplate.queryForMap(sql);
                        levelTmp.put("levelName",dictValue.get("dict_value"));
                        levelTmp.put("levelCode",key2);
                        levelTmp.put("sort",dictValue.get("sort"));
                        List<Map<String,Object>> listTmp2 = sqlResultMap2.get(key2);
                        levelTmp.put("value",listTmp2);
                        categoryList.add(levelTmp);
                    }
                }
                categoryTmp.put("value",categoryList);
                if (categoryList.size()>0){
                    categoryList.sort(Comparator.comparing(e->((JSONObject)e).getString("sort")));
                }
                result.add(categoryTmp);
            }
        }
        if (result.size()>0){
            result.sort(Comparator.comparing(e->e.getString("sort")));
        }
        return result;
    }
    /**
     * 管理员日报项目统计二级
     */
    public List<Map<String,Object>> statisticReportProjectDeptList(String user, String projectCode,String startDate, String endDate,String dept,String member) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
@ -2241,14 +2544,15 @@ public class DailyReportUploadService {
            sqlCondition += " and i.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(dept)){//查询指定部门
            sqlCondition += "  and i.dept='"+dept+"' ";
            sqlCondition += "  and dh.dept_code='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(member)){//查询指定员工
            sqlCondition += " and up.doctor_id='"+member+"' ";
        }
        String sqlList = " select i.dept,i.dept_name deptName,i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
                " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  where i.del=1 "+sqlCondition+" GROUP BY i.project_code,i.dept  ";
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1  where i.del=1 "+sqlCondition+" GROUP BY i.project_code,i.dept  ";
        sqlList += "  order by  completionHour desc ";
        return jdbcTemplate.queryForList(sqlList);
@ -2261,13 +2565,34 @@ public class DailyReportUploadService {
                                               String startDate, String endDate, String createUser,String createUserName, Integer page, Integer size,
                                               String dept,String member) throws Exception {
        page = page>0?page-1:0;
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        List<Map<String,Object>> itemDOS = new ArrayList<>();
        String sqlCondition = "  ";
        String updateTimeSql="";
        if (StringUtils.isNotBlank(startDate)){
            updateTimeSql += " and up.report_date>='"+startDate+"' ";
@ -2278,16 +2603,23 @@ public class DailyReportUploadService {
        if (StringUtils.isNotBlank(member)){
            updateTimeSql +=  " and up.doctor_id='"+member+"' ";
        }
        if (StringUtils.isNotBlank(dept)){//查询指定部门
            updateTimeSql += "  and dh.dept_code='"+dept+"' ";
        }
        String sqlList = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime, " +
                " i.create_user_name createUserName,IFNULL(A.completionHour,'0') completionHour ,IFNULL(A.doctorTotal,0) doctorTotal " +
                " from base_daily_report_item i  LEFT JOIN( " +
                " i.create_user_name createUserName,IFNULL(A.completionHour,'0') completionHour ,IFNULL(A.doctorTotal,0) doctorTotal ";
        String sqlCount = " select count(distinct i.id)  ";
        String sqlCondition = " from base_daily_report_item i  LEFT JOIN( " +
                " select de.report_item_id,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
                " count(distinct up.doctor_id) as doctorTotal " +
                "  from base_daily_report_detail de Inner JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +updateTimeSql+
                "  from base_daily_report_detail de Inner JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
                "  group by de.report_item_id " +
                " )A on i.id = A.report_item_id where i.del=1 ";
        String sqlCount = " select count(distinct i.id) from base_daily_report_item i where i.del=1 ";
        if (StringUtils.isNotBlank(title)){
            sqlCondition +=" and i.title like '%"+title+"%' ";
        }
@ -2306,13 +2638,11 @@ public class DailyReportUploadService {
        if (StringUtils.isNotBlank(projectCode)){
            sqlCondition += " and i.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(dept)){//查询指定部门
            sqlCondition += "  and i.dept='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(member)){
            sqlCondition += "  and exists (select 1 from base_daily_report_item_members mem where i.id =mem.report_item_id and mem.user_id='"+member+"' and mem.del=1  )";
            sqlCondition += "  and exists (select 1 from base_daily_report_item_members mem " +
                    " INNER JOIN base_doctor doc on mem.user_id = doc.id and doc.del=1 " +
                    " where i.id =mem.report_item_id and mem.user_id='"+member+"' and mem.del=1  )";
        }
        sqlList +=sqlCondition+ " group by i.id order by i.create_time,i.id desc limit "+page*size+","+size;
        itemDOS = jdbcTemplate.queryForList(sqlList);
        Long count = jdbcTemplate.queryForObject(sqlCount+sqlCondition,Long.class);
@ -2321,11 +2651,32 @@ public class DailyReportUploadService {
    public List<Map<String,Object>> statisticReportItemById(String user,String item_id,Integer type,String startDate,String endDate,
                                                            String dept,String member) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String updateTimeSql = " ";
        String itemSql = " ";
        if (StringUtils.isNotBlank(startDate)){
@ -2338,39 +2689,64 @@ public class DailyReportUploadService {
            updateTimeSql +=  " and up.doctor_id='"+member+"' ";
        }
        if (StringUtils.isNotBlank(dept)){
            itemSql += " and i.dept='"+dept+"' ";
            itemSql += " and dh.dept_code='"+dept+"' ";
        }
        if(1==type){//天
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                    "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +itemSql+
                    "group by i.id,DATE_FORMAT(de.create_time,'%Y-%m-%d') order by time asc ";
        }else if (2==type){//按周
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                    "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +itemSql+
                    "group by i.id,DATE_FORMAT(de.create_time,'%Y%v') order by time asc ";
        }else if (3==type){//月
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
                    " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up  on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                    "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +itemSql+
                    "group by i.id,DATE_FORMAT(de.create_time,'%Y-%m') order by time asc ";
        }else {
            throw new Exception("查询失败,请检查传入参数");
        }
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        //计算平均值和占比
        if (list.size()>0){
            Set<String> resultTimeList = new HashSet<>();
            Date startDateTmp = DateUtil.strToDate(startDate);
            Date endDateTmp = DateUtil.strToDate(endDate);
            if (type==1){
                for (;!startDateTmp.after(endDateTmp);){
                    resultTimeList.add(DateUtil.dateToStr(startDateTmp,DateUtil.YYYY_MM_DD));
                    startDateTmp = DateUtil.getNextDay1(startDateTmp,1);
                }
            } else if (type==2) {
                for (;!startDateTmp.after(endDateTmp);){
                    resultTimeList.add(DateUtil.getSundayOfThisWeek(startDateTmp));
                    startDateTmp = DateUtil.getNextWeek(startDateTmp,1);
                }
            }else if (type==3){
                for (;!startDateTmp.after(endDateTmp);){
                    resultTimeList.add(DateUtil.dateToStr(startDateTmp,DateUtil.YYYY_MM));
                    startDateTmp = DateUtil.getNextMonthReturnDate(startDateTmp,1);
                }
            }
            OptionalDouble avg =  list.stream().mapToDouble(t -> t.get("completionHour") == null ? 0.0 :Double.parseDouble(t.get("completionHour").toString())).average();
            Double totalHour =  list.stream().mapToDouble(t -> t.get("completionHour") == null ? 0.0 :Double.parseDouble(t.get("completionHour").toString())).sum();
            Double avgValue = avg.getAsDouble();
            for (Map<String,Object>tmp :list){
            Iterator<Map<String,Object>> it = list.iterator();
            //计算平均值和占比
            while (it.hasNext()){
                Map<String, Object> tmp = it.next();
                tmp.put("avgValue",avgValue);
                Double completionHour = Double.valueOf(tmp.get("completionHour").toString());
                tmp.put("timeRange",getRangeDouble(completionHour,totalHour));
@ -2379,17 +2755,33 @@ public class DailyReportUploadService {
                    String sunday = DateUtil.getSundayOfThisWeek(DateUtil.strToDate(time));
                    tmp.put("time",sunday);
                }
                String tmpTime =  tmp.get("time").toString();
                if (resultTimeList.contains(tmpTime)){
                    resultTimeList.remove(tmpTime);
                }
            }
            for (String tmpTime:resultTimeList){
                Map<String, Object> tmp =  new HashMap<>();
                tmp.put("avgValue",avgValue);
                tmp.put("time",tmpTime);
                tmp.put("completionHour","0");
                tmp.put("doctorTotal","0");
                list.add(tmp);
            }
            list.sort(Comparator.comparing(obj -> obj.get("time").toString()));
        }
        return list;
    }
    public List<Map<String,Object>> statisticReportItemMembersById(String user,String item_id,Integer type,String member,String startDate,String endDate ) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        String memberSql = " ";
        if (StringUtils.isNotBlank(member)){
            memberSql = " and up.doctor_id='"+member+"' ";
@ -2409,7 +2801,7 @@ public class DailyReportUploadService {
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time'," +
                    " DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +memberSql+
                    "group by i.id,up.doctor_id order by completionHour desc ";
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m-%d') ";
@ -2420,7 +2812,7 @@ public class DailyReportUploadService {
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    "DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +
                    "group by i.id,up.doctor_id  order by time asc ";
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m-%d') ";
@ -2430,7 +2822,7 @@ public class DailyReportUploadService {
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    "DATE_FORMAT(de.create_time,'%Y%v') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +memberSql+
                    "group by i.id,up.doctor_id  order by time asc ";
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y%v') ";
@ -2440,7 +2832,7 @@ public class DailyReportUploadService {
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
                    "DATE_FORMAT(de.create_time,'%Y-%m') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +updateTimeSql+
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
                    "where 1=1 and i.id='"+item_id+"' " +memberSql+
                    "group by i.id,up.doctor_id  order by time asc ";
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m') ";
@ -2451,6 +2843,28 @@ public class DailyReportUploadService {
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        //计算平均值和占比
        if (list.size()>0){
            Set<String> resultTimeList = new HashSet<>();
            Date startDateTmp = DateUtil.strToDate(startDate);
            Date endDateTmp = DateUtil.strToDate(endDate);
            if (type==1){
                for (;!startDateTmp.after(endDateTmp);){
                    resultTimeList.add(DateUtil.dateToStr(startDateTmp,DateUtil.YYYY_MM_DD));
                    startDateTmp = DateUtil.getNextDay1(startDateTmp,1);
                }
            } else if (type==2) {
                for (;!startDateTmp.after(endDateTmp);){
                    startDateTmp = DateUtil.strToDate(DateUtil.getSundayOfThisWeek(startDateTmp));
                    resultTimeList.add(DateUtil.getSundayOfThisWeek(startDateTmp));
                    startDateTmp = DateUtil.getNextWeek(startDateTmp,1);
                }
            }else if (type==3){
                for (;!startDateTmp.after(endDateTmp);){
                    resultTimeList.add(DateUtil.dateToStr(startDateTmp,DateUtil.YYYY_MM));
                    startDateTmp = DateUtil.getNextMonthReturnDate(startDateTmp,1);
                }
            }
            OptionalDouble avg =  list.stream().mapToDouble(t -> t.get("completionHour") == null ? 0.0 :Double.parseDouble(t.get("completionHour").toString())).average();
            Double totalHour =  list.stream().mapToDouble(t -> t.get("completionHour") == null ? 0.0 :Double.parseDouble(t.get("completionHour").toString())).sum();
            Double avgValue = avg.getAsDouble();
@ -2460,17 +2874,31 @@ public class DailyReportUploadService {
                tmp.put("timeRange",getRangeDouble(completionHour,totalHour));
                String doctorId = tmp.get("doctor_id").toString();
                sql = " select up.doctor_name,"+uploadTimeFormat+" as report_date ,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour " +
                        " from base_daily_report_detail de  INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id  " +updateTimeSql+
                        " from base_daily_report_detail de  INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +updateTimeSql+
                        "where  de.report_item_id='"+item_id+"' and up.doctor_id='"+doctorId+"' " +
                        "GROUP BY "+searchTimeFormat+" ORDER BY report_date asc ";
                List<Map<String,Object>> timeUseList = jdbcTemplate.queryForList(sql);
                if(2==type){//获取周的最后一天
                    for (Map<String,Object>timeUseTmp :timeUseList){
                Set searchTimeList = new HashSet();
                for (Map<String,Object>timeUseTmp :timeUseList){
                    if (2==type){
                        String time = timeUseTmp.get("report_date").toString();
                        String sunday = DateUtil.getSundayOfThisWeek(DateUtil.strToDate(time));
                        timeUseTmp.put("report_date",sunday);
                    }
                    String time = timeUseTmp.get("report_date").toString();
                    searchTimeList.add(time);
                }
                if (type!=0){
                    for (String tmpTime:resultTimeList){
                        if (!searchTimeList.contains(tmpTime)){
                            Map<String,Object> mapTmp = new HashMap<>();
                            mapTmp.put("report_date",tmpTime);
                            mapTmp.put("completionHour",0);
                            timeUseList.add(mapTmp);
                        }
                    }
                }
                timeUseList.sort(Comparator.comparing(obj -> obj.get("report_date").toString()));
                tmp.put("timeUseList",timeUseList);
            }
@ -2483,11 +2911,32 @@ public class DailyReportUploadService {
     * 获取某个部门的项目趋势图一级
     */
    public List<Map<String,Object>> statisticDeptProjectTrend(String user,String dept,String startDate,String endDate,Integer type) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
            sqlCondition += " and up.report_date>='"+startDate+"' ";
@ -2495,6 +2944,9 @@ public class DailyReportUploadService {
        if (StringUtils.isNotBlank(endDate)){
            sqlCondition += " and up.report_date<='"+endDate+"' ";
        }
        if(StringUtils.isNotBlank(dept)){
            sqlCondition += " and dh.dept_code='"+dept+"' ";
        }
        String groupTimeFormat = "";
        String uploadTimeFormat = "";
        if(0==type){//全部
@ -2515,13 +2967,25 @@ public class DailyReportUploadService {
        }
        String projectSql = " select  dict.dict_code project_code,dict.dict_value projectName " +
                " from wlyy_hospital_sys_dict dict INNER JOIN base_daily_report_item i on i.project_code = dict.dict_code " +
                " where dict.dict_name='daily_report_project' and i.dept='"+dept+"'" +
                "GROUP BY dict.dict_code ";
                " where dict.dict_name='daily_report_project' ";
        if (StringUtils.isNotBlank(dept)){
            projectSql += "   and i.dept='"+dept+"'";
        }
        projectSql +="GROUP BY dict.dict_code ";
        projectSql += " union "+
                " select i.project_code,i.project_name projectName" +
                " from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id  " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 \n" +
                "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 where i.del=1  " +sqlCondition+
                " GROUP BY i.id ";
        List<Map<String,Object>> deptProjectList = jdbcTemplate.queryForList(projectSql);
        String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
                " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
                " from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id  " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  where i.del=1 and i.dept='"+dept+"' and i.project_code='{project_code}'  "+sqlCondition+
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +
                " INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 where i.del=1  and i.project_code='{project_code}'  "+sqlCondition+
                " GROUP BY "+groupTimeFormat+" order by time asc";
        for (Map<String,Object>tmp:deptProjectList){
            String project_code = tmp.get("project_code").toString();
@ -2539,9 +3003,15 @@ public class DailyReportUploadService {
                        useTimeTmp.put("time",sunday);
                    }
                }
            }else {
                tmp.put("avgValue",0.0);
                tmp.put("totalHour",0.0);
            }
            tmp.put("useTimeList",useTimeList);
        }
        if (deptProjectList.size()>0){
            deptProjectList.sort(Comparator.comparing(obj -> ((Map<String,Object>) obj).get("totalHour").toString()).reversed());
        }
        return deptProjectList;
    }
@ -2549,11 +3019,32 @@ public class DailyReportUploadService {
     * 获取某个部门的某个项目详情趋势图二级
     */
    public List<Map<String,Object>> statisticDeptProjectItemTrend(String user,String dept,String projectCode,String startDate,String endDate,Integer type) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
            sqlCondition += " and up.report_date>='"+startDate+"' ";
@ -2561,6 +3052,9 @@ public class DailyReportUploadService {
        if (StringUtils.isNotBlank(endDate)){
            sqlCondition += " and up.report_date<='"+endDate+"' ";
        }
        if(StringUtils.isNotBlank(dept)){
            sqlCondition+= " and dh.dept_code='"+dept+"' ";
        }
        String groupTimeFormat = "";
        String uploadTimeFormat = "";
        if(0==type){//全部
@ -2581,14 +3075,51 @@ public class DailyReportUploadService {
        }
        String projectSql = "  select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime, " +
                " i.end_time endTime, i.create_user_name createUserName " +
                "  from  base_daily_report_item i  where  i.project_code='"+projectCode+"' and  i.dept='"+dept+"' " +
                "  GROUP BY i.id ";
                "  from  base_daily_report_item i  where  i.project_code='"+projectCode+"' " ;
        if (StringUtils.isNotBlank(dept)){
            projectSql+=" and  i.dept='"+dept+"' ";
        }
        projectSql +="  GROUP BY i.id ";
        projectSql += " union "+
                " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime, " +
                " i.end_time endTime, i.create_user_name createUserName  " +
                "from  base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id " +
                " and doc.del=1    INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 where i.del=1 and i.project_code='"+projectCode+"'  " +sqlCondition+
                " GROUP BY i.id ";
        List<Map<String,Object>> deptProjectItemList = jdbcTemplate.queryForList(projectSql);
        String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
                " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
                " from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id  " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  where i.del=1 and i.dept='"+dept+"' and i.id='{itemId}'  "+sqlCondition+
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +
                "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 where i.del=1  and i.id='{itemId}'  "+sqlCondition+
                " GROUP BY "+groupTimeFormat+" order by time asc";
        Set<String> resultTimeList = new HashSet<>();
        if (deptProjectItemList.size()>0){
           if (StringUtils.isNotBlank(startDate)){
               Date startDateTmp = DateUtil.strToDate(startDate);
               Date endDateTmp = DateUtil.strToDate(endDate);
               if (type==1){
                   for (;!startDateTmp.after(endDateTmp);){
                       resultTimeList.add(DateUtil.dateToStr(startDateTmp,DateUtil.YYYY_MM_DD));
                       startDateTmp = DateUtil.getNextDay1(startDateTmp,1);
                   }
               } else if (type==2) {
                   for (;!startDateTmp.after(endDateTmp);){
                       startDateTmp = DateUtil.strToDate(DateUtil.getSundayOfThisWeek(startDateTmp));
                       resultTimeList.add(DateUtil.getSundayOfThisWeek(startDateTmp));
                       startDateTmp = DateUtil.getNextWeek(startDateTmp,1);
                   }
               }else if (type==3){
                   for (;!startDateTmp.after(endDateTmp);){
                       resultTimeList.add(DateUtil.dateToStr(startDateTmp,DateUtil.YYYY_MM));
                       startDateTmp = DateUtil.getNextMonthReturnDate(startDateTmp,1);
                   }
               }
           }
       }
        for (Map<String,Object>tmp:deptProjectItemList){
            String itemId = tmp.get("id").toString();
            List<Map<String,Object>> useTimeList = jdbcTemplate.queryForList(sqlList.replace("{itemId}",itemId));
@ -2598,16 +3129,42 @@ public class DailyReportUploadService {
                Double avgValue = avg.getAsDouble();
                tmp.put("avgValue",avgValue);
                tmp.put("totalHour",totalHour);
                if(2==type){//获取周的最后一天
                    for (Map<String,Object>useTimeTmp :useTimeList){
                Set searchTimeList = new HashSet();
                for (Map<String,Object>useTimeTmp :useTimeList){
                    if(2==type){
                        String time = useTimeTmp.get("time").toString();
                        String sunday = DateUtil.getSundayOfThisWeek(DateUtil.strToDate(time));
                        useTimeTmp.put("time",sunday);
                    }
                    String time = useTimeTmp.get("time").toString();
                    searchTimeList.add(time);
                }
                if (type!=0){
                    for (String tmpTime:resultTimeList){
                        if (!searchTimeList.contains(tmpTime)){
                            Map<String,Object> mapTmp = new HashMap<>();
                            mapTmp.put("time",tmpTime);
                            mapTmp.put("completionHour",0);
                            mapTmp.put("doctorTotal",0);
                            useTimeList.add(mapTmp);
                        }
                    }
                }
            }else {
                tmp.put("avgValue",0.0);
                tmp.put("totalHour",0.0);
            }
            if(useTimeList.size()>0){
                useTimeList.sort(Comparator.comparing(e->e.get("time").toString()));
            }
            tmp.put("useTimeList",useTimeList);
        }
        if (deptProjectItemList.size()>0){
            deptProjectItemList.sort(Comparator.comparing(obj -> ((Map<String,Object>) obj).get("totalHour").toString()).reversed());
        }
        return deptProjectItemList;
    }
@ -2615,11 +3172,32 @@ public class DailyReportUploadService {
     * 获取员工项目趋势图一级
     */
    public List<Map<String,Object>> statisticDoctorProjectTrend(String user,String dept,String memberId,String startDate,String endDate,Integer type) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
            sqlCondition += " and up.report_date>='"+startDate+"' ";
@ -2648,13 +3226,16 @@ public class DailyReportUploadService {
        String projectSql = " select  dict.dict_code project_code,dict.dict_value projectName,i.dept " +
                " from wlyy_hospital_sys_dict dict INNER JOIN base_daily_report_item i on i.project_code = dict.dict_code " +
                " INNER JOIN base_daily_report_item_members mem on i.id =mem.report_item_id " +
                " where dict.dict_name='daily_report_project' and i.dept='"+dept+"'  and mem.user_id='"+memberId+"' and mem.del=1 " +
                " INNER JOIN base_doctor doc on mem.user_id = doc.id and doc.del=1 " +
                " INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                " where dict.dict_name='daily_report_project' and dh.dept_code='"+dept+"'  and mem.user_id='"+memberId+"' and mem.del=1 " +
                " GROUP BY dict.dict_code; ";
        List<Map<String,Object>> deptProjectList = jdbcTemplate.queryForList(projectSql);
        String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
                " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
                " from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id  " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  where up.doctor_id='"+memberId+"' and i.del=1 and i.dept='"+dept+"' and i.project_code='{project_code}'  "+sqlCondition+
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                " INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 where up.doctor_id='"+memberId+"' and i.del=1 and dh.dept_code='"+dept+"' and i.project_code='{project_code}'  "+sqlCondition+
                " GROUP BY "+groupTimeFormat+" order by time asc";
        for (Map<String,Object>tmp:deptProjectList){
            String project_code = tmp.get("project_code").toString();
@ -2672,9 +3253,15 @@ public class DailyReportUploadService {
                        useTimeTmp.put("time",sunday);
                    }
                }
            }else {
                tmp.put("totalHour",0.0);
                tmp.put("avgValue",0.0);
            }
            tmp.put("useTimeList",useTimeList);
        }
        if(deptProjectList.size()>0){
            deptProjectList.sort(Comparator.comparing(obj -> ((Map<String,Object>) obj).get("totalHour").toString()).reversed());
        }
        return deptProjectList;
    }
@ -2682,11 +3269,31 @@ public class DailyReportUploadService {
     * 获取员工某个项目详情趋势图二级
     */
    public List<Map<String,Object>> statisticDoctorProjectItemTrend(String user,String dept,String memberId,String projectCode,String startDate,String endDate,Integer type) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
            sqlCondition += " and up.report_date>='"+startDate+"' ";
@ -2715,13 +3322,18 @@ public class DailyReportUploadService {
        String projectSql = "  select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime, " +
                " i.end_time endTime, i.create_user_name createUserName " +
                "  from  base_daily_report_item i INNER JOIN base_daily_report_item_members mem on i.id =mem.report_item_id " +
                " where  i.project_code='"+projectCode+"' and mem.user_id='"+memberId+"' and mem.del=1 and  i.dept='"+dept+"' " +
                " INNER JOIN base_doctor doc on mem.user_id = doc.id and doc.del=1 " +
                " INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                " where  i.project_code='"+projectCode+"' and mem.user_id='"+memberId+"' and mem.del=1 and  dh.dept_code='"+dept+"' " +
                "  GROUP BY i.id ";
        List<Map<String,Object>> deptProjectItemList = jdbcTemplate.queryForList(projectSql);
        String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
                " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
                " from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id  " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  where i.del=1 and up.doctor_id='"+memberId+"' and i.dept='"+dept+"' and i.id='{itemId}'  "+sqlCondition+
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +
                " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                " INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "  where i.del=1 and up.doctor_id='"+memberId+"' and dh.dept_code='"+dept+"' and i.id='{itemId}'  "+sqlCondition+
                " GROUP BY "+groupTimeFormat+" order by time asc";
        for (Map<String,Object>tmp:deptProjectItemList){
            String itemId = tmp.get("id").toString();
@ -2739,12 +3351,394 @@ public class DailyReportUploadService {
                        useTimeTmp.put("time",sunday);
                    }
                }
            }else {
                tmp.put("avgValue",0.0);
                tmp.put("totalHour",0.0);
            }
            tmp.put("useTimeList",useTimeList);
        }
        if (deptProjectItemList.size()>0){
            deptProjectItemList.sort(Comparator.comparing(obj -> ((Map<String,Object>) obj).get("totalHour").toString()).reversed());
        }
        return deptProjectItemList;
    }
    /**
     * 统计各存疑数量
     * @param user
     * @param projectCode
     * @param item_id
     * @param dept
     * @param memberId
     * @param startDate
     * @param endDate
     * @return
     */
    public JSONObject statisticDetailHeaderInfo(String user,String projectCode,String item_id,String dept,String memberId,String startDate,String endDate) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(sql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        JSONObject result = new JSONObject();
        Date startDateTmp = DateUtil.getDateStart();
        if (StringUtils.isBlank(endDate)){
            endDate = DateUtil.dateToStrLong(DateUtil.getDateEnd());
        }
        //以项目开始时间 or 员工第一次提交时间开始计算。
        if (StringUtils.isNotBlank(memberId)){
            sql = " select min(report_date) from base_doctor_daily_report_upload where doctor_id='"+memberId+"' ";
            List<String> startResult = jdbcTemplate.queryForList(sql,String.class);
            if (startResult.size()>0){
                startDateTmp = DateUtil.strToDate(startResult.get(0));
            }
        }else {
            sql = " select min(begin_time) from base_daily_report_item where begin_time is not null  ";
            if (StringUtils.isNotBlank(projectCode)){
                sql += "  and project_code='"+projectCode+"' ";
            }
            if (StringUtils.isNotBlank(item_id)){
                sql += "  and id='"+item_id+"' ";
            }
            if (StringUtils.isNotBlank(dept)){
                sql +=" and dept='"+dept+"' ";
            }
            List<String> startResult = jdbcTemplate.queryForList(sql,String.class);
            if (startResult.size()>0){
                startDateTmp = DateUtil.strToDate(startResult.get(0));
            }
        }
        if (StringUtils.isNotBlank(startDate)){
            if(startDateTmp.after(DateUtil.strToDate(startDate))){
                startDate = DateUtil.dateToStrLong(startDateTmp);
            }
        }else {
            startDate = DateUtil.dateToStrLong(startDateTmp);
        }
        String sqlWhere = "  ";
        if (StringUtils.isNotBlank(projectCode)){
            sqlWhere += "  and rd.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(item_id)){
            sqlWhere += "  and rd.report_item_id='"+item_id+"' ";
        }
        if (StringUtils.isNotBlank(dept)){
            sqlWhere +=" and dh.dept_code='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(memberId)){
            sqlWhere +=" and up.doctor_id='"+memberId+"' ";
        }
        Long members = 0l;
        String memberSql = " select count(distinct mem.user_id) from base_daily_report_item it  " +
                "inner join base_daily_report_item_members mem on it.id = mem.report_item_id and mem.del=1 " +
                "INNER JOIN base_doctor doc on mem.user_id = doc.id and doc.del=1 " +
                "INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_doctor_daily_report_upload up on doc.id = up.doctor_id " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id and rd.report_item_id = it.id where 1=1 "+sqlWhere;
        members = jdbcTemplate.queryForObject(memberSql,Long.class);
        if (StringUtils.isNotBlank(startDate)) {
            sqlWhere += " and up.report_date>='"+DateUtil.strToStrShort(startDate) +"' ";
        }if (StringUtils.isNotBlank(endDate)){
            sqlWhere += "  and up.report_date<='"+DateUtil.strToStrShort(endDate)+"' ";
        }
        Long workDays=0l;
        if (StringUtils.isNotBlank(startDate)&&StringUtils.isNotBlank(endDate)) {
            workDays = DateUtil.getWorkDays(startDate, endDate);
        }
        String shangchuanSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
                " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id " +
                "inner join base_daily_report_item i on i.id = rd.report_item_id and i.del=1 where 1=1 " +
                "and DATE_FORMAT(up.report_date,'%w') BETWEEN 1 and 5  "+sqlWhere;
        //只计算出周一到周五上传的数量去求未上传
        Long shangchuanTotal = jdbcTemplate.queryForObject(shangchuanSql,Long.class);
        Double acWorkHours = 0d;
        Long needWorkHours = workDays*members*8;
        Long urgingTotal=0l;
        String urgingSql = " select count(id) from base_daily_urging_record where create_time>='"+startDate+"' and create_time<='endDate' ";
        if (StringUtils.isNotBlank(projectCode)){
            urgingSql += "  and project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(item_id)){
            urgingSql += "  and report_item_id='"+item_id+"' ";
        }
        if (StringUtils.isNotBlank(dept)){
            urgingSql +=" and dept='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(memberId)){
            urgingSql +=" and receive_doctor='"+memberId+"' ";
        }
        urgingTotal = jdbcTemplate.queryForObject(urgingSql,Long.class);
        String acWorkHoursSql = " select sum(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) 'completion_hour' " +
                " from base_doctor_daily_report_upload up  " +
                "INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id " +
                " inner join base_daily_report_item i on i.id = rd.report_item_id and i.del=1  where 1=1 " +
                " "+sqlWhere;
        acWorkHours = jdbcTemplate.queryForObject(acWorkHoursSql,Double.class);
        String doubtTypeSql = " select count(distinct rd.id) as total,rd.doubt_type " +
                " from base_doctor_daily_report_upload up  " +
                "INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id " +
                "inner join base_daily_report_item i on i.id = rd.report_item_id and i.del=1 where 1=1 " +
                " "+sqlWhere+" and rd.doubt_type is not null group by rd.doubt_type";
        List<Map<String,Object>> doubtTypeList = jdbcTemplate.queryForList(doubtTypeSql);
        for (Map<String,Object>tmp:doubtTypeList){
            String doubtType = tmp.get("doubt_type").toString();
            if(doubtTypeObj.containsKey(doubtType)){
                tmp.put("doubtTypeName",doubtTypeObj.get(doubtType));
            }else {
                tmp.put("doubtTypeName","其他");
            }
        }
        List<String> doubtListStr = doubtTypeList.stream().map(e -> e.get("doubt_type").toString()).collect(Collectors.toList());
        for (String key:doubtTypeObj.keySet()){
            if (!doubtListStr.contains(key)){
                Map<String,Object>tmp = new HashMap<>();
                tmp.put("doubt_type",key);
                tmp.put("doubtTypeName",doubtTypeObj.get(key));
                tmp.put("total",0);
                doubtTypeList.add(tmp);
            }
        }
        doubtTypeList.sort(Comparator.comparing(e->e.get("doubt_type").toString()));
        //员工离职or中途加入到项目中的会导致统计出来的数据发生变化
        result.put("weishangbao",((workDays*members-shangchuanTotal))<0?0:(workDays*members-shangchuanTotal));//未上报 工作日次数-总上报次数
        result.put("doubtList",doubtTypeList);
        result.put("urgingTotal",urgingTotal);//启动催出
        result.put("acWorkHours",acWorkHours);//实际工作时长
        result.put("needWorkHours",needWorkHours);//应工作时长
        String doctorTypeSql = " select sum(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) 'completion_hour',count(distinct doc.id) as doctorTotal,IFNULL(dh.doctor_duty_name,'其他') as 'doctor_duty_name' " +
                " from base_doctor_daily_report_upload up  " +
                "INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id " +
                "inner join base_daily_report_item i on i.id = rd.report_item_id and i.del=1 where 1=1 " +
                " "+sqlWhere+" group by doctor_duty_code ";
        List<Map<String,Object>> doctorTypeHourList = jdbcTemplate.queryForList(doctorTypeSql);
        result.put("doctorTypeHourList",doctorTypeHourList);//按人员统计总用时与参与人数
        return result;
    }
    public List<Map<String,Object>> statisticWorkTypeInfo(String user,String  projectCode,String  item_id,String  dept,String memberId,String  startDate,String endDate) throws Exception {
        //判断导出人权限
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlWhere = "  ";
        if (StringUtils.isNotBlank(projectCode)){
            sqlWhere += "  and rd.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(item_id)){
            sqlWhere += "  and rd.report_item_id='"+item_id+"' ";
        }
        if (StringUtils.isNotBlank(dept)){
            sqlWhere +=" and dh.dept_code='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(memberId)){
            sqlWhere +=" and up.doctor_id='"+memberId+"' ";
        }
        if (StringUtils.isNotBlank(startDate)){
            sqlWhere +=" and up.report_date>='"+startDate+"' ";
        }
        if (StringUtils.isNotBlank(endDate)){
            sqlWhere +=" and up.report_date<='"+endDate+"' ";
        }
        sql = " select sum(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) 'completion_hour',rd.work_type_name " +
                " from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id  where 1=1  " +
                " "+sqlWhere+" group by rd.work_type_name ";
        return jdbcTemplate.queryForList(sql);
    }
    public PageEnvelop searchReportDetailListInfo(String user,String projectCode,String item_id,String dept,String memberName,
                                                               String  workTypeName,String doubt,Integer urgeFlag,String startDate,String endDate,Integer page,Integer pageSize) throws Exception {
        page = page>0?page-1:0;
        String sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(sql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        //判断导出人权限
        sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }else {
            String role_code = userRoles.get(0).get("role_code").toString();
            if ("admin".equals(role_code)){
            } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
                if(StringUtils.isBlank(dept)){
                    sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
                            " and doc.del=1 and dh.del=1 where doc.id='"+user+"' ";
                    List<String> userDept = jdbcTemplate.queryForList(sql,String.class);
                    if (userDept.size()>0){
                        dept = userDept.get(0);
                    }else {
                        throw new Exception("您无权限操作");
                    }
                }
            }else {
                throw new Exception("您无权限操作");
            }
        }
        String sqlWhere = "  ";
        String sqlUrgeWhere = "  ";
        if (StringUtils.isNotBlank(projectCode)){
            sqlWhere += "  and rd.project_code='"+projectCode+"' ";
            sqlUrgeWhere += "  and ur.project_code='"+projectCode+"' ";
        }
        if (StringUtils.isNotBlank(item_id)){
            sqlWhere += "  and rd.report_item_id='"+item_id+"' ";
            sqlUrgeWhere += "  and ur.report_item_id='"+item_id+"' ";
        }
        if (StringUtils.isNotBlank(dept)){
            sqlWhere +=" and dh.dept_code='"+dept+"' ";
            sqlUrgeWhere +=" and ur.dept='"+dept+"' ";
        }
        if (StringUtils.isNotBlank(memberName)){
            sqlWhere +=" and doc.name like '%"+memberName+"%' ";
            sqlUrgeWhere +=" and doc.name like '%"+memberName+"%' ";
        }
        if (StringUtils.isNotBlank(workTypeName)){
            sqlWhere +=" and rd.work_type_name='"+workTypeName+"' ";
        }
        if (StringUtils.isNotBlank(doubt)){
            sqlWhere +=" and rd.doubt='"+doubt+"' ";
        }
        if (StringUtils.isNotBlank(startDate)){
            sqlWhere +=" and up.report_date>='"+startDate+"' ";
            sqlUrgeWhere +=" and ur.create_time>='"+startDate+"' ";
        }
        if (StringUtils.isNotBlank(endDate)){
            sqlWhere +=" and up.report_date<='"+endDate+"' ";
            sqlUrgeWhere +=" and ur.create_time<='"+endDate+"' ";
        }
       String  reportSql = " select up.id,'report' as 'itemType',dh.dept_name,doc.id doctorCode,doc.name,CONCAT(rd.project_name,'(',rd.report_item_name,')') as 'projectNameStr', " +
               " rd.project_name,rd.report_item_name,CONCAT(rd.work_type_name,'(',rd.report_content,')') as 'workContent', " +
               " rd.work_type_name,rd.report_content,up.report_date,IFNULL(rd.actual_completion_hour,rd.completion_hour) 'completionHour', " +
               " rd.doubt,rd.doubt_type,rd.verification_user_name,rd.remark  " +
               "from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
               "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
               "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id  where 1=1 "+sqlWhere+" ";
        String  reportSqlCount = " select count(*)  as total " +
                "from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id  where 1=1 "+sqlWhere+" ";
        String urgeSql = " select ur.code as id,'urge' as 'itemType',dh.dept_name,doc.id doctorCode,doc.name,CONCAT(ur.project_name,'(',ur.report_item_name,')') as 'projectNameStr',  " +
                " ur.project_name,ur.report_item_name,'启动催促' as 'workContent',  " +
                " '' as 'work_type_name','' as 'rd.report_content',date_format(ur.create_time,'%Y-%m-%d' ) as 'report_date','' as 'completionHour', " +
                " '' as 'doubt', '' as 'doubt_type' , ur.create_user_name as 'verification_user_name' , ur.remark " +
                " from base_daily_urging_record ur  " +
                " INNER JOIN base_doctor doc on ur.receive_doctor = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 "+sqlUrgeWhere;
        String urgeSqlCount = " select count(*) as total " +
                " from base_daily_urging_record ur  " +
                " INNER JOIN base_doctor doc on ur.receive_doctor = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 "+sqlUrgeWhere;
        List<Map<String,Object>> result = new ArrayList<>();
        String sqlCount = " ";
        if (null==urgeFlag||0==urgeFlag){
            sql = reportSql+" UNION " +urgeSql;
            sqlCount = reportSqlCount+" UNION ALL " +urgeSqlCount;
        }else if (1==urgeFlag){
            sql = reportSql;
            sqlCount = reportSqlCount;
        }else if (2==urgeFlag){
            sql = urgeSql;
            sqlCount = urgeSqlCount;
        }else {
            throw new Exception("传参错误");
        }
        sql += " order by report_date desc,doctorCode desc limit  "+page*pageSize+","+pageSize;
        result = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> tmp:result){
            tmp.put("doubt_type_name",null==tmp.get("doubt_type")?"":StringUtils.isBlank(tmp.get("doubt_type").toString())?"":doubtTypeObj.getString(tmp.get("doubt_type").toString()));
        }
        Long count = jdbcTemplate.queryForObject(" select sum(total) from ("+sqlCount+")A ",Long.class);
        return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
    }
    /**
     * 导出项目计划周报月报用时情况
@ -2777,8 +3771,8 @@ public class DailyReportUploadService {
            startTime =  DateUtil.getMondayOfThisWeek(DateUtil.strToDate(date))+" 00:00:00";
            endTime =  DateUtil.getSundayOfThisWeek(DateUtil.strToDate(date))+" 23:59:59";
        }else if (2==type){//月报
            startTime =  DateUtil.getFristDayOfMonthThisDate(new Date())+" 00:00:00";
            endTime =  DateUtil.getLastDayOfMonthThisDate(new Date())+" 23:59:59";
            startTime =  DateUtil.getFristDayOfMonthThisDate(DateUtil.strToDate(date))+" 00:00:00";
            endTime =  DateUtil.getLastDayOfMonthThisDate(DateUtil.strToDate(date))+" 23:59:59";
        }else {
            throw new Exception("导出失败,请检查传入参数");
        }
@ -2799,8 +3793,8 @@ public class DailyReportUploadService {
                "it.title,it.content,rd.sort,rd.report_content,IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0)) 'completion_hour', " +
                "DATE_FORMAT(rd.create_time,'%Y-%m-%d %H:%i:%S') create_time,DATE_FORMAT(rd.verification_time,'%Y-%m-%d %H:%i:%S') verification_time," +
                " CASE rd.state WHEN 1 THEN '已核实' ELSE '未核实' END as 'verification_state',rd.verification_user_name,CASE rd.doubt WHEN 1 THEN '存疑' ELSE '无存疑' END as 'doubt', " +
                " CASE rd.doubt WHEN 1 THEN '不饱和存疑' WHEN 2 THEN '效率存疑' ELSE null END as 'doubtType', rd.remark " +
                "from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id  " +
                " rd.doubt_type doubtType, rd.remark " +
                "from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +
                "INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 LEFT JOIN  " +
                "base_daily_report_detail rd on up.id = rd.report_id " +
                "LEFT JOIN base_daily_report_item it on rd.report_item_id = it.id " +
@ -2848,8 +3842,8 @@ public class DailyReportUploadService {
            startTime =  DateUtil.getMondayOfThisWeek(DateUtil.strToDate(date))+" 00:00:00";
            endTime =  DateUtil.getSundayOfThisWeek(DateUtil.strToDate(date))+" 23:59:59";
        }else if (2==type){//月报
            startTime =  DateUtil.getFristDayOfMonthThisDate(new Date())+" 00:00:00";
            endTime =  DateUtil.getLastDayOfMonthThisDate(new Date())+" 23:59:59";
            startTime =  DateUtil.getFristDayOfMonthThisDate(DateUtil.strToDate(date))+" 00:00:00";
            endTime =  DateUtil.getLastDayOfMonthThisDate(DateUtil.strToDate(date))+" 23:59:59";
        }else {
            throw new Exception("导出失败,请检查传入参数");
        }
@ -2858,8 +3852,8 @@ public class DailyReportUploadService {
                "it.title,it.content,rd.sort,rd.report_content,IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0)) 'completion_hour', " +
                "DATE_FORMAT(rd.create_time,'%Y-%m-%d %H:%i:%S') create_time,DATE_FORMAT(rd.verification_time,'%Y-%m-%d %H:%i:%S') verification_time," +
                " CASE rd.state WHEN 1 THEN '已核实' ELSE '未核实' END as 'verification_state',rd.verification_user_name,CASE rd.doubt WHEN 1 THEN '存疑' ELSE '无存疑' END as 'doubt'," +
                " CASE rd.doubt WHEN 1 THEN '不饱和存疑' WHEN 2 THEN '效率存疑' ELSE null END as 'doubtType', rd.remark " +
                "from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id  " +
                " rd.doubt_type doubtType, rd.remark " +
                "from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +
                "INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 LEFT JOIN  " +
                "base_daily_report_detail rd on up.id = rd.report_id " +
                "LEFT JOIN base_daily_report_item it on rd.report_item_id = it.id " +
@ -3022,6 +4016,14 @@ public class DailyReportUploadService {
     * @throws WriteException
     */
    public void UserReportListExcel(List<Map<String,Object>> userCompleteList,OutputStream os,String startDate,String endDate) throws IOException, WriteException {
        String sql = " select dict_value from  wlyy_hospital_sys_dict where dict_name='healthUpload' and dict_code='healthUpload' ";
        List<String> dictValues = jdbcTemplate.queryForList(sql,String.class);
        JSONObject doubtTypeObj = new JSONObject();
        if (dictValues.size()>0){
            JSONObject tmp = JSONObject.parseObject(dictValues.get(0));
            doubtTypeObj = tmp.getJSONObject("dailyReportDoubtTypeName");
        }
        WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
        WritableSheet sheet = wwb.createSheet("sheet", 1);
        String[] header = {"员工完成情况("+startDate+"至"+endDate+")","","","","","","","","","","","","","","","","","",""};//
@ -3099,7 +4101,12 @@ public class DailyReportUploadService {
            addCell(sheet,i , 14,null==completeTmp.get("verification_user_name")?"":completeTmp.get("verification_user_name").toString());
            addCell(sheet,i , 15,null==completeTmp.get("verification_time")?"":completeTmp.get("verification_time").toString());
            addCell(sheet,i , 16,null==completeTmp.get("doubt")?"":completeTmp.get("doubt").toString());
            addCell(sheet,i , 17,null==completeTmp.get("doubtType")?"":completeTmp.get("doubtType").toString());
            String doubtType = null==completeTmp.get("doubtType")?"":completeTmp.get("doubtType").toString();
            if(StringUtils.isBlank(doubtType)){
                addCell(sheet,i , 17,"");
            }else {
                addCell(sheet,i , 17,null==doubtTypeObj.get(doubtType)?"":doubtTypeObj.get(doubtType).toString());
            }
            addCell(sheet,i , 18,null==completeTmp.get("remark")?"":completeTmp.get("remark").toString());
            i++;
        }

+ 7 - 7
business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java

@ -105,27 +105,27 @@ public class HealthCareService {
    public void initConfig() throws Exception{
        logger.info("初始话参数!");
        List<WlyyHospitalSysDictDO> hospitalSysDictDOS = hospitalSysDictDao.findByDictName("ylzConfig");
        List<WlyyHospitalSysDictDO> hospitalSysDictDOS = hospitalSysDictDao.findByDictName("ylzConfigTest");
        if (hospitalSysDictDOS==null||hospitalSysDictDOS.size()==0){
            throw new Exception("尚未添加配置参数");
        }else {
            for (WlyyHospitalSysDictDO hospitalSysDictDO:hospitalSysDictDOS){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigUrl")){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigUrlTest")){
                    ylzConfigUrl = hospitalSysDictDO.getDictValue();
                }
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigAppid")){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigAppidTest")){
                    ylzConfigAppid = hospitalSysDictDO.getDictValue();
                }
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigAppSecret")){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigAppSecretTest")){
                    ylzConfigAppSecret = hospitalSysDictDO.getDictValue();
                }
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigEncryptKey")){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigEncryptKeyTest")){
                    ylzConfigEncryptKey = hospitalSysDictDO.getDictValue();
                }
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigSignKey")){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigSignKeyTest")){
                    ylzConfigSignKey = hospitalSysDictDO.getDictValue();
                }
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigOrgCode")){
                if (hospitalSysDictDO.getId().equalsIgnoreCase("ylzConfigOrgCodeTest")){
                    ylzConfigOrgCode = hospitalSysDictDO.getDictValue();
                }
            }

+ 24 - 20
business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientService.java

@ -403,28 +403,32 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
            throw new Exception("用户不存在");
        }
        Boolean flag = healthCareService.isHospitalFlag();
        if (flag){
            if(wxId.equalsIgnoreCase("xm_xzzx_wx")){
                String result = healthCareService.authorizedToEntrace(basePatientDO.getId());
                JSONObject object = JSONObject.parseObject(result);
                if (object.getString("flag").equalsIgnoreCase("1")){
                    JSONObject encryptData = object.getJSONObject("encrypt_data");
                    String state = encryptData.getString("state");
                    String auth_date = encryptData.getString("auth_date");
                    basePatientDO.setMedicalState(state);
                    basePatientDO = basePatientDao.save(basePatientDO);
                }
            }else {
                String result = healthCareService.authorized(basePatientDO.getId());
                JSONObject object = JSONObject.parseObject(result);
                if (object.getString("flag").equalsIgnoreCase("1")){
                    JSONObject encryptData = object.getJSONObject("encrypt_data");
                    String state = encryptData.getString("state");
                    String auth_date = encryptData.getString("auth_date");
                    basePatientDO.setMedicalState(state);
                    basePatientDO = basePatientDao.save(basePatientDO);
        try{
            if (flag){
                if(wxId.equalsIgnoreCase("xm_xzzx_wx")){
                    String result = healthCareService.authorizedToEntrace(basePatientDO.getId());
                    JSONObject object = JSONObject.parseObject(result);
                    if (object.getString("flag").equalsIgnoreCase("1")){
                        JSONObject encryptData = object.getJSONObject("encrypt_data");
                        String state = encryptData.getString("state");
                        String auth_date = encryptData.getString("auth_date");
                        basePatientDO.setMedicalState(state);
                        basePatientDO = basePatientDao.save(basePatientDO);
                    }
                }else {
                    String result = healthCareService.authorized(basePatientDO.getId());
                    JSONObject object = JSONObject.parseObject(result);
                    if (object.getString("flag").equalsIgnoreCase("1")){
                        JSONObject encryptData = object.getJSONObject("encrypt_data");
                        String state = encryptData.getString("state");
                        String auth_date = encryptData.getString("auth_date");
                        basePatientDO.setMedicalState(state);
                        basePatientDO = basePatientDao.save(basePatientDO);
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return basePatientDO;
    }

+ 28 - 1
common/common-entity/sql记录

@ -2155,4 +2155,31 @@ ALTER table base_daily_report_item add COLUMN `dept_name` varchar(50) DEFAULT NU
--2022-08-17
ALTER table base_daily_report_detail add COLUMN `project_code` varchar(50) DEFAULT NULL COMMENT '项目code';
ALTER table base_daily_report_detail add COLUMN `project_name` varchar(50) DEFAULT NULL COMMENT '项目名称';
ALTER table base_daily_report_detail add COLUMN `project_name` varchar(50) DEFAULT NULL COMMENT '项目名称';
--2022-08-29
ALTER table base_daily_report_detail add column  work_type_name VARCHAR(50) DEFAULT null COMMENT '工作分类名称';
ALTER table base_daily_report_detail add column  upload_remark varchar(255) DEFAULT NULL COMMENT '上传备注内容';
ALTER table base_daily_report_detail add column  progress_type varchar(255) DEFAULT NULL COMMENT '工作进展';
ALTER table base_daily_report_detail add column  progress_type_name varchar(255) DEFAULT NULL COMMENT '工作进展';
CREATE TABLE `base_daily_urging_record` (
  `id` varchar(50) NOT NULL,
  `code` varchar(50) DEFAULT NULL COMMENT 'code',
  `receive_doctor` varchar(50) DEFAULT NULL,
  `doctor_name` varchar(50) DEFAULT NULL,
  `remark` varchar(255) DEFAULT NULL COMMENT '备注内容',
  `dept` varchar(50) DEFAULT NULL COMMENT 'dept',
  `report_id` varchar(50) DEFAULT NULL COMMENT '日报项目id',
  `report_item_id` varchar(50) DEFAULT NULL COMMENT '日报项目id',
  `report_item_name` varchar(50) DEFAULT NULL COMMENT '日报项目名称',
  `project_code` varchar(50) DEFAULT NULL COMMENT '项目code',
  `project_name` varchar(50) DEFAULT NULL COMMENT '项目名称',
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作日期',
  `update_user` varchar(50) DEFAULT NULL,
  `update_user_name` varchar(50) DEFAULT NULL,
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `create_user` varchar(50) DEFAULT NULL,
  `create_user_name` varchar(50) DEFAULT NULL,
  `del` tinyint(2) DEFAULT NULL COMMENT '1有效0无效',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

+ 43 - 4
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportDetailDO.java

@ -26,18 +26,25 @@ public class BaseDailyReportDetailDO extends UuidIdentityEntityWithOperator {
    private String verificationUser;//核实人
    private String verificationUserName;//核实人姓名
    private String remark; //备注内容
    private String uploadRemark; //上传备注内容
    private Integer doubt; //疑惑0无疑惑1存疑
    private Integer doubtType; //存疑类型,1不饱和存疑 2效率存疑
    private Integer doubtType; //存疑类型,字典healthUpload下的dailyReportDoubtType
    private Integer doubtState; //疑惑核实状态0未核实1已核实
    private String doubtRemark; //疑惑核实备注
    private String actualCompletionHour; //实际完成时长
    private String reportItemId;//日报项目id
    private String reportItemName;//日报项目名称
    private String projectCode;//一级项目code
    private String projectName;//一级项目名称
    private String workTypeName;//工作分类名称 字典healthUpload下的dailyWorkType
    private String progressType;//工作进展情况 字典healthUpload下的progressType
    private String progressTypeName;//工作进展
    /**
     * 非数据库字段
     */
    private boolean reportItemFlag;
    private String reportItemTitle;
    private String projectCode;
    private String projectName;
    public String getReportId() {
        return reportId;
@ -209,4 +216,36 @@ public class BaseDailyReportDetailDO extends UuidIdentityEntityWithOperator {
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }
    public String getWorkTypeName() {
        return workTypeName;
    }
    public void setWorkTypeName(String workTypeName) {
        this.workTypeName = workTypeName;
    }
    public String getProgressType() {
        return progressType;
    }
    public void setProgressType(String progressType) {
        this.progressType = progressType;
    }
    public String getUploadRemark() {
        return uploadRemark;
    }
    public void setUploadRemark(String uploadRemark) {
        this.uploadRemark = uploadRemark;
    }
    public String getProgressTypeName() {
        return progressTypeName;
    }
    public void setProgressTypeName(String progressTypeName) {
        this.progressTypeName = progressTypeName;
    }
}

+ 3 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportItemDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
@ -32,9 +33,11 @@ public class BaseDailyReportItemDO extends UuidIdentityEntity {
    private Date completionTime;//完成时间
    private Integer del;//1有效0无效
    @CreatedDate
    protected Date createTime;
    protected String createUser;
    protected String createUserName;
    @LastModifiedDate
    protected Date updateTime;
    protected String updateUser;
    protected String updateUserName;

+ 15 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportUploadDO.java

@ -24,7 +24,13 @@ public class BaseDailyReportUploadDO extends UuidIdentityEntityWithOperator {
    private String reportDate; //上报日期
    private String totalHour;//上报时长
    /**
     * 非数据库字段
     */
    private boolean verifiedRepeatFlag;
    private boolean doubt;
    private List<BaseDailyReportDetailDO> detailDOList;
    private List<BaseDailyReportLogDO> dailyReportLogDOList;
    public String getTotalHour() {
        return totalHour;
@ -33,11 +39,6 @@ public class BaseDailyReportUploadDO extends UuidIdentityEntityWithOperator {
    public void setTotalHour(String totalHour) {
        this.totalHour = totalHour;
    }
    private List<BaseDailyReportDetailDO> detailDOList;
    private List<BaseDailyReportLogDO> dailyReportLogDOList;
    @Transient
    public List<BaseDailyReportLogDO> getDailyReportLogDOList() {
        return dailyReportLogDOList;
@ -120,4 +121,13 @@ public class BaseDailyReportUploadDO extends UuidIdentityEntityWithOperator {
    public void setVerifiedRepeatFlag(boolean verifiedRepeatFlag) {
        this.verifiedRepeatFlag = verifiedRepeatFlag;
    }
    @Transient
    public boolean isDoubt() {
        return doubt;
    }
    public void setDoubt(boolean doubt) {
        this.doubt = doubt;
    }
}

+ 181 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyUrgingRecordDO.java

@ -0,0 +1,181 @@
package com.yihu.jw.entity.dailyReport;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by Bing on 2022/8/29.
 */
@Entity
@Table(name = "base_daily_urging_record")
public class BaseDailyUrgingRecordDO extends UuidIdentityEntity {
    private String code;
    private String receiveDoctor;
    private String doctorName;
    private String remark;
    private String dept;
    private String reportId;//日报上传id
    private String reportItemId;//日报项目id
    private String reportItemName;//日报项目名称
    private String projectCode;//一级项目code
    private String projectName;//一级项目名称
    private Integer del;//一级项目名称
    @CreatedDate
    protected Date createTime;
    protected String createUser;
    protected String createUserName;
    @LastModifiedDate
    protected Date updateTime;
    protected String updateUser;
    protected String updateUserName;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getReceiveDoctor() {
        return receiveDoctor;
    }
    public void setReceiveDoctor(String receiveDoctor) {
        this.receiveDoctor = receiveDoctor;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getReportItemId() {
        return reportItemId;
    }
    public void setReportItemId(String reportItemId) {
        this.reportItemId = reportItemId;
    }
    public String getReportItemName() {
        return reportItemName;
    }
    public void setReportItemName(String reportItemName) {
        this.reportItemName = reportItemName;
    }
    public String getProjectCode() {
        return projectCode;
    }
    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }
    public String getProjectName() {
        return projectName;
    }
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    public String getReportId() {
        return reportId;
    }
    public void setReportId(String reportId) {
        this.reportId = reportId;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Column(name = "create_user",updatable = false)
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    @Column(name = "create_user_name",updatable = false)
    public String getCreateUserName() {
        return createUserName;
    }
    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public String getUpdateUserName() {
        return updateUserName;
    }
    public void setUpdateUserName(String updateUserName) {
        this.updateUserName = updateUserName;
    }
}

+ 20 - 8
common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java

@ -344,6 +344,18 @@ public class DateUtil {
        return formatter.format(dateDate);
    }
    /**
     * 时间字符串转日期
     * @param dateDate
     * @return
     */
    public static String strToStrShort(String dateDate) {
        if (dateDate == null) {
            return "";
        }
        return dateToStrShort(strToDate(dateDate));
    }
    /**
     * 将短时间格式时间转换为字符串 yyyy-MM-dd
     */
@ -611,6 +623,13 @@ public class DateUtil {
        return c.getTime();
    }
    public static Date getNextWeek(Date d, int weeks) {
        Calendar c = Calendar.getInstance();
        c.setTime(d);
        c.add(Calendar.DAY_OF_WEEK, weeks);
        return c.getTime();
    }
    public static String getNextMonth(Date d, int months) {
        Calendar c = Calendar.getInstance();
        c.setTime(d);
@ -1404,14 +1423,7 @@ public class DateUtil {
    }
    public static void main(String[] args) {
        String time = DateUtil.getStringDateShort()+" 09:00:00";
        Date timeDate = DateUtil.strToDate(time);
        System.out.println(dateToChineseTime2(timeDate));
        Date dateStart = getDateStart();
        Date dateEnd = getDateEnd();
        System.out.println(dateStart );
        System.out.println(dateEnd);
        System.out.println(getWorkDays("2022-08-01","2022-09-01"));
    }
    
    /**

+ 3 - 0
gateway/ag-basic/src/main/resources/application.yml

@ -96,6 +96,9 @@ zuul:
    svr-internet-hospital:
      path: /hospital/**
      serviceId: svr-internet-hospital
    svr-internet-hospital-test:
      path: /hospitalTest/**
      serviceId: svr-internet-hospital-test
    svr-internet-hospital-entrance:
      path: /hospitalEntrance/**
      serviceId: svr-internet-hospital-entrance

+ 3 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/YsConfig.java

@ -17,7 +17,7 @@ public class YsConfig {
     * 目前为多个账号 监控设备与账号绑定关系表ys_device、dm_ys_config
     * mobile:13559485270 pwd:zjxl123456*
     * mobile:15659713528 pwd:woaini123a*
     *
     * mobile:18770887864 pwd:123456a.
     * pc端 https://es.ys7.com/ys/login
     * 开放平台 https://auth.ys7.com/signIn?from=392f743db8514040b395&r=5019066229&returnUrl=https://open.ys7.com/cn/s/index&host=open.ys7.com
     */
@ -39,6 +39,8 @@ public class YsConfig {
    //开放平台  https://open.ys7.com/doc/zh/book/index/user.html
    public static final String iotAssesToken =baseUrl+ "/api/user/component-open/sso/oauth2/getEZAccessToken";
    public static final String iotAssesToken2 =iotBaseUrl+ "/api/lapp/token/get";
    //获取通道列表
    public static final String surveillanceWayList =baseUrl+ "/api/resource/open-app/surveillance/camera/list/page";

+ 2 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/activity/ChildActivityRegistrationDao.java

@ -1,17 +1,16 @@
package com.yihu.jw.care.dao.activity;
import com.yihu.jw.entity.care.activity.ChildActivityRegistrationDO;
import com.yihu.jw.entity.care.consult.BaseYunxingChannelDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/10/16.
 */
public interface ChildActivityRegistrationDao extends PagingAndSortingRepository<ChildActivityRegistrationDO,String>,
public interface ChildActivityRegistrationDao extends JpaRepository<ChildActivityRegistrationDO,String>,
        JpaSpecificationExecutor<ChildActivityRegistrationDO> {
    @Query("select a from ChildActivityRegistrationDO a where a.patient = ?1 and a.activityType = ?2 ")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/apply/PatientBedApplyDao.java

@ -2,16 +2,16 @@ package com.yihu.jw.care.dao.apply;
import com.yihu.jw.entity.care.apply.PatientBedApplyDo;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by Bing on 2021/4/8.
 */
public interface PatientBedApplyDao extends PagingAndSortingRepository<PatientBedApplyDo,String>,
public interface PatientBedApplyDao extends JpaRepository<PatientBedApplyDo,String>,
        JpaSpecificationExecutor<PatientBedApplyDo> {
    PatientBedApplyDo findByIdcardAndOrgCodeAndStatus(String idcard,String orgCode,Integer status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/assistance/EmergencyAssistanceDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.assistance;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/4/12.
 */
public interface EmergencyAssistanceDao extends PagingAndSortingRepository<EmergencyAssistanceDO,String>,
public interface EmergencyAssistanceDao extends JpaRepository<EmergencyAssistanceDO,String>,
        JpaSpecificationExecutor<EmergencyAssistanceDO> {
    List<EmergencyAssistanceDO> queryByPatientAndStatusIn(String patient, Integer[] status, Sort sort);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/birthday/BirthDayWishesToPatientDao.java

@ -2,11 +2,11 @@ package com.yihu.jw.care.dao.birthday;
import com.yihu.jw.entity.care.birthday.BirthDayWishesToPatient;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/7/16.
 */
public interface BirthDayWishesToPatientDao extends PagingAndSortingRepository<BirthDayWishesToPatient,Long>,
public interface BirthDayWishesToPatientDao extends JpaRepository<BirthDayWishesToPatient,Long>,
        JpaSpecificationExecutor<BirthDayWishesToPatient> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/birthday/BirthdayWishesTemplateDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.birthday;
import com.yihu.jw.entity.care.birthday.BirthdayWishesTemplate;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by humingfen on 2018/10/26.
 */
public interface BirthdayWishesTemplateDao extends PagingAndSortingRepository<BirthdayWishesTemplate, Long> {
public interface BirthdayWishesTemplateDao extends JpaRepository<BirthdayWishesTemplate, Long> {
    @Query("SELECT t from BirthdayWishesTemplate t where t.applicableRange = ?2 and (t.createUser = ?1 or t.createUser is null ) and t.del = 1 ORDER BY t.isDefault desc,t.type, t.createTime desc ")
    List<BirthdayWishesTemplate> getTemplateByDoctorAndApplicableRange(String doctor, Integer applicableRange);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/booking/BaseBookingServiceDao.java

@ -4,7 +4,7 @@ import com.yihu.jw.entity.care.booking.BaseBookingServiceDo;
import com.yihu.jw.entity.care.contacts.PatientSosContactsDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/***
 * @ClassName: BaseBookingServiceDao
@ -12,7 +12,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Auther: shi kejing
 * @Date: 2021/8/12 10:23
 */
public interface BaseBookingServiceDao extends PagingAndSortingRepository<BaseBookingServiceDo,String>,
public interface BaseBookingServiceDao extends JpaRepository<BaseBookingServiceDo,String>,
        JpaSpecificationExecutor<BaseBookingServiceDo> {
    @Query("select a from BaseBookingServiceDo a where a.patient = ?1 and a.status = '1'")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/child/BaseChildManageDao.java

@ -4,12 +4,12 @@ import com.yihu.jw.entity.child.BaseChildManage;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by wsl on 2022/7/20
 */
public interface BaseChildManageDao extends PagingAndSortingRepository<BaseChildManage,String>, JpaSpecificationExecutor<BaseChildManage> {
public interface BaseChildManageDao extends JpaRepository<BaseChildManage,String>, JpaSpecificationExecutor<BaseChildManage> {
    @Modifying
    @Query("update BaseChildManage m set m.click = m.click+1 where m.id = ?1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/common/BaseLoginLogDao.java

@ -3,12 +3,12 @@ package com.yihu.jw.care.dao.common;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface BaseLoginLogDao extends PagingAndSortingRepository<BaseLoginLogDO, String>, JpaSpecificationExecutor<BaseLoginLogDO> {
public interface BaseLoginLogDao extends JpaRepository<BaseLoginLogDO, String>, JpaSpecificationExecutor<BaseLoginLogDO> {
    @Query("from BaseLoginLogDO l where l.openid=?1 order by l.createTime desc")
    List<BaseLoginLogDO> findByOpenId(String openid);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/consult/BaseYunxingChannelDao.java

@ -4,12 +4,12 @@ import com.yihu.jw.entity.care.booking.BaseBookingServiceDo;
import com.yihu.jw.entity.care.consult.BaseYunxingChannelDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by yeshijie on 2021/10/11.
 */
public interface BaseYunxingChannelDao extends PagingAndSortingRepository<BaseYunxingChannelDO,String>,
public interface BaseYunxingChannelDao extends JpaRepository<BaseYunxingChannelDO,String>,
        JpaSpecificationExecutor<BaseYunxingChannelDO> {
    @Query("select a from BaseYunxingChannelDO a where a.sessionId = ?1 ")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/contacts/BasePatientContactsOrgDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.contacts;
import com.yihu.jw.entity.care.contacts.BasePatientContactsOrgDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created with IntelliJ IDEA.
@ -11,7 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Date: 2021/5/7
 * @Description:
 */
public interface BasePatientContactsOrgDao extends PagingAndSortingRepository<BasePatientContactsOrgDO,String>,
public interface BasePatientContactsOrgDao extends JpaRepository<BasePatientContactsOrgDO,String>,
        JpaSpecificationExecutor<BasePatientContactsOrgDO> {
    BasePatientContactsOrgDO findByPatient(String patient);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/contacts/PatientSosContactsDao.java

@ -4,14 +4,14 @@ import com.yihu.jw.entity.care.contacts.PatientSosContactsDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/8/10.
 */
public interface PatientSosContactsDao extends PagingAndSortingRepository<PatientSosContactsDO,Long>,
public interface PatientSosContactsDao extends JpaRepository<PatientSosContactsDO,Long>,
        JpaSpecificationExecutor<PatientSosContactsDO> {
    List<PatientSosContactsDO> findByPatientAndDel(String patient,Integer del);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CourseCatalogueDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.CourseCatalogueDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/5/18
 * @Description:
 */
public interface CourseCatalogueDao extends PagingAndSortingRepository<CourseCatalogueDO, String>, JpaSpecificationExecutor<CourseCatalogueDO> {
public interface CourseCatalogueDao extends JpaRepository<CourseCatalogueDO, String>, JpaSpecificationExecutor<CourseCatalogueDO> {
    List<CourseCatalogueDO> findByCourserId(String courserId);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CourseDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.CourseDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created with IntelliJ IDEA.
@ -11,6 +11,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Date: 2021/5/18
 * @Description:
 */
public interface CourseDao extends PagingAndSortingRepository<CourseDO, String>, JpaSpecificationExecutor<CourseDO> {
public interface CourseDao extends JpaRepository<CourseDO, String>, JpaSpecificationExecutor<CourseDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CourseSalesOrderRecordDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.CourseSalesOrderRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/5/18
 * @Description:
 */
public interface CourseSalesOrderRecordDao extends PagingAndSortingRepository<CourseSalesOrderRecordDO, String>
public interface CourseSalesOrderRecordDao extends JpaRepository<CourseSalesOrderRecordDO, String>
        , JpaSpecificationExecutor<CourseSalesOrderRecordDO> {
    List<CourseSalesOrderRecordDO> findByStatus(String status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/CustomerServiceDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.CustomerServiceDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/5/18
 * @Description:
 */
public interface CustomerServiceDao extends PagingAndSortingRepository<CustomerServiceDO, String>, JpaSpecificationExecutor<CustomerServiceDO> {
public interface CustomerServiceDao extends JpaRepository<CustomerServiceDO, String>, JpaSpecificationExecutor<CustomerServiceDO> {
    List<CustomerServiceDO> findByOrgCode(String orgCode);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/DoctorPatientTmpDao.java

@ -4,14 +4,14 @@ import com.yihu.jw.entity.care.course.DoctorPatientTmpDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/6/7.
 */
public interface DoctorPatientTmpDao extends PagingAndSortingRepository<DoctorPatientTmpDO,String>,
public interface DoctorPatientTmpDao extends JpaRepository<DoctorPatientTmpDO,String>,
        JpaSpecificationExecutor<DoctorPatientTmpDO> {
    DoctorPatientTmpDO findByRelationCode(String relationCode);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/NurseryLogDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.NurseryLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created with IntelliJ IDEA.
@ -11,6 +11,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Date: 2021/5/20
 * @Description:
 */
public interface NurseryLogDao extends PagingAndSortingRepository<NurseryLogDO, String>, JpaSpecificationExecutor<NurseryLogDO> {
public interface NurseryLogDao extends JpaRepository<NurseryLogDO, String>, JpaSpecificationExecutor<NurseryLogDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/PatientCourseRecordDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.PatientCourseRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/5/20
 * @Description:
 */
public interface PatientCourseRecordDao extends PagingAndSortingRepository<PatientCourseRecordDO, String>,
public interface PatientCourseRecordDao extends JpaRepository<PatientCourseRecordDO, String>,
        JpaSpecificationExecutor<PatientCourseRecordDO> {
    List<PatientCourseRecordDO> findByNurseryLogId(String nurseryLogId);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/PatientDietRecordDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.PatientDietRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/5/20
 * @Description:
 */
public interface PatientDietRecordDao extends PagingAndSortingRepository<PatientDietRecordDO, String>, JpaSpecificationExecutor<PatientDietRecordDO> {
public interface PatientDietRecordDao extends JpaRepository<PatientDietRecordDO, String>, JpaSpecificationExecutor<PatientDietRecordDO> {
    List<PatientDietRecordDO> findByNurseryLogId(String nurseryLogId);
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/PatientOrderRefundDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.PatientOrderRefundDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created with IntelliJ IDEA.
@ -11,7 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Date: 2021/5/18
 * @Description:
 */
public interface PatientOrderRefundDao extends PagingAndSortingRepository<PatientOrderRefundDO, String>
public interface PatientOrderRefundDao extends JpaRepository<PatientOrderRefundDO, String>
        , JpaSpecificationExecutor<PatientOrderRefundDO> {
    PatientOrderRefundDO findByTypeAndOrderId(String type, String orderId);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/RecruitStudentsDao.java

@ -4,7 +4,7 @@ import com.yihu.jw.entity.care.course.RecruitStudentsDO;
import com.yihu.jw.entity.followup.Followup;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Date;
import java.util.List;
@ -16,7 +16,7 @@ import java.util.List;
 * @Date: 2021/5/18
 * @Description:
 */
public interface RecruitStudentsDao extends PagingAndSortingRepository<RecruitStudentsDO, String>, JpaSpecificationExecutor<RecruitStudentsDO> {
public interface RecruitStudentsDao extends JpaRepository<RecruitStudentsDO, String>, JpaSpecificationExecutor<RecruitStudentsDO> {
    @Query("select a from RecruitStudentsDO a where a.orgCode = ?1 and a.startTime < ?2 and a.endTime >?2 and a.del = 1")
    List<RecruitStudentsDO> findByOrgCode(String orgCode, Date nowDate);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/course/RecruitStudentsRecordDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.course;
import com.yihu.jw.entity.care.course.RecruitStudentsRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/5/18
 * @Description:
 */
public interface RecruitStudentsRecordDao extends PagingAndSortingRepository<RecruitStudentsRecordDO, String>,
public interface RecruitStudentsRecordDao extends JpaRepository<RecruitStudentsRecordDO, String>,
        JpaSpecificationExecutor<RecruitStudentsRecordDO> {
    List<RecruitStudentsRecordDO> findByRecruitStudentsIdAndStatus(String recruitStudentsId, String status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDeviceElectricRecordDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseDeviceElectricRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2022/6/30.
 */
public interface BaseDeviceElectricRecordDao extends PagingAndSortingRepository<BaseDeviceElectricRecordDO,String>,
public interface BaseDeviceElectricRecordDao extends JpaRepository<BaseDeviceElectricRecordDO,String>,
        JpaSpecificationExecutor<BaseDeviceElectricRecordDO> {
    @Query("select a from BaseDeviceElectricRecordDO a where a.statDate = ?1 ")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDeviceFaceRecordDao.java

@ -2,12 +2,12 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseDeviceFaceRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by yeshijie on 2022/6/2.
 */
public interface BaseDeviceFaceRecordDao extends PagingAndSortingRepository<BaseDeviceFaceRecordDO,String>,
public interface BaseDeviceFaceRecordDao extends JpaRepository<BaseDeviceFaceRecordDO,String>,
        JpaSpecificationExecutor<BaseDeviceFaceRecordDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDevicePatientFaceDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseDevicePatientFaceDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2022/6/1.
 */
public interface BaseDevicePatientFaceDao  extends PagingAndSortingRepository<BaseDevicePatientFaceDO,String>,
public interface BaseDevicePatientFaceDao  extends JpaRepository<BaseDevicePatientFaceDO,String>,
        JpaSpecificationExecutor<BaseDevicePatientFaceDO> {
    @Query("select a from BaseDevicePatientFaceDO a where a.idcard = ?1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseDeviceRepairDao.java

@ -3,11 +3,11 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.patient.BaseDeviceRepairEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface BaseDeviceRepairDao extends PagingAndSortingRepository<BaseDeviceRepairEntity,Long>,
public interface BaseDeviceRepairDao extends JpaRepository<BaseDeviceRepairEntity,Long>,
        JpaSpecificationExecutor<BaseDeviceRepairEntity> {
    @Query(value = "select r from BaseDeviceRepairEntity r where r.deviceSn = ?1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseHzInterfaceDictDao.java

@ -4,12 +4,12 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.util.BaseHzInterfaceDictEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by wsl on 2022/6/29
 */
public interface BaseHzInterfaceDictDao extends PagingAndSortingRepository<BaseHzInterfaceDictEntity,Long>,
public interface BaseHzInterfaceDictDao extends JpaRepository<BaseHzInterfaceDictEntity,Long>,
        JpaSpecificationExecutor<BaseHzInterfaceDictEntity> {
    @Query("select a from BaseHzInterfaceDictEntity a where a.status = ?1 and a.code = ?2")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BasePatientMonitorDataDao.java

@ -2,11 +2,11 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BasePatientMonitorDataDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2022/4/25.
 */
public interface BasePatientMonitorDataDao extends PagingAndSortingRepository<BasePatientMonitorDataDO,Long>,
public interface BasePatientMonitorDataDao extends JpaRepository<BasePatientMonitorDataDO,Long>,
        JpaSpecificationExecutor<BasePatientMonitorDataDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BasePatientOutBedDao.java

@ -2,12 +2,12 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BasePatientOutBed;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/8/18.
 */
public interface BasePatientOutBedDao extends PagingAndSortingRepository<BasePatientOutBed,Long>,
public interface BasePatientOutBedDao extends JpaRepository<BasePatientOutBed,Long>,
        JpaSpecificationExecutor<BasePatientOutBed> {
    BasePatientOutBed findByPatientAndDeviceSnAndStatus(String patient,String deviceSn,Integer status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepDeviceReportDao.java

@ -2,10 +2,10 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseSleepDeviceReport;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/8/12.
 */
public interface BaseSleepDeviceReportDao extends PagingAndSortingRepository<BaseSleepDeviceReport,Long> ,
public interface BaseSleepDeviceReportDao extends JpaRepository<BaseSleepDeviceReport,Long> ,
        JpaSpecificationExecutor<BaseSleepDeviceReport> {}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepNightRecordDao.java

@ -3,7 +3,7 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseSleepNightRecord;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Date;
import java.util.List;
@ -12,7 +12,7 @@ import java.util.List;
/**
 * Created by Bing on 2021/8/17.
 */
public interface BaseSleepNightRecordDao extends PagingAndSortingRepository<BaseSleepNightRecord,Long>,
public interface BaseSleepNightRecordDao extends JpaRepository<BaseSleepNightRecord,Long>,
        JpaSpecificationExecutor<BaseSleepNightRecord> {
    @Query(value = "select r from BaseSleepNightRecord r where r.deviceSn=?1 and r.patient=?2 order by r.createTime desc")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepPlanDao.java

@ -3,7 +3,7 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseSleepDeviceReport;
import com.yihu.jw.entity.care.device.BaseSleepPlan;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.awt.print.Pageable;
import java.util.List;
@ -14,7 +14,7 @@ import java.util.List;
 * @Auther: shi kejing
 * @Date: 2021/8/23 17:20
 */
public interface BaseSleepPlanDao extends PagingAndSortingRepository<BaseSleepPlan,Long>,
public interface BaseSleepPlanDao extends JpaRepository<BaseSleepPlan,Long>,
        JpaSpecificationExecutor<BaseSleepPlan> {
    List<BaseSleepPlan> findByPatient(String patient);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseSleepPlanDetailDao.java

@ -5,7 +5,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import javax.xml.crypto.Data;
import java.util.Date;
@ -14,7 +14,7 @@ import java.util.List;
/**
 * Created by Bing on 2021/8/23.
 */
public interface BaseSleepPlanDetailDao extends PagingAndSortingRepository<BaseSleepPlanDetail,Long>,
public interface BaseSleepPlanDetailDao extends JpaRepository<BaseSleepPlanDetail,Long>,
        JpaSpecificationExecutor<BaseSleepPlanDetail> {
    List<BaseSleepPlanDetail> findByPatientAndDay(String patient, String day);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/BaseYxDeviceIndexDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseYxDeviceIndex;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -13,7 +13,7 @@ import java.util.List;
 * @Date: 2021/8/26
 * @Description:
 */
public interface BaseYxDeviceIndexDao extends PagingAndSortingRepository<BaseYxDeviceIndex, String> {
public interface BaseYxDeviceIndexDao extends JpaRepository<BaseYxDeviceIndex, String> {
    @Query(value = "SELECT a.* from base_yxdevice_index a where a.sn=?1 and a.lat!=0 and a.lon!=0 order by a.create_time desc limit 1",nativeQuery = true)
    List<BaseYxDeviceIndex> findBySn(String sn);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DeviceDao.java

@ -7,11 +7,11 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.Device;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface DeviceDao extends PagingAndSortingRepository<Device, Long> {
public interface DeviceDao extends JpaRepository<Device, Long> {
	@Query("select a from Device a where a.categoryCode = ?1 and a.del = '1'")
	List<Device> findByCategoryCode(String categoryCode);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DeviceDataPushLogDao.java

@ -2,11 +2,11 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.DeviceDataPushLog;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/9/2.
 */
public interface DeviceDataPushLogDao extends PagingAndSortingRepository<DeviceDataPushLog,Long>,
public interface DeviceDataPushLogDao extends JpaRepository<DeviceDataPushLog,Long>,
        JpaSpecificationExecutor<DeviceDataPushLog> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DeviceDetailDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.DeviceDetail;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * @author yeshijie on 2018/1/10.
 */
public interface DeviceDetailDao extends PagingAndSortingRepository<DeviceDetail, Long>, JpaSpecificationExecutor<DeviceDetail> {
public interface DeviceDetailDao extends JpaRepository<DeviceDetail, Long>, JpaSpecificationExecutor<DeviceDetail> {
    @Query(value = "select a.* from wlyy_devices a where a.device_code=?1 limit 0,1",nativeQuery = true)
    DeviceDetail findBySn(String sn);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/DevicePatientHealthIndexDao.java

@ -5,13 +5,13 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Date;
import java.util.List;
public interface DevicePatientHealthIndexDao
		extends PagingAndSortingRepository<DevicePatientHealthIndex, Long>, JpaSpecificationExecutor<DevicePatientHealthIndex> {
		extends JpaRepository<DevicePatientHealthIndex, Long>, JpaSpecificationExecutor<DevicePatientHealthIndex> {
	List<DevicePatientHealthIndex> findByIdcardAndType(String idcard, Integer type);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/PatientDeviceDao.java

@ -6,11 +6,11 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface PatientDeviceDao extends PagingAndSortingRepository<DevicePatientDevice, Long>, JpaSpecificationExecutor<DevicePatientDevice> {
public interface PatientDeviceDao extends JpaRepository<DevicePatientDevice, Long>, JpaSpecificationExecutor<DevicePatientDevice> {
    @Query("select a from DevicePatientDevice a where a.user = ?1 ")
    Iterable<DevicePatientDevice> findByUser(String user);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/PatientSafeAreaConfirmDao.java

@ -4,12 +4,12 @@ import com.yihu.jw.entity.care.device.PatientSafeAreaConfirm;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface PatientSafeAreaConfirmDao extends PagingAndSortingRepository<PatientSafeAreaConfirm,Long>,
public interface PatientSafeAreaConfirmDao extends JpaRepository<PatientSafeAreaConfirm,Long>,
        JpaSpecificationExecutor<PatientSafeAreaConfirm> {
    List<PatientSafeAreaConfirm> findByDoctorCodeAndPatient(String doctorCode,String patient);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/PatientSafeAreaDao.java

@ -4,14 +4,14 @@ import com.yihu.jw.entity.care.device.PatientSafeAreaDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/8/31.
 */
public interface PatientSafeAreaDao extends PagingAndSortingRepository<PatientSafeAreaDO,Long>,
public interface PatientSafeAreaDao extends JpaRepository<PatientSafeAreaDO,Long>,
        JpaSpecificationExecutor<PatientSafeAreaDO> {
    @Query(value = " select p from PatientSafeAreaDO p where p.patient=?1 and p.del='1' and p.manageStatus=1 ")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/device/YsConfigDao.java

@ -3,12 +3,12 @@ package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.YsConfigDo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/10/20.
 */
public interface YsConfigDao extends PagingAndSortingRepository<YsConfigDo,Long>, JpaSpecificationExecutor<YsConfigDo> {
public interface YsConfigDao extends JpaRepository<YsConfigDo,Long>, JpaSpecificationExecutor<YsConfigDo> {
    @Query("select c from YsConfigDo c,YsDeviceDo de where c.configId = de.configId and de.deviceSn = ?1")
    YsConfigDo getYsConfigByDeviceSn(String deviceSn);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doctor/DoctorServicePermissionsDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.doctor;
import com.yihu.jw.entity.care.common.DoctorServicePermissionsDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created with IntelliJ IDEA.
@ -11,7 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Date: 2021/9/7
 * @Description:
 */
public interface DoctorServicePermissionsDao extends PagingAndSortingRepository<DoctorServicePermissionsDO, String>, JpaSpecificationExecutor<DoctorServicePermissionsDO> {
public interface DoctorServicePermissionsDao extends JpaRepository<DoctorServicePermissionsDO, String>, JpaSpecificationExecutor<DoctorServicePermissionsDO> {
    DoctorServicePermissionsDO findByDoctor(String doctor);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachCancelLogDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.doorCoach;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachCancelLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * 
 * 工单取消记录 数据库访问层
 *
 */
public interface BaseDoorCoachCancelLogDao extends PagingAndSortingRepository<BaseDoorCoachCancelLogDO, String>, JpaSpecificationExecutor<BaseDoorCoachCancelLogDO>  {
public interface BaseDoorCoachCancelLogDao extends JpaRepository<BaseDoorCoachCancelLogDO, String>, JpaSpecificationExecutor<BaseDoorCoachCancelLogDO>  {
    @Query(value = "select count(cl.id) from base_door_coach_cancel_log cl where cl.patient = ?1 and cl.cancel_type = 2 and DATE(cl.time) BETWEEN DATE_SUB(DATE(NOW()),INTERVAL DAYOFMONTH(NOW())-1 DAY) and LAST_DAY(NOW())",nativeQuery = true)
    int countCancelTimes(String patient);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachConclusionDao.java

@ -4,12 +4,12 @@ package com.yihu.jw.care.dao.doorCoach;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachConclusionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/4/7.
 */
public interface BaseDoorCoachConclusionDao extends PagingAndSortingRepository<BaseDoorCoachConclusionDO,String>,
public interface BaseDoorCoachConclusionDao extends JpaRepository<BaseDoorCoachConclusionDO,String>,
        JpaSpecificationExecutor<BaseDoorCoachConclusionDO> {
    @Query("select c from BaseDoorCoachConclusionDO c where c.orderId = ?1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachDoctorStatusDao.java

@ -3,7 +3,7 @@ package com.yihu.jw.care.dao.doorCoach;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachDoctorStatusDO;;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
@ -19,7 +19,7 @@ import java.util.List;
 * </pre>
 * @since 1.
 */
public interface BaseDoorCoachDoctorStatusDao extends PagingAndSortingRepository<BaseDoorCoachDoctorStatusDO, String>, JpaSpecificationExecutor<BaseDoorCoachDoctorStatusDO>  {
public interface BaseDoorCoachDoctorStatusDao extends JpaRepository<BaseDoorCoachDoctorStatusDO, String>, JpaSpecificationExecutor<BaseDoorCoachDoctorStatusDO>  {
    BaseDoorCoachDoctorStatusDO findByDoctor(String doctor);
    BaseDoorCoachDoctorStatusDO queryByDoctorAndStatusIn(String doctor, Integer[] status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachFeeDetailDao.java

@ -5,7 +5,7 @@ import com.yihu.jw.entity.care.lifeCare.LifeCareFeeDetailDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
@ -23,7 +23,7 @@ import java.util.Map;
 * </pre>
 * @since 1.
 */
public interface BaseDoorCoachFeeDetailDao extends PagingAndSortingRepository<BaseDoorCoachFeeDetailDO, String>, JpaSpecificationExecutor<BaseDoorCoachFeeDetailDO>  {
public interface BaseDoorCoachFeeDetailDao extends JpaRepository<BaseDoorCoachFeeDetailDO, String>, JpaSpecificationExecutor<BaseDoorCoachFeeDetailDO>  {
    List<BaseDoorCoachFeeDetailDO> findByOrderId(String orderId);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachOrderDao.java

@ -5,7 +5,7 @@ import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachOrderDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
@ -23,7 +23,7 @@ import java.util.List;
 * </pre>
 * @since 1.
 */
public interface BaseDoorCoachOrderDao extends PagingAndSortingRepository<BaseDoorCoachOrderDO, String>, JpaSpecificationExecutor<BaseDoorCoachOrderDO>  {
public interface BaseDoorCoachOrderDao extends JpaRepository<BaseDoorCoachOrderDO, String>, JpaSpecificationExecutor<BaseDoorCoachOrderDO>  {
    boolean existsByPatientAndStatusNot(String patient, int status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachPatientConfirmLogDao.java

@ -3,12 +3,12 @@ package com.yihu.jw.care.dao.doorCoach;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachPatientConfirmLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * 
 * 上门辅导服务工单居民确认操作日志记录
 *
 */
public interface BaseDoorCoachPatientConfirmLogDao extends PagingAndSortingRepository<BaseDoorCoachPatientConfirmLogDO, String>, JpaSpecificationExecutor<BaseDoorCoachPatientConfirmLogDO>  {
public interface BaseDoorCoachPatientConfirmLogDao extends JpaRepository<BaseDoorCoachPatientConfirmLogDO, String>, JpaSpecificationExecutor<BaseDoorCoachPatientConfirmLogDO>  {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/doorCoach/BaseDoorCoachProcessLogDao.java

@ -3,7 +3,7 @@ package com.yihu.jw.care.dao.doorCoach;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachDoctorStatusDO;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachProcessLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * 
@ -17,5 +17,5 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * </pre>
 * @since 1.
 */
public interface BaseDoorCoachProcessLogDao extends PagingAndSortingRepository<BaseDoorCoachProcessLogDO, String>, JpaSpecificationExecutor<BaseDoorCoachProcessLogDO>  {
public interface BaseDoorCoachProcessLogDao extends JpaRepository<BaseDoorCoachProcessLogDO, String>, JpaSpecificationExecutor<BaseDoorCoachProcessLogDO>  {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/exam/ChildrenExaminationRecordDao.java

@ -2,10 +2,10 @@ package com.yihu.jw.care.dao.exam;
import com.yihu.jw.entity.care.exam.ChildrenExaminationRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/5/18.
 */
public interface ChildrenExaminationRecordDao extends PagingAndSortingRepository<ChildrenExaminationRecordDO,String>,JpaSpecificationExecutor<ChildrenExaminationRecordDO> {
public interface ChildrenExaminationRecordDao extends JpaRepository<ChildrenExaminationRecordDO,String>,JpaSpecificationExecutor<ChildrenExaminationRecordDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/family/PatientFamilyMemberDao.java

@ -4,14 +4,14 @@ import com.yihu.jw.entity.base.patient.BasePatientFamilyMemberDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * @author liuwenbin on 2018/11/27.
 */
public interface PatientFamilyMemberDao extends PagingAndSortingRepository<BasePatientFamilyMemberDO, String>, JpaSpecificationExecutor<BasePatientFamilyMemberDO> {
public interface PatientFamilyMemberDao extends JpaRepository<BasePatientFamilyMemberDO, String>, JpaSpecificationExecutor<BasePatientFamilyMemberDO> {
    @Query("select m from BasePatientFamilyMemberDO m where m.del=1 and m.patient=?1")
    List<BasePatientFamilyMemberDO> getByPatient(String patient);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/handover/BaseDayHandoverDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.handover;
import com.yihu.jw.entity.care.handover.BaseDayHandover;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by wsl on 2022/03/22
 */
public interface BaseDayHandoverDao extends PagingAndSortingRepository<BaseDayHandover, String>, JpaSpecificationExecutor<BaseDayHandover> {
public interface BaseDayHandoverDao extends JpaRepository<BaseDayHandover, String>, JpaSpecificationExecutor<BaseDayHandover> {
    @Query("select h from BaseDayHandover h where h.createUser = ?1 and h.createTime >= ?2 and h.createTime <= ?3 order by h.createTime DESC")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/label/BaseCapacityLabelDao.java

@ -5,12 +5,12 @@ import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by yeshijie on 2021/9/26.
 */
public interface BaseCapacityLabelDao  extends PagingAndSortingRepository<BaseCapacityLabelDO, String>,
public interface BaseCapacityLabelDao  extends JpaRepository<BaseCapacityLabelDO, String>,
        JpaSpecificationExecutor<BaseCapacityLabelDO> {

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/label/WlyyPatientLabelDao.java

@ -4,14 +4,14 @@ import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/4/7.
 */
public interface WlyyPatientLabelDao extends PagingAndSortingRepository<WlyyPatientLabelDO, String>, JpaSpecificationExecutor<WlyyPatientLabelDO> {
public interface WlyyPatientLabelDao extends JpaRepository<WlyyPatientLabelDO, String>, JpaSpecificationExecutor<WlyyPatientLabelDO> {
    @Modifying
    @Query("delete WlyyPatientLabelDO a where a.patient=?1 and a.labelType=?2")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/BaseAdminServiceDynamicDao.java

@ -3,7 +3,7 @@ package com.yihu.jw.care.dao.lifeCare;
import com.yihu.jw.entity.care.lifeCare.LifeCareOrderDO;
import com.yihu.jw.entity.door.BaseAdminServiceDynamic;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/***
 * @ClassName: BaseAdminServiceDynamicDao
@ -11,5 +11,5 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Auther: shi kejing
 * @Date: 2021/8/31 15:28
 */
public interface BaseAdminServiceDynamicDao extends PagingAndSortingRepository<BaseAdminServiceDynamic, Long>, JpaSpecificationExecutor<BaseAdminServiceDynamic> {
public interface BaseAdminServiceDynamicDao extends JpaRepository<BaseAdminServiceDynamic, Long>, JpaSpecificationExecutor<BaseAdminServiceDynamic> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareCancelLogDao.java

@ -2,11 +2,11 @@ package com.yihu.jw.care.dao.lifeCare;
import com.yihu.jw.entity.care.lifeCare.LifeCareCancelLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by yeshijie on 2021/3/29.
 */
public interface LifeCareCancelLogDao extends PagingAndSortingRepository<LifeCareCancelLogDO, String>, JpaSpecificationExecutor<LifeCareCancelLogDO> {
public interface LifeCareCancelLogDao extends JpaRepository<LifeCareCancelLogDO, String>, JpaSpecificationExecutor<LifeCareCancelLogDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareFeeDetailDao.java

@ -2,14 +2,14 @@ package com.yihu.jw.care.dao.lifeCare;
import com.yihu.jw.entity.care.lifeCare.LifeCareFeeDetailDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/3/26.
 */
public interface LifeCareFeeDetailDao extends PagingAndSortingRepository<LifeCareFeeDetailDO, String>, JpaSpecificationExecutor<LifeCareFeeDetailDO> {
public interface LifeCareFeeDetailDao extends JpaRepository<LifeCareFeeDetailDO, String>, JpaSpecificationExecutor<LifeCareFeeDetailDO> {
    List<LifeCareFeeDetailDO> findByOrderId(String orderId);
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareItemDictDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.lifeCare;
import com.yihu.jw.entity.care.lifeCare.LifeCareItemDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/3/26.
 */
public interface LifeCareItemDictDao  extends PagingAndSortingRepository<LifeCareItemDictDO, String>, JpaSpecificationExecutor<LifeCareItemDictDO> {
public interface LifeCareItemDictDao  extends JpaRepository<LifeCareItemDictDO, String>, JpaSpecificationExecutor<LifeCareItemDictDO> {
    @Query("from LifeCareItemDictDO w where  w.del=1 order by w.sort asc")
    List<LifeCareItemDictDO> findByAll();

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/LifeCareOrderDao.java

@ -2,12 +2,12 @@ package com.yihu.jw.care.dao.lifeCare;
import com.yihu.jw.entity.care.lifeCare.LifeCareOrderDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by yeshijie on 2021/3/26.
 */
public interface LifeCareOrderDao extends PagingAndSortingRepository<LifeCareOrderDO, String>, JpaSpecificationExecutor<LifeCareOrderDO> {
public interface LifeCareOrderDao extends JpaRepository<LifeCareOrderDO, String>, JpaSpecificationExecutor<LifeCareOrderDO> {
    boolean existsByPatientAndStatusIn(String patient, Integer[] status);
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/log/BasePatientPadPushOnOffDao.java

@ -4,12 +4,12 @@ import com.yihu.jw.entity.log.BasePatientPadPushOnOffEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by wsl on 2022/7/28
 */
public interface BasePatientPadPushOnOffDao extends PagingAndSortingRepository<BasePatientPadPushOnOffEntity, String>, JpaSpecificationExecutor<BasePatientPadPushOnOffEntity> {
public interface BasePatientPadPushOnOffDao extends JpaRepository<BasePatientPadPushOnOffEntity, String>, JpaSpecificationExecutor<BasePatientPadPushOnOffEntity> {
    @Modifying

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/log/BasePushRecordLogDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.log;
import com.yihu.jw.entity.log.BasePushRecordLogEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by wsl on 2022/7/4
 */
public interface BasePushRecordLogDao extends PagingAndSortingRepository<BasePushRecordLogEntity, String>, JpaSpecificationExecutor<BasePushRecordLogEntity> {
public interface BasePushRecordLogDao extends JpaRepository<BasePushRecordLogEntity, String>, JpaSpecificationExecutor<BasePushRecordLogEntity> {
    @Query("from BasePushRecordLogEntity")
    List<BasePushRecordLogEntity> findAll();

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/log/BasePushrecordLogInfoDao.java

@ -2,11 +2,11 @@ package com.yihu.jw.care.dao.log;
import com.yihu.jw.entity.log.BasePushrecordLogInfoEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by wsl on 2022/7/5
 */
public interface BasePushrecordLogInfoDao extends PagingAndSortingRepository<BasePushrecordLogInfoEntity, String>, JpaSpecificationExecutor<BasePushrecordLogInfoEntity> {
public interface BasePushrecordLogInfoDao extends JpaRepository<BasePushrecordLogInfoEntity, String>, JpaSpecificationExecutor<BasePushrecordLogInfoEntity> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/message/BaseServiceNewsDao.java

@ -4,7 +4,7 @@ import com.yihu.jw.entity.care.message.BaseServiceNews;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Date;
import java.util.List;
@ -16,7 +16,7 @@ import java.util.List;
 * @Date: 2021/6/18
 * @Description:
 */
public interface BaseServiceNewsDao extends PagingAndSortingRepository<BaseServiceNews,String>, JpaSpecificationExecutor<BaseServiceNews> {
public interface BaseServiceNewsDao extends JpaRepository<BaseServiceNews,String>, JpaSpecificationExecutor<BaseServiceNews> {
    @Query("select a from BaseServiceNews a ")
    List<BaseServiceNews> findNews(Pageable pageRequest);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/message/OrgNoticeDao.java

@ -2,10 +2,10 @@ package com.yihu.jw.care.dao.message;
import com.yihu.jw.entity.care.message.OrgNoticeDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/5/18.
 */
public interface OrgNoticeDao extends PagingAndSortingRepository<OrgNoticeDO,String>, JpaSpecificationExecutor<OrgNoticeDO> {
public interface OrgNoticeDao extends JpaRepository<OrgNoticeDO,String>, JpaSpecificationExecutor<OrgNoticeDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/message/UserNoticeDao.java

@ -2,13 +2,13 @@ package com.yihu.jw.care.dao.message;
import com.yihu.jw.entity.base.notice.UserNoticeDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * 用户公告通知
 * @author yeshijie on 2018/9/30.
 */
public interface UserNoticeDao extends PagingAndSortingRepository<UserNoticeDO, String>, JpaSpecificationExecutor<UserNoticeDO> {
public interface UserNoticeDao extends JpaRepository<UserNoticeDO, String>, JpaSpecificationExecutor<UserNoticeDO> {
    UserNoticeDO findByNoticeIdAndUserIdAndDel(String noticeId,String userId,Integer del);
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/prescription/BaseCarePrescriptionDao.java

@ -4,12 +4,12 @@ import com.yihu.jw.entity.care.message.OrgNoticeDO;
import com.yihu.jw.entity.care.prescription.BaseCarePrescriptionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by yeshijie on 2021/10/11.
 */
public interface BaseCarePrescriptionDao  extends PagingAndSortingRepository<BaseCarePrescriptionDO,String>, JpaSpecificationExecutor<BaseCarePrescriptionDO> {
public interface BaseCarePrescriptionDao  extends JpaRepository<BaseCarePrescriptionDO,String>, JpaSpecificationExecutor<BaseCarePrescriptionDO> {
    @Query(value = " select * from base_care_prescription a where a.patient =?1 order by a.create_time desc limit 1",nativeQuery = true)
    BaseCarePrescriptionDO selectOneByPatient(String patient);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/role/DoctorRoleDao.java

@ -7,12 +7,12 @@ package com.yihu.jw.care.dao.role;
import com.yihu.jw.entity.care.role.DoctorRole;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface DoctorRoleDao extends PagingAndSortingRepository<DoctorRole, Long> {
public interface DoctorRoleDao extends JpaRepository<DoctorRole, Long> {
    @Query(value = "select b.* from wlyy_user_role a,wlyy_role b where a.role = b.code and a.user = ?1",nativeQuery = true)
    List<DoctorRole> findUserRole(String user);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/role/DoctorRoleRealmDao.java

@ -6,12 +6,12 @@
package com.yihu.jw.care.dao.role;
import com.yihu.jw.entity.care.role.DoctorRoleRealm;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface DoctorRoleRealmDao extends PagingAndSortingRepository<DoctorRoleRealm, Long> {
public interface DoctorRoleRealmDao extends JpaRepository<DoctorRoleRealm, Long> {
    List<DoctorRoleRealm> findByRoleCode(String roleCode);
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/role/UserRoleDao.java

@ -6,10 +6,10 @@
package com.yihu.jw.care.dao.role;
import com.yihu.jw.entity.care.role.WlyyUserRole;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRoleDao extends PagingAndSortingRepository<WlyyUserRole, Long> {
public interface UserRoleDao extends JpaRepository<WlyyUserRole, Long> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/BaseEmergencyWarnLogDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.security;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/8/9.
 */
public interface BaseEmergencyWarnLogDao extends PagingAndSortingRepository<BaseEmergencyWarnLogDO, Long>,
public interface BaseEmergencyWarnLogDao extends JpaRepository<BaseEmergencyWarnLogDO, Long>,
        JpaSpecificationExecutor<BaseEmergencyWarnLogDO> {
    @Query("select w from BaseEmergencyWarnLogDO w where w.orderId = ?1 and w.type is null ")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/EmergencyWarnCancelLogDao.java

@ -4,12 +4,12 @@ package com.yihu.jw.care.dao.security;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnCancelLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/4/7.
 */
public interface EmergencyWarnCancelLogDao extends PagingAndSortingRepository<EmergencyWarnCancelLogDO,String>,
public interface EmergencyWarnCancelLogDao extends JpaRepository<EmergencyWarnCancelLogDO,String>,
        JpaSpecificationExecutor<EmergencyWarnCancelLogDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/EmergencyWarnConclusionDao.java

@ -4,13 +4,13 @@ package com.yihu.jw.care.dao.security;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnConclusionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/4/7.
 */
public interface EmergencyWarnConclusionDao extends PagingAndSortingRepository<EmergencyWarnConclusionDO,String>,
public interface EmergencyWarnConclusionDao extends JpaRepository<EmergencyWarnConclusionDO,String>,
        JpaSpecificationExecutor<EmergencyWarnConclusionDO> {
    @Query("select c from EmergencyWarnConclusionDO c where c.orderId = ?1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/EmergencyWarnDoctorResponseDao.java

@ -3,12 +3,12 @@ package com.yihu.jw.care.dao.security;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnDoctorResponseDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/5/21.
 */
public interface EmergencyWarnDoctorResponseDao extends PagingAndSortingRepository<EmergencyWarnDoctorResponseDO,String>,
public interface EmergencyWarnDoctorResponseDao extends JpaRepository<EmergencyWarnDoctorResponseDO,String>,
        JpaSpecificationExecutor<EmergencyWarnDoctorResponseDO> {
    EmergencyWarnDoctorResponseDO findByDoctorAndOrderId(String doctor,String orderId);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/SecurityMonitoringDoctorStatusDao.java

@ -2,12 +2,12 @@ package com.yihu.jw.care.dao.security;
import com.yihu.jw.entity.care.securitymonitoring.SecurityMonitoringDoctorStatusDo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2021/4/7.
 */
public interface SecurityMonitoringDoctorStatusDao extends PagingAndSortingRepository<SecurityMonitoringDoctorStatusDo,String>,
public interface SecurityMonitoringDoctorStatusDao extends JpaRepository<SecurityMonitoringDoctorStatusDo,String>,
        JpaSpecificationExecutor<SecurityMonitoringDoctorStatusDo> {
    SecurityMonitoringDoctorStatusDo findByDoctor(String doctor);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/SecurityMonitoringOrderDao.java

@ -4,7 +4,7 @@ import com.yihu.jw.entity.care.securitymonitoring.SecurityMonitoringOrderDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -12,7 +12,7 @@ import java.util.List;
/**
 * Created by Bing on 2021/4/6.
 */
public interface SecurityMonitoringOrderDao extends PagingAndSortingRepository<SecurityMonitoringOrderDO,String>,
public interface SecurityMonitoringOrderDao extends JpaRepository<SecurityMonitoringOrderDO,String>,
        JpaSpecificationExecutor<SecurityMonitoringOrderDO> {
    boolean existsByPatientAndStatusIn(String patient,Integer[] status);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ArchiveDao.java

@ -5,14 +5,14 @@ import javafx.scene.shape.Arc;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/2/24.
 */
public interface ArchiveDao extends PagingAndSortingRepository<ArchiveDO, String>, JpaSpecificationExecutor<ArchiveDO> {
public interface ArchiveDao extends JpaRepository<ArchiveDO, String>, JpaSpecificationExecutor<ArchiveDO> {
    ArchiveDO findByIdcardAndDoctorCode(String idcard, String doctorCode);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/BasePatientHelperDao.java

@ -3,12 +3,12 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.base.servicePackage.BasePatientHelperDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created by Bing on 2022/3/11.
 */
public interface BasePatientHelperDao extends PagingAndSortingRepository<BasePatientHelperDO,Long>,
public interface BasePatientHelperDao extends JpaRepository<BasePatientHelperDO,Long>,
        JpaSpecificationExecutor<BasePatientHelperDO> {
    @Query("select p from BasePatientHelperDO p where p.patient=?1 and p.doctor=?2 and p.del=1 ")
    BasePatientHelperDO findByPatientAndDoctor(String patient,String doctor);

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentBaseInfoDao.java

@ -4,14 +4,14 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.care.sign.CapacityAssessmentBaseInfoDo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/4/1.
 */
public interface CapacityAssessmentBaseInfoDao extends PagingAndSortingRepository<CapacityAssessmentBaseInfoDo, String>,
public interface CapacityAssessmentBaseInfoDao extends JpaRepository<CapacityAssessmentBaseInfoDo, String>,
        JpaSpecificationExecutor<CapacityAssessmentBaseInfoDo> {
    @Query("select c from CapacityAssessmentBaseInfoDo c where c.patient=?1 and c.assessmentYear=?2 and c.status=1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentCognitiveAbilityDao.java

@ -4,14 +4,14 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.care.sign.CapacityAssessmentCognitiveAbilityDo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/4/1.
 */
public interface CapacityAssessmentCognitiveAbilityDao extends PagingAndSortingRepository<CapacityAssessmentCognitiveAbilityDo, String>,
public interface CapacityAssessmentCognitiveAbilityDao extends JpaRepository<CapacityAssessmentCognitiveAbilityDo, String>,
        JpaSpecificationExecutor<CapacityAssessmentCognitiveAbilityDo> {
    @Query("select c from CapacityAssessmentCognitiveAbilityDo c where c.patient=?1 and c.assessmentYear=?2 and c.status=1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentLivingAbilityDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.care.sign.CapacityAssessmentLivingAbilityDo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/4/1.
 */
public interface CapacityAssessmentLivingAbilityDao extends PagingAndSortingRepository<CapacityAssessmentLivingAbilityDo, String>,
public interface CapacityAssessmentLivingAbilityDao extends JpaRepository<CapacityAssessmentLivingAbilityDo, String>,
        JpaSpecificationExecutor<CapacityAssessmentLivingAbilityDo> {
    @Query("select c from CapacityAssessmentLivingAbilityDo c where c.patient=?1 and c.assessmentYear=?2 and c.status=1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentRecordDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.care.sign.CapacityAssessmentRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Date;
/**
 * Created by yeshijie on 2021/2/25.
 */
public interface CapacityAssessmentRecordDao extends PagingAndSortingRepository<CapacityAssessmentRecordDO, String>,
public interface CapacityAssessmentRecordDao extends JpaRepository<CapacityAssessmentRecordDO, String>,
        JpaSpecificationExecutor<CapacityAssessmentRecordDO> {
    @Query("select c from CapacityAssessmentRecordDO c where c.patient=?1 and c.assessmentTime>=?2 ")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityAssessmentSocialAbilityDao.java

@ -3,14 +3,14 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.care.sign.CapacityAssessmentSocialAbilityDo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by Bing on 2021/4/1.
 */
public interface CapacityAssessmentSocialAbilityDao extends PagingAndSortingRepository<CapacityAssessmentSocialAbilityDo, String>,
public interface CapacityAssessmentSocialAbilityDao extends JpaRepository<CapacityAssessmentSocialAbilityDo, String>,
        JpaSpecificationExecutor<CapacityAssessmentSocialAbilityDo> {
    @Query("select c from CapacityAssessmentSocialAbilityDo c where c.patient=?1 and c.assessmentYear=?2 and c.status=1")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/CapacityDoctorDao.java

@ -2,7 +2,7 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.care.sign.CapacityDoctorDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * Created with IntelliJ IDEA.
@ -11,7 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Date: 2021/5/8
 * @Description:
 */
public interface CapacityDoctorDao extends PagingAndSortingRepository<CapacityDoctorDO, String>, JpaSpecificationExecutor<CapacityDoctorDO> {
public interface CapacityDoctorDao extends JpaRepository<CapacityDoctorDO, String>, JpaSpecificationExecutor<CapacityDoctorDO> {
    CapacityDoctorDO findByCapacityIdAndDoctorId(String capacityId, String doctorId);
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageDao.java

@ -2,13 +2,13 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.base.servicePackage.ServicePackageDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 *
 * @author yeshijie on 2018/8/17.
 */
public interface ServicePackageDao extends PagingAndSortingRepository<ServicePackageDO, String>, JpaSpecificationExecutor<ServicePackageDO> {
public interface ServicePackageDao extends JpaRepository<ServicePackageDO, String>, JpaSpecificationExecutor<ServicePackageDO> {
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageItemDao.java

@ -4,14 +4,14 @@ import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/2/23.
 */
public interface ServicePackageItemDao extends PagingAndSortingRepository<ServicePackageItemDO, String>, JpaSpecificationExecutor<ServicePackageItemDO> {
public interface ServicePackageItemDao extends JpaRepository<ServicePackageItemDO, String>, JpaSpecificationExecutor<ServicePackageItemDO> {
    @Query("from ServicePackageItemDO w where w.servicePackageId =?1 and w.del='1'")

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageRecordDao.java

@ -2,14 +2,14 @@ package com.yihu.jw.care.dao.sign;
import com.yihu.jw.entity.base.servicePackage.ServicePackageRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/2/25.
 */
public interface ServicePackageRecordDao extends PagingAndSortingRepository<ServicePackageRecordDO, String>, JpaSpecificationExecutor<ServicePackageRecordDO> {
public interface ServicePackageRecordDao extends JpaRepository<ServicePackageRecordDO, String>, JpaSpecificationExecutor<ServicePackageRecordDO> {
    List<ServicePackageRecordDO> findBySignId(String signId);

+ 0 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/sign/ServicePackageSignRecordDao.java


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels