Explorar o código

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

yeshijie %!s(int64=7) %!d(string=hai) anos
pai
achega
e5d3627ff9
Modificáronse 35 ficheiros con 432 adicións e 219 borrados
  1. 64 1
      common/common-entity/src/main/java/com/yihu/wlyy/entity/patient/prescription/PrescriptionExpressageLog.java
  2. 1 1
      patient-co-customization/patient-co-modern-medicine/src/main/java/com/yihu/mm/controller/medicine/PhysicalExaminationController.java
  3. 1 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/config/SpringSecurityConfig.java
  4. 4 4
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/common/account/CustomerController.java
  5. 7 0
      patient-co/patient-co-statistics/pom.xml
  6. 6 6
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/config/war/ServletInitializer.java
  7. 1 1
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java
  8. 1 1
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultTotalJob.java
  9. 14 14
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java
  10. 4 4
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/NoReyConsultJob.java
  11. 4 4
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyConsultJob.java
  12. 4 4
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyTimeConsultJob.java
  13. 11 10
      patient-co/patient-co-statistics/src/main/resources/application.yml
  14. 11 0
      patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/event/ApplicationEvent.java
  15. 1 0
      patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/job/PrescriptionExecuteSickSettleJob.java
  16. 4 0
      patient-co/patient-co-wlyy-job/src/main/resources/system.properties
  17. 7 0
      patient-co/patient-co-wlyy/pom.xml
  18. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java
  19. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java
  20. 22 8
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java
  21. 8 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/prescription/PrescriptionDispensaryCodeDao.java
  22. 44 16
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionExpressageService.java
  23. 3 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java
  24. 12 6
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java
  25. 17 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statistics/StatisticsService.java
  26. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionLogController.java
  27. 155 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java
  28. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcMessageController.java
  29. 1 94
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java
  30. 3 6
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcUserController.java
  31. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/express/SFExpressApiController.java
  32. 0 21
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/DoctorLoginModel.java
  33. 12 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/LoginModel.java
  34. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java
  35. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionLogController.java

+ 64 - 1
common/common-entity/src/main/java/com/yihu/wlyy/entity/patient/prescription/PrescriptionExpressageLog.java

@ -18,11 +18,20 @@ public class PrescriptionExpressageLog extends IdEntity{
    private String code;                    //业务code
    private String prescriptionCode;      //处方code  关联表wlyy_prescription code
    private String expressageCode;//配送code 关联wlyy_prescription_expressage code
    private String expressageCode; //配送code 关联wlyy_prescription_expressage code
    private Date createTime;                //创建的时间
    private String remark;//备注
    //健管师配送时候填写字段
    //配送人
    private String expressageHospitalName;            // 如果配送方式是健管师那么这个字段存服务站名称,如果是快递配送那么是快递公司名称
    private String expressageHospitalAddress;         // 配送机构地址
    private String expressageHospitalCode;            //配送机构code
    private String expressageUserName;          //配送人名称
    private String expressageUserCode;          //配送人code
    private String expressageUserMobile;        //配送人电话
    private Date   expressageTime;                //开始配送的时间
    //接收人
    private String acceptHospital;// /健管师配送 接收机构
    private String acceptHospitalName;///健管师配送 接收机构名称
    private String acceptUser;///健管师配送 接收人
@ -152,5 +161,59 @@ public class PrescriptionExpressageLog extends IdEntity{
        this.acceptUserMobile = acceptUserMobile;
    }
    public String getExpressageHospitalName() {
        return expressageHospitalName;
    }
    public void setExpressageHospitalName(String expressageHospitalName) {
        this.expressageHospitalName = expressageHospitalName;
    }
    public String getExpressageHospitalAddress() {
        return expressageHospitalAddress;
    }
    public void setExpressageHospitalAddress(String expressageHospitalAddress) {
        this.expressageHospitalAddress = expressageHospitalAddress;
    }
    public String getExpressageHospitalCode() {
        return expressageHospitalCode;
    }
    public void setExpressageHospitalCode(String expressageHospitalCode) {
        this.expressageHospitalCode = expressageHospitalCode;
    }
    public String getExpressageUserName() {
        return expressageUserName;
    }
    public void setExpressageUserName(String expressageUserName) {
        this.expressageUserName = expressageUserName;
    }
    public String getExpressageUserCode() {
        return expressageUserCode;
    }
    public void setExpressageUserCode(String expressageUserCode) {
        this.expressageUserCode = expressageUserCode;
    }
    public String getExpressageUserMobile() {
        return expressageUserMobile;
    }
    public void setExpressageUserMobile(String expressageUserMobile) {
        this.expressageUserMobile = expressageUserMobile;
    }
    public Date getExpressageTime() {
        return expressageTime;
    }
    public void setExpressageTime(Date expressageTime) {
        this.expressageTime = expressageTime;
    }
}

+ 1 - 1
patient-co-customization/patient-co-modern-medicine/src/main/java/com/yihu/mm/controller/medicine/PhysicalExaminationController.java

@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
@CrossOrigin
@RestController
@RequestMapping(value = "/medicine/physicalExamination")
public class PhysicalExaminationController extends BaseController {
@ -50,7 +51,6 @@ public class PhysicalExaminationController extends BaseController {
    @Autowired
    private ExamReportService examReportService;
    @ApiOperation(value = "获取试卷列表")
    @RequestMapping(value = "/findExames",produces="application/json;charset=UTF-8")
    @ResponseBody

+ 1 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/config/SpringSecurityConfig.java

@ -29,6 +29,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
                "/common/**",
                "/login/**",
                "/yueren/**",
                "/customer/**",
                "/admin/hos/doctor/importFromExcel",
                "/admin/hos/doctor/importData",
                "/admin/team/importData",

+ 4 - 4
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/common/account/CustomerController.java

@ -74,7 +74,7 @@ public class CustomerController extends BaseController {
            wlyyCustomerLog.setUser(curUser.getCode());
            wlyyCustomerLog.setType(1);
            wlyyCustomerLogService.save(wlyyCustomerLog);
            return write(1,"登入成功","user",curUser);
            return write(200,"登入成功","user",curUser);
        }
    }
@ -92,7 +92,7 @@ public class CustomerController extends BaseController {
        wlyyCustomerLog.setUser(code);
        wlyyCustomerLog.setType(0);
        wlyyCustomerLogService.save(wlyyCustomerLog);
        return write(1,"退出成功");
        return write(200,"退出成功");
    }
    /**
@ -126,7 +126,7 @@ public class CustomerController extends BaseController {
        }
        Map<String, Object> resp = customerService.findServerInfo(patient);
        resp.put("patient",patient);
        return write(1,"查询成功","data",resp);
        return write(200,"查询成功","data",resp);
    }
    /**
@ -144,6 +144,6 @@ public class CustomerController extends BaseController {
        }
        Map<String, Object> resp = customerService.findServerInfo(patient);
        resp.put("patient",patient);
        return write(1,"查询成功","data",resp);
        return write(200,"查询成功","data",resp);
    }
}

+ 7 - 0
patient-co/patient-co-statistics/pom.xml

@ -417,6 +417,13 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>

+ 6 - 6
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/config/war/ServletInitializer.java

@ -7,9 +7,9 @@ import org.springframework.boot.context.web.SpringBootServletInitializer;
/**
 * Created by Administrator on 2016.10.14.
 */
//public class ServletInitializer extends SpringBootServletInitializer {
//    @Override
//    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//        return application.sources(Application.class);
//    }
//}
public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

+ 1 - 1
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java

@ -87,7 +87,7 @@ public class ConsultJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select admin_team_code,id from wlyy_consult_team a where  a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.type=2 and  a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= dbExtract.extract(ConsultTeam.class,sql);
            //過濾數據

+ 1 - 1
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultTotalJob.java

@ -83,7 +83,7 @@ public class ConsultTotalJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.czrq< '"+yesterday+ Constant.quota_date_last+"' and a.czrq >='"+Constant.getStartTimeByDate(yesterday)+ Constant.quota_date_last+"'";
            String sql=" select admin_team_code,id from wlyy_consult_team a where  a.type=2 and  a.czrq< '"+yesterday+ Constant.quota_date_last+"' and a.czrq >='"+Constant.getStartTimeByDate(yesterday)+ Constant.quota_date_last+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= dbExtract.extract(ConsultTeam.class,sql);
            //過濾數據

+ 14 - 14
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java

@ -296,7 +296,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -304,7 +304,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -313,9 +313,9 @@ public class CurrentDayAllQuotaJob implements Job {
            }
            String sql = "";
            if (consultIdMaps.size() > 0) {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
            } else {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult ='noRey' ";
            }
            System.out.println("consultTeams num:" + consultTeams.size());
@ -348,7 +348,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -356,7 +356,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) +Constant.quota_date_last+ "' and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) +Constant.quota_date_last+ "' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -366,9 +366,9 @@ public class CurrentDayAllQuotaJob implements Job {
            String sql = "";
            //找出今天的咨询信息
            if (consultIdMaps.size() > 0) {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and a.consult in (" + sb.toString() + ")";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and a.consult in (" + sb.toString() + ")";
            } else {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and a.consult ='Rey' ";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where a.type=2 and   a.czrq< '" + tomorrow + "' and a.consult ='Rey' ";
            }
            System.out.println("consultTeams num:" + consultTeams.size());
@ -410,7 +410,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -418,7 +418,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -428,9 +428,9 @@ public class CurrentDayAllQuotaJob implements Job {
            String sql = "";
            //找出今天的咨询信息
            if (consultIdMaps.size() > 0) {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
            } else {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult ='Rey' ";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult ='Rey' ";
            } //抽取數據
            List<ConsultTeamDto> consultTeamDtos = getConsultTeams(ims, consultTeams);
@ -943,7 +943,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "3";
        try {
            //找出今天的咨询信息
            String sql = " select * from wlyy_consult_team a where  a.czrq>= '" + now + "'and a.czrq< '" + tomorrow + "'";
            String sql = " select * from wlyy_consult_team a where  a.type=2 and  a.czrq>= '" + now + "'and a.czrq< '" + tomorrow + "'";
            //抽取數據
            List<ConsultTeam> consultTeams = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
            //過濾數據
@ -1117,7 +1117,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "25";
        try {
            //找出总的咨询信息
            String sql = " select * from wlyy_consult_team a where a.czrq< '" + tomorrow + "' and  a.czrq>= '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'";
            String sql = " select * from wlyy_consult_team a where a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq>= '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'";
            //抽取數據
            List<ConsultTeam> consultTeams = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
            //過濾數據

+ 4 - 4
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/NoReyConsultJob.java

@ -104,7 +104,7 @@ public class NoReyConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -112,7 +112,7 @@ public class NoReyConsultJob implements Job {
                }else{
                    //判断是不是最后的一段
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -122,9 +122,9 @@ public class NoReyConsultJob implements Job {
            String sql = "";
            if (consultIdMaps.size() > 0) {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")  and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")  and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
            } else {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult ='noRey' and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult ='noRey' and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
            }
            //過濾數據
            FilterModel etlModels = consultDataFilter.filter(consultTeams, sql, yesterday);

+ 4 - 4
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyConsultJob.java

@ -107,7 +107,7 @@ public class ReyConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -115,7 +115,7 @@ public class ReyConsultJob implements Job {
                }else{
                    //判断是不是最后的剩下一端不能被100整除的
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -125,9 +125,9 @@ public class ReyConsultJob implements Job {
            String sql ="";
            if(consultIdMaps.size()>0){
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
            }else{
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
            } //抽取數據
            System.out.println("consultTeams num"+consultTeams.size());

+ 4 - 4
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyTimeConsultJob.java

@ -119,7 +119,7 @@ public class ReyTimeConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"'and a.consult in (" + sb.toString() + ")";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"'and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -127,7 +127,7 @@ public class ReyTimeConsultJob implements Job {
                }else{
                    //判断是不是最后的剩下一端不能被100整除的
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -137,9 +137,9 @@ public class ReyTimeConsultJob implements Job {
            String sql ="";
            if(consultIdMaps.size()>0){
                sql = " select admin_team_code,id,consult from wlyy_consult_team a, where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a, where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
            }else{
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
            }
            //将两个数据库的结果集合并,避免跨库查询

+ 11 - 10
patient-co/patient-co-statistics/src/main/resources/application.yml

@ -1,4 +1,5 @@
server:
  context-path: /quota
  port: 8081
spring:
@ -110,7 +111,7 @@ redis:
---
spring:
  profiles: cwd
  profiles: dev_test
  datasource:
    primaryReadWrite:
@ -143,17 +144,17 @@ spring:
  datasource:
    primaryReadWrite:
      url: jdbc:mysql://172.19.103.85/wlyy?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: linzhou
      password: linzhou
      url: jdbc:mysql://172.17.110.160/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: ssgg
      password: ssgg
    primaryRead:
      url: jdbc:mysql://172.19.103.85/wlyy?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: linzhou
      password: linzhou
      url: jdbc:mysql://172.17.110.160/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: ssgg
      password: ssgg
    im: #im库
      url: jdbc:mysql://172.17.110.160/im_new?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: linzhou
      password: linzhou
      url: jdbc:mysql://172.17.110.160/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: ssgg
      password: ssgg
  redis:
    host: 172.19.103.88 # Redis server host.

+ 11 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/event/ApplicationEvent.java

@ -75,6 +75,8 @@ public class ApplicationEvent implements ApplicationListener<ContextRefreshedEve
            } else {
                logger.info("sfexpress reorder job job exist");
            }
            //同步智业字典 每晚1点同步
            if (!quartzHelper.isExistJob("zy_dict_job")) {
                String trigger = SystemConf.getInstance().getSystemProperties().getProperty("zy_dict_job");
@ -84,6 +86,15 @@ public class ApplicationEvent implements ApplicationListener<ContextRefreshedEve
                logger.info("zy_dict_job job exist");
            }
            //遍历支付成功,院内结算失败的的记录,重新结算,10分钟跑一次
            if (!quartzHelper.isExistJob("zy_execute_sick_settle_job")) {
                String trigger = SystemConf.getInstance().getSystemProperties().getProperty("zy_execute_sick_settle_job");
                quartzHelper.addJob(PrescriptionExecuteSickSettleJob.class, trigger, "zy_execute_sick_settle_job", new HashMap<String, Object>());
                logger.info("zy_execute_sick_settle_job reorder job job success");
            } else {
                logger.info("zy_execute_sick_settle_job reorder job job exist");
            }
        } catch (Exception e) {
            logger.info("sign end job start failed");

+ 1 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/job/PrescriptionExecuteSickSettleJob.java

@ -40,6 +40,7 @@ public class PrescriptionExecuteSickSettleJob implements Job {
                        jwPrescriptionService.executeSickSettle(code);
                    }catch (Exception e){
                        logger.info("ERROR======重新执行院内结算的JOB,CODE:"+code+",message:" +e.getMessage());
                        continue;
                    }
                }
            }

+ 4 - 0
patient-co/patient-co-wlyy-job/src/main/resources/system.properties

@ -87,6 +87,10 @@ sfexpress_reorder_job=0 0/10 * * * ?
#同步智业字典
zy_dict_job=0 0 1 * * ?
#遍历支付成功,院内结算失败的的记录,重新结算,10分钟跑一次
zy_execute_sick_settle_job=0 0/10 * * * ?
#统一支付平台支付成功后页面跳转地址
return_url={server}/wx/html/qygl/html/pay_result.html
#统一支付平台支付接口地址

+ 7 - 0
patient-co/patient-co-wlyy/pom.xml

@ -412,6 +412,13 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java

@ -31,8 +31,8 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
        // 多个拦截器组成一个拦截器链
        // addPathPatterns 用于添加拦截规则
        // excludePathPatterns 用户排除拦截
        registry.addInterceptor(gateWayInterceptor).addPathPatterns("/wlyygc/**");
        registry.addInterceptor(doctorInterceptor).addPathPatterns("/doctor/**", "/statistics/province/**", "/statistics/**", "/wlyygc/**");
        registry.addInterceptor(gateWayInterceptor).addPathPatterns("/wlyygc/**").excludePathPatterns("/wlyygc/doctor/**");
        registry.addInterceptor(doctorInterceptor).addPathPatterns("/doctor/**", "/statistics/province/**", "/statistics/**", "wlyygc/doctor/**");
        registry.addInterceptor(patientInterceptor).addPathPatterns("/patient/**");
        super.addInterceptors(registry);

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java

@ -92,7 +92,7 @@ public class SwaggerConfig {
    private List<Parameter> addUseragent() {
        ParameterBuilder tokenPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        tokenPar.name("userAgent").description(userAgentJson).modelRef(new ModelRef("string")).parameterType("header").required(false).defaultValue(userAgent).build();
        tokenPar.name("userAgent").description(userAgentJson).modelRef(new ModelRef("string")).parameterType("header").required(false).defaultValue("").build();
        pars.add(tokenPar.build());
        return pars;
    }

+ 22 - 8
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java

@ -6,23 +6,32 @@ package com.yihu.wlyy.interceptors;
import com.yihu.wlyy.entity.gateway.GcHttpLog;
import com.yihu.wlyy.entity.gateway.GcToken;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.entity.url.CudUrl;
import com.yihu.wlyy.repository.gateway.GcHttpLogDao;
import com.yihu.wlyy.repository.gateway.GcTokenDao;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.NetworkUtil;
import com.yihu.wlyy.util.SystemConf;
import com.yihu.wlyy.util.SystemData;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.Date;
import java.util.Map;
/**
 * 对外的请求拦截
@ -34,7 +43,7 @@ public class GateWayInterceptor extends BaseInterceptor {
    @Autowired
    private GcHttpLogDao httpLogDao;
    @Autowired
    private GcTokenDao tokenDao;
    private GcTokenDao gcTokenDaoDao;
    /**
     * preHandle:预处理回调方法
@ -47,33 +56,38 @@ public class GateWayInterceptor extends BaseInterceptor {
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String token = request.getParameter("accesstoken");
        boolean flag = true;
        String accesstoken = request.getParameter("accesstoken");
        String ip = NetworkUtil.getIpAddress(request);
        //********************************判断accesstoken********************************
        try {
            GcToken gcToken = tokenDao.findByToken(token);
            GcToken gcToken = gcTokenDaoDao.findByToken(accesstoken);
            if (gcToken == null) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                //没权限
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_no_power.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            if (gcToken.getDel() == null || gcToken.getDel() == 0) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                //token无效
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_out_effect.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            if (System.currentTimeMillis() > gcToken.getOutTime().getTime()) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                //token过期
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_out_time.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
        } catch (Exception e) {
            saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), e.getMessage());
            saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), e.getMessage());
            return false;
        }
        return true;
        //********************************判断accesstoken********************************
        return flag;
    }
    /**

+ 8 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/prescription/PrescriptionDispensaryCodeDao.java

@ -30,5 +30,13 @@ public interface PrescriptionDispensaryCodeDao extends PagingAndSortingRepositor
//    @Query("select p1 from PrescriptionInfo p1 left join Prescription p2 on p1.prescriptionCode=p2.code where p1.prescriptionCode = ?1")
//    List<PrescriptionInfo> getPrescriptionInfo(String prescriptionCode);
    /**
     * 更新处方某一类型的编码为使用
     * @param prescriptionCode
     * @param type
     */
    @Query(" update PrescriptionDispensaryCode a set a.isUse=1 where a.prescriptionCode= ?1 and a.type =?2 and a.isUse=0")
    void updateToUse(String prescriptionCode, Integer type);
    PrescriptionDispensaryCode findByCodeAndIsUse(String code, Integer isUse);
}

+ 44 - 16
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionExpressageService.java

@ -118,7 +118,7 @@ public class PrescriptionExpressageService {
            }
            case 3: {
                //判断是3 配送员(健管师)配送码
                returnStatus = dispensaryCode_3(userCode, prescriptionDispensaryCode);
                // returnStatus = dispensaryCode_3(userCode, prescriptionDispensaryCode);
                break;
            }
            default: {
@ -217,15 +217,17 @@ public class PrescriptionExpressageService {
    /**
     * 配送员(健管师)配送码
     *
     *  没用的代码
     * @param userCode
     * @param prescriptionDispensaryCode
     * @return
     */
    @Deprecated
    private Integer dispensaryCode_3(String userCode, PrescriptionDispensaryCode prescriptionDispensaryCode) throws Exception {
        //获取配送的医生信息
        Doctor doctor = doctorDao.findByCode(userCode);
        //判断是不是最终的服务站
        //修改处方状态为配送到服务站
        Prescription prescription = prescriptionDao.findByCode(prescriptionDispensaryCode.getPrescriptionCode());
        Date expressage2hospitalDate = new Date();
@ -325,14 +327,19 @@ public class PrescriptionExpressageService {
        prescriptionLogDao.save(prescriptionLog);
        //提醒健管师待取药
        prescriptionService.waitExpressageMessage(prescriptionCode,code);
        prescriptionService.waitExpressageMessage(prescriptionCode, code);
    }
    @Transactional
    public void expressage2Hospital(String hospital, String hospitalName, String hospitalAddress, String userCode, String userName, String mobile, String prescriptionCode) {
        PrescriptionExpressage prescriptionExpressage = prescriptionExpressageDao.findByPrescriptionCode(prescriptionCode);
        //添加配送日志
        PrescriptionExpressageLog prescriptionExpressageLog = new PrescriptionExpressageLog();
        prescriptionExpressageLog.setCreateTime(new Date());
        prescriptionExpressageLog.setCode(UUID.randomUUID().toString());
        prescriptionExpressageLog.setPrescriptionCode(prescriptionCode);
        //设置接收人
        prescriptionExpressageLog.setAcceptAddress(hospitalAddress);
        prescriptionExpressageLog.setAcceptHospital(hospital);
        prescriptionExpressageLog.setAcceptHospitalName(hospitalName);
@ -340,28 +347,49 @@ public class PrescriptionExpressageService {
        prescriptionExpressageLog.setAcceptUser(userCode);
        prescriptionExpressageLog.setAcceptUserName(userName);
        prescriptionExpressageLog.setAcceptUserMobile(mobile);
        prescriptionExpressageLog.setCreateTime(new Date());
        prescriptionExpressageLog.setCode(UUID.randomUUID().toString());
        prescriptionExpressageLog.setPrescriptionCode(prescriptionCode);
        //设置配送人
        prescriptionExpressageLog.setExpressageCode(prescriptionExpressage.getCode());
        prescriptionExpressageLog.setExpressageHospitalAddress(prescriptionExpressage.getExpressageHospitalAddress());
        prescriptionExpressageLog.setExpressageHospitalCode(prescriptionExpressage.getExpressageHospitalCode());
        prescriptionExpressageLog.setExpressageHospitalName(prescriptionExpressage.getExpressageHospitalName());
        prescriptionExpressageLog.setExpressageTime(prescriptionExpressage.getExpressageTime());
        prescriptionExpressageLog.setExpressageUserCode(prescriptionExpressage.getExpressageCode());
        prescriptionExpressageLog.setExpressageUserMobile(prescriptionExpressage.getExpressageMobile());
        prescriptionExpressageLog.setExpressageUserName(prescriptionExpressage.getExpressageName());
        prescriptionExpressageLogDao.save(prescriptionExpressageLog);
        //更新配送表,接收药品信息
        prescriptionExpressage.setAcceptCode(userCode);
        prescriptionExpressage.setAcceptName(userName);
        prescriptionExpressage.setAcceptMobile(mobile);
        prescriptionExpressage.setAcceptHospital(hospital);
        prescriptionExpressage.setAcceptHospitalName(hospitalName);
        prescriptionExpressage.setAcceptHospitalAddress(hospitalAddress);
        prescriptionExpressage.setAcceptTime(new Date());
        /**
         * 判断如果服务站和患者填写的服务站一致  那么就修改处方状态为送达服务站
         * 判断如果服务站和患者填写的服务站一致
         */
        if (hospital.equals(prescriptionExpressage.getPatientHospitalCode())) {
            // 如果是最后服务站
            //设置配送码失效
            prescriptionDispensaryCodeDao.updateToUse(prescriptionCode,3);
            //修改处方是配送完成
            Prescription prescription = prescriptionDao.findByCode(prescriptionCode);
            prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.expressage2hospital.getValue());
            prescription.setExpressageTime(new Date());
            prescriptionExpressage.setAcceptCode(userCode);
            prescriptionExpressage.setAcceptName(userName);
            prescriptionExpressage.setAcceptMobile(mobile);
            prescriptionExpressage.setAcceptHospital(hospital);
            prescriptionExpressage.setAcceptHospitalName(hospitalName);
            prescriptionExpressage.setAcceptHospitalAddress(hospitalAddress);
            prescriptionExpressage.setAcceptTime(new Date());
        }else{
            //如果不是重点服务站,更新配送表,更新配送信息是当前登陆人
            prescriptionExpressage.setExpressageCode(userCode);
            prescriptionExpressage.setExpressageName(userName);
            prescriptionExpressage.setExpressageMobile(mobile);
            prescriptionExpressage.setExpressageHospitalCode(hospital);
            prescriptionExpressage.setExpressageHospitalName(hospitalName);
            prescriptionExpressage.setExpressageHospitalAddress(hospitalAddress);
        }
    }
}

+ 3 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java

@ -406,8 +406,6 @@ public class PrescriptionInfoService extends BaseService {
                p.setPrescribeReason(byRefParaData.getJSONObject(0).getString("errorMsg"));
                p.setPrescribeTime(new Date());
                prescriptionDao.save(p);
                //审核不通过模板消息
                sendRMess(p.getCode(), 0);
                return 0;
            }
        }
@ -541,7 +539,6 @@ public class PrescriptionInfoService extends BaseService {
                //修改系统的续方消息的审核状态
                messageDao.updatePreScriptionMessage(p.getConsult(), "2", 6);
                //审核不用过发送消息
                //发送Im消息
                JSONObject content = new JSONObject();
@ -550,6 +547,9 @@ public class PrescriptionInfoService extends BaseService {
                content.put("reason", reason);
                content.put("url", "");
                imUtill.sendTopicIM(p.getDoctor(), p.getDoctorName(), p.getConsult(), "15", content.toString(), null);
                //审核不通过模板消息
                sendRMess(p.getCode(), 0);
            }
            prescriptionReviewedDao.save(reviewed);
            prescriptionDao.save(p);

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 12 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java


+ 17 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statistics/StatisticsService.java

@ -1758,11 +1758,23 @@ public class StatisticsService extends BaseService {
            throw new Exception("时间区间错误");
        }
        String sql = "SELECT DATE_FORMAT(t.czrq,'%Y-%m') mt,ifnull(ROUND(AVG(s.score),1),0)  as avgCount " +
                " FROM  wlyy_consult_team t " +
                "  LEFT JOIN wlyy_doctor d ON d.code = t.doctor " +
                "  LEFT JOIN wlyy_evaluate_score s ON s.consult = t.consult " +
                " WHERE t.czrq >=? AND t.czrq <=?";
        String sql = "SELECT " +
                " DATE_FORMAT(t.czrq, '%Y-%m') mt, " +
                " ifnull(ROUND(AVG(s.score), 1), 0) AS avgCount " +
                " FROM " +
                " ( " +
                "  SELECT " +
                "   m.doctor, " +
                "   m.consult, " +
                "   m.czrq " +
                "  FROM " +
                "   wlyy_consult_team m " +
                "  WHERE " +
                "   m.czrq >= ? " +
                "  AND m.czrq <= ? " +
                "  ) t " +
                " LEFT JOIN wlyy_doctor d ON d. CODE = t.doctor " +
                " JOIN wlyy_evaluate_score s ON s.consult = t.consult";
        //市级
        if ("4".equals(level)) {
            sql += " AND d.city = ? ";

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionLogController.java

@ -100,8 +100,8 @@ public class PrescriptionLogController extends BaseController {
                prescriptionLog.setCreateTime(prescriptionExpressageLog.getCreateTime());
                prescriptionLog.setHospital(prescriptionExpressageLog.getAcceptHospital());
                prescriptionLog.setHospitalName(prescriptionExpressageLog.getAcceptHospitalName());
                prescriptionLog.setUserCode(prescriptionExpressageLog.getAcceptUser());
                prescriptionLog.setUserName(prescriptionExpressageLog.getAcceptUserName());
                prescriptionLog.setUserCode(prescriptionExpressageLog.getExpressageUserCode());
                prescriptionLog.setUserName(prescriptionExpressageLog.getExpressageUserName());
                prescriptionLogs.add(prescriptionLog);
            }
            //排序

+ 155 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java

@ -0,0 +1,155 @@
package com.yihu.wlyy.web.gateway.controller;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.login.LoginLog;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.service.common.SMSService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.TokenService;
import com.yihu.wlyy.service.common.login.LoginLogService;
import com.yihu.wlyy.util.MD5;
import com.yihu.wlyy.util.RSAUtils;
import com.yihu.wlyy.web.gateway.vo.LoginModel;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
/**
 * Created by chenweida on 2017/8/18.
 */
@RestController
@RequestMapping("/wlyygc/")
@Api(description = "用户登陆服务")
public class GcLoginController {
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private LoginLogService loginLogService;
    @Autowired
    private SMSService smsService;
    @Autowired
    private RSAUtils rsaUtils;
    /**
     * 公钥生成并返回接口
     *
     * @return
     */
    @RequestMapping(value = "public_key", method =  RequestMethod.GET)
    @ApiOperation("获取公钥")
    public ResultOneModel publicKey() {
        try {
            String modulus = RSAUtils.getInstance(smsService).getModulus();
            String exponent = RSAUtils.getInstance(smsService).getExponent();
            if (StringUtils.isEmpty(modulus) || StringUtils.isEmpty(exponent)) {
                return new ResultOneModel(BaseResultModel.codeEm.login_publickey_error.getCode(),BaseResultModel.codeEm.login_publickey_error.getMessage());
            } else {
                JSONObject json = new JSONObject();
                json.put("modulus", modulus); //加密指数
                json.put("exponent", exponent);//加密系数
                return new ResultOneModel(json);
            }
        } catch (Exception e) {
            return new ResultOneModel(BaseResultModel.codeEm.login_publickey_error.getCode(),BaseResultModel.codeEm.login_publickey_error.getMessage());
        }
    }
    /**
     * 医生端要传  userAgent:{"id":4816,"uid":"xh1D2017031503333","token":"5d68d84dbb79996efba31192856139a4","platform":4,"imei":"05948CE4F079E998306CFCCF86A5A77F"}
     *
     * @param imei
     * @param account
     * @param platform
     * @param password
     * @return
     */
    @RequestMapping(value = "/doctorlogin", method = RequestMethod.POST)
    @ApiOperation("医生端登陆")
    public ResultOneModel<LoginModel> doctorLogin(
            @ApiParam(required = false, name = "imei", value = "imei号") @RequestParam(required = true, value = "imei") String imei,
            @ApiParam(required = false, name = "account", value = "手机号/身份证") @RequestParam(required = false, value = "account") String account,
            @ApiParam(required = false, name = "platform", value = "医生端pc,取药系统 或者对外系统") @RequestParam(required = false, defaultValue = "4") Integer platform,
            @ApiParam(required = false, name = "password", value = "密码") @RequestParam(required = false) String password) {
        String errorMessage;
        LoginLog loginLog = new LoginLog();
        loginLog.setCreateTime(new Date());
        loginLog.setPhone(account);
        loginLog.setType("2");
        loginLog.setUserType("2");
        try {
            if (StringUtils.isEmpty(imei)) {
                errorMessage = "获取IMEI码失败!";
                loginLog.setErrorMessage(errorMessage);
                loginLogService.saveLog(loginLog);
                return new ResultOneModel<>(BaseResultModel.codeEm.login_IMEI_error.getCode(), BaseResultModel.codeEm.login_IMEI_error.getMessage());
            }
            if (platform == null) {
                platform = 2;//默认为医生app端
            }
            //身份证登录
            if (StringUtils.isNoneEmpty(account) && StringUtils.isNoneEmpty(password)) {
                password = RSAUtils.getInstance(doctorService).decryptString(password);
                password = StringUtils.reverse(password);
                //根据电话号码找
                Doctor doctor = doctorService.findDoctorByMobile(account);
                if (doctor == null) {
                    //如果电话号码找不到 根据身份证找
                    doctor = doctorService.findbyIdCard(account);
                }
                loginLog.setLoginType("2");
                if (doctor == null) {
                    errorMessage = "该号码未注册!";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_account_error.getCode(), BaseResultModel.codeEm.login_account_error.getMessage());
                }
                loginLog.setUserCode(doctor.getCode());
                String loginPassword = MD5.GetMD5Code(password + doctor.getSalt());
                if (loginPassword.equals(doctor.getPassword())) {
                    Token token = tokenService.findDoctorToken(doctor.getCode());
                    if (token != null && platform == 4) {
                        //pc版本要做单点登陆 所以如果platform =4 并且 token存在直接返回之前的token
                    } else {
                        // 用户校验通过,生成token
                        token = tokenService.newToken(doctor.getCode(), imei, platform);
                    }
                    loginLog.setTokenId(token.getId());
                    loginLog.setType("1");
                    LoginModel loginModel = new LoginModel();
                    loginModel.setId(doctor.getId());
                    loginModel.setDoctorCode(doctor.getCode());
                    loginModel.setDoctorName(doctor.getName());
                    loginModel.setToken(token.getToken());
                    loginModel.setDoctorPhoto(doctor.getPhoto());
                    loginModel.setDoctorType(doctor.getLevel());
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(loginModel);
                } else {
                    errorMessage = "密码错误,登录失败";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_password_error.getCode(), BaseResultModel.codeEm.login_password_error.getMessage());
                }
            }
            return new ResultOneModel<>(BaseResultModel.codeEm.error_params.getCode(), BaseResultModel.codeEm.error_params.getMessage());
        } catch (Exception e) {
            loginLog.setErrorMessage(e.getMessage());
            loginLogService.saveLog(loginLog);
            return new ResultOneModel<>(BaseResultModel.codeEm.login_system_error.getCode(), BaseResultModel.codeEm.login_system_error.getMessage());
        }
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcMessageController.java

@ -33,7 +33,7 @@ import java.util.List;
 */
@RestController
@RequestMapping("/wlyygc/message")
@RequestMapping("/wlyygc/doctor/message")
@Api(description = "消息相关服务,包括短信,微信模板")
public class GcMessageController {

+ 1 - 94
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java

@ -46,15 +46,8 @@ public class GcTokenController {
    @Autowired
    private GcClientDetailsService clientDetailsService;
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private LoginLogService loginLogService;
    @ApiOperation("获取accesstoken")
    @RequestMapping(value = "accesstoken", method = RequestMethod.GET)
    @RequestMapping(value = "accesstoken", method = RequestMethod.POST)
    public ResultOneModel<GcTokenModel> getToken(
            @ApiParam(name = "appid", value = "appid", required = true) @RequestParam(required = true, value = "appid") String appid,
            @ApiParam(name = "appSecret", value = "appSecret", required = true) @RequestParam(required = true, value = "appSecret") String appSecret,
@ -87,91 +80,5 @@ public class GcTokenController {
    }
    /**
     * 医生端要传  userAgent:{"id":4816,"uid":"xh1D2017031503333","token":"5d68d84dbb79996efba31192856139a4","platform":4,"imei":"05948CE4F079E998306CFCCF86A5A77F"}
     * @param imei
     * @param account
     * @param platform
     * @param password
     * @return
     */
    @RequestMapping(value = "/doctor/login", method = RequestMethod.GET)
    @ApiOperation("医生端登陆")
    public ResultOneModel<LoginModel> doctorLogin(
            @ApiParam(required = false, name = "imei", value = "imei号") @RequestParam(required = true, value = "imei") String imei,
            @ApiParam(required = false, name = "account", value = "手机号/身份证") @RequestParam(required = false, value = "account") String account,
            @ApiParam(required = false, name = "platform", value = "医生端pc,取药系统 或者对外系统") @RequestParam(required = false, defaultValue = "4") Integer platform,
            @ApiParam(required = false, name = "password", value = "密码") @RequestParam(required = false) String password) {
        String errorMessage;
        LoginLog loginLog = new LoginLog();
        loginLog.setCreateTime(new Date());
        loginLog.setPhone(account);
        loginLog.setType("2");
        loginLog.setUserType("2");
        try {
            if (StringUtils.isEmpty(imei)) {
                errorMessage = "获取IMEI码失败!";
                loginLog.setErrorMessage(errorMessage);
                loginLogService.saveLog(loginLog);
                return new ResultOneModel<>(BaseResultModel.codeEm.login_IMEI_error.getCode(), BaseResultModel.codeEm.login_IMEI_error.getMessage());
            }
            if (platform == null) {
                platform = 2;//默认为医生app端
            }
            //身份证登录
            if (StringUtils.isNoneEmpty(account) && StringUtils.isNoneEmpty(password)) {
                password = RSAUtils.getInstance(doctorService).decryptString(password);
                password = StringUtils.reverse(password);
                //根据电话号码找
                Doctor doctor = doctorService.findDoctorByMobile(account);
                if (doctor == null) {
                    //如果电话号码找不到 根据身份证找
                    doctor = doctorService.findbyIdCard(account);
                }
                loginLog.setLoginType("2");
                if (doctor == null) {
                    errorMessage = "该号码未注册!";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_account_error.getCode(), BaseResultModel.codeEm.login_account_error.getMessage());
                }
                loginLog.setUserCode(doctor.getCode());
                String loginPassword = MD5.GetMD5Code(password + doctor.getSalt());
                if (loginPassword.equals(doctor.getPassword())) {
                    Token token = tokenService.findDoctorToken(doctor.getCode());
                    if (token != null && platform == 4) {
                        //pc版本要做单点登陆 所以如果platform =4 并且 token存在直接返回之前的token
                    } else {
                        // 用户校验通过,生成token
                        token = tokenService.newToken(doctor.getCode(), imei, platform);
                    }
                    loginLog.setTokenId(token.getId());
                    loginLog.setType("1");
                    LoginModel loginModel = new LoginModel();
                    loginModel.setDoctorCode(doctor.getCode());
                    loginModel.setDoctorName(doctor.getName());
                    loginModel.setToken(token.getToken());
                    loginModel.setDoctorPhoto(doctor.getPhoto());
                    loginModel.setDoctorType(doctor.getLevel());
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(loginModel);
                } else {
                    errorMessage = "密码错误,登录失败";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_password_error.getCode(), BaseResultModel.codeEm.login_password_error.getMessage());
                }
            }
            return new ResultOneModel<>(BaseResultModel.codeEm.error_params.getCode(), BaseResultModel.codeEm.error_params.getMessage());
        } catch (Exception e) {
            loginLog.setErrorMessage(e.getMessage());
            loginLogService.saveLog(loginLog);
            return new ResultOneModel<>(BaseResultModel.codeEm.login_system_error.getCode(), BaseResultModel.codeEm.login_system_error.getMessage());
        }
    }
}

+ 3 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcUserController.java

@ -41,17 +41,13 @@ import java.util.concurrent.ExecutionException;
 * Created by chenweida on 2017/8/17.
 */
@RestController
@RequestMapping("/wlyygc/user")
@RequestMapping("/wlyygc/doctor/user")
@Api(description = "用户相关服务")
public class GcUserController {
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private PatientService patientService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private LoginLogService loginLogService;
    private DoctorService doctorService;
    @RequestMapping(value = "/doctor", method = RequestMethod.GET)
@ -75,4 +71,5 @@ public class GcUserController {
        BeanUtils.copyProperties(patient, patientModel);
        return new ResultOneModel(patientModel);
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/express/SFExpressApiController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.express;
package com.yihu.wlyy.web.gateway.controller.express;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.service.app.express.SFExpressService;

+ 0 - 21
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/DoctorLoginModel.java

@ -1,21 +0,0 @@
package com.yihu.wlyy.web.gateway.vo;
import io.swagger.annotations.ApiModel;
import java.util.List;
import java.util.Map;
/**
 * Created by chenweida on 2017/8/17.
 */
@ApiModel(description = "医生登陆model")
public class DoctorLoginModel {
    private Long id;
    private String uid;
    private String token;
    private String name;
    private String hospital;
    private String photo;
    private String doctorType;
    private List<Map<String, String>> roleMap;
}

+ 12 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/LoginModel.java

@ -8,8 +8,10 @@ import io.swagger.annotations.ApiModelProperty;
 * Created by chenweida on 2017/8/17.
 */
@ApiModel(description = "登陆实体类")
public class LoginModel extends BaseResultModel {
public class LoginModel  {
    @ApiModelProperty(value = "id", required = false, access = "response")
    private Long id;
    @ApiModelProperty(value = "医生code", required = false, access = "response")
    private String doctorCode;
    @ApiModelProperty(value = "登陆凭证", required = false, access = "response")
@ -70,4 +72,13 @@ public class LoginModel extends BaseResultModel {
    public void setDoctorType(Integer doctorType) {
        this.doctorType = doctorType;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
}

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java

@ -40,6 +40,7 @@ public class BaseResultModel {
        error_params(-10000, "请求失败 参数错误"),//请求失败 参数错误
        error_no_ip(-10010, "请求失败,获取IP失败"),//请求失败,获取IP失败
        login_system_error(-10020, "系统异常"),
        login_publickey_error(-10030, "获取公钥失败"),
        login_account_error(-20010, "账号不存在"),
        login_password_error(-20020, "密码错误"),

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionLogController.java

@ -65,8 +65,8 @@ public class PatientPrescriptionLogController extends BaseController {
                prescriptionLog.setCreateTime(prescriptionExpressageLog.getCreateTime());
                prescriptionLog.setHospital(prescriptionExpressageLog.getAcceptHospital());
                prescriptionLog.setHospitalName(prescriptionExpressageLog.getAcceptHospitalName());
                prescriptionLog.setUserCode(prescriptionExpressageLog.getAcceptUser());
                prescriptionLog.setUserName(prescriptionExpressageLog.getAcceptUserName());
                prescriptionLog.setUserCode(prescriptionExpressageLog.getExpressageUserCode());
                prescriptionLog.setUserName(prescriptionExpressageLog.getExpressageUserName());
                prescriptionLogs.add(prescriptionLog);
            }