Browse Source

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

chenweida 7 years ago
parent
commit
138d74a32f
30 changed files with 1703 additions and 58 deletions
  1. 92 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleBehaviorModel.java
  2. 169 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleCollectModel.java
  3. 434 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleModel.java
  4. 46 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/OldArticleBehaviorModel.java
  5. 91 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/OldArticleCollectModel.java
  6. 100 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/OldArticleModel.java
  7. 12 0
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/prescription/prescription_info.jsp
  8. 12 0
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/prescription/prescription_order.jsp
  9. 2 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java
  10. 65 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/jpa/JkEduJpa.java
  11. 18 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduArticleDao.java
  12. 22 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduBehaviorArticleDao.java
  13. 21 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduCollectionArticleDao.java
  14. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/education/HealthEduArticleDao.java
  15. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/prescription/PrescriptionDispensaryCodeDao.java
  16. 9 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prenatalInspector/PrenatalInspectorPreCardService.java
  17. 25 25
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionExpressageService.java
  18. 5 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/account/RoleService.java
  19. 11 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/jimeiJkEdu/JMJkEduArticleService.java
  20. 74 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/MapListUtils.java
  21. 1 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/FileUploadController.java
  22. 14 11
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/LoginController.java
  23. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEdu/DoctorJMJkEduArticleController.java
  24. 31 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEduPC/DoctorJMJkEduArticlePCController.java
  25. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/patient/DoctorPatientGroupController.java
  26. 1 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionExpressageController.java
  27. 5 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkEduArticle/ThirdJkEduArticleController.java
  28. 58 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/controller/EduArticleController.java
  29. 377 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/service/EduArticleService.java
  30. 4 0
      patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

+ 92 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleBehaviorModel.java

@ -0,0 +1,92 @@
package com.yihu.edu.entity.dataClean;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by Administrator on 2017/12/25.
 */
@Entity
@Table(name = "user_behavior_copy")
public class NewArticleBehaviorModel {
    private int ID;
    private String articleId;
    private int behaviorAction;
    private String userId;
    private String cName;
    private Date insertTime;
    private String title;
    private int isOld;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public int getID() {
        return ID;
    }
    public void setID(int ID) {
        this.ID = ID;
    }
    @Column(name = "ArticleId")
    public String getArticleId() {
        return articleId;
    }
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }
    @Column(name = "BehaviorAction")
    public int getBehaviorAction() {
        return behaviorAction;
    }
    public void setBehaviorAction(int behaviorAction) {
        this.behaviorAction = behaviorAction;
    }
    @Column(name = "UserId")
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    @Column(name = "CName")
    public String getcName() {
        return cName;
    }
    public void setcName(String cName) {
        this.cName = cName;
    }
    @Column(name = "InsertTime")
    public Date getInsertTime() {
        return insertTime;
    }
    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public int getIsOld() {
        return isOld;
    }
    public void setIsOld(int isOld) {
        this.isOld = isOld;
    }
}

+ 169 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleCollectModel.java

@ -0,0 +1,169 @@
package com.yihu.edu.entity.dataClean;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by Administrator on 2017/9/29.
 */
@Entity
@Table(name = "user_articlecollection_copy")
public class NewArticleCollectModel {
    private  int ID;
    private String articleId;
    private int userType;
    private Date insertTime;
    private String userId;
    private String cName;
    private String orgName;
    private String orgId;
    private String articleCategoryId;
    private String articleCategoryName;
    private String url;
    private String title;
    private String content;
    private int isOld;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public int getID() {
        return ID;
    }
    public void setID(int ID) {
        this.ID = ID;
    }
    @Column(name = "ArticleId")
    public String getArticleId() {
        return articleId;
    }
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }
    @Column(name = "UserType")
    public int getUserType() {
        return userType;
    }
    public void setUserType(int userType) {
        this.userType = userType;
    }
    @Column(name = "InsertTime")
    public Date getInsertTime() {
        return insertTime;
    }
    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }
    @Column(name = "UserId")
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    @Column(name = "CName")
    public String getcName() {
        return cName;
    }
    public void setcName(String cName) {
        this.cName = cName;
    }
    @Column(name = "OrgName")
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name = "OrgId")
    public String getOrgId() {
        return orgId;
    }
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    @Column(name = "ArticleCategoryId")
    public String getArticleCategoryId() {
        return articleCategoryId;
    }
    public void setArticleCategoryId(String articleCategoryId) {
        this.articleCategoryId = articleCategoryId;
    }
    @Column(name = "ArticleCategoryName")
    public String getArticleCategoryName() {
        return articleCategoryName;
    }
    public void setArticleCategoryName(String articleCategoryName) {
        this.articleCategoryName = articleCategoryName;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public int getIsOld() {
        return isOld;
    }
    public void setIsOld(int isOld) {
        this.isOld = isOld;
    }
}

+ 434 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleModel.java

@ -0,0 +1,434 @@
package com.yihu.edu.entity.dataClean;
import com.yihu.wlyy.entity.IdEntity;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by zhangdan on 2017/9/29.
 */
@Entity
@Table(name = "org_article_copy")
public class NewArticleModel {
    //文章ID
    private String articleId;
    //文章标题
    private String articleTitle;
    //简介
    private String summary;
    //文章内容
    private String articleContent;
    //排序
    private int articleOrder;
    //1、正常、2删除
    private int articleState;
    //文章所属单位名称
    private String orgName;
    //文章来源(填写发布人所在的机构)
    private String articleSource;
    //文章所属单位ID
    private String orgId;
    //1、重要、2紧急
    private int articlelevel;
    //封面图
    private String articleCover;
    //插入时间
    private Date insertTime;
    //最后更新时间
    private Date updateTime;
    //创建人
    private String operatorName;
    //创建人ID
    private String operatorId;
    //1级类别id
    private String firstLevelCategoryId;
    //1级类别名称
    private String firstLevelCategoryName;
    //2级类别ID
    private String secondLevelCategoryId;
    //2级类别名称
    private String secondLevelCategoryName;
    //认证单位
    private String authentication;
    //认证单位ID
    private String authenticationId;
    //是否认证 1已认证0、未认证
    private int isAuthentication;
    //1、视频 2、图文3、音频、 4 、精选问答
    private String articleType;
    //操作人所在科室
    private String deptName;
    //等级职称
    private String titleLevel;
    //操作人头像
    private String operatorImg;
    private String lastOperatorId;
    private String lastOperatorName;
    private String operatorRoleCode;
    private String operatorRoleLevel;
    private int roleType;
    //使用范围(1、全市使用,2、全区使用,3、全社区使用)
    private int userScope;
    private String keyWord;
    private String url;
    private int isOld;
    @Column(name="ArticleId")
    @Id
    //@GeneratedValue(generator="system-uuid")
    //@GenericGenerator(name = "system-uuid", strategy = "uuid")
    public String getArticleId() {
        return articleId;
    }
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }
    @Column(name="ArticleTitle")
    public String getArticleTitle() {
        return articleTitle;
    }
    public void setArticleTitle(String articleTitle) {
        this.articleTitle = articleTitle;
    }
    @Column(name="Summary")
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    @Column(name="ArticleContent")
    public String getArticleContent() {
        return articleContent;
    }
    public void setArticleContent(String articleContent) {
        this.articleContent = articleContent;
    }
    @Column(name="ArticleOrder")
    public int getArticleOrder() {
        return articleOrder;
    }
    public void setArticleOrder(int articleOrder) {
        this.articleOrder = articleOrder;
    }
    @Column(name="ArticleState")
    public int getArticleState() {
        return articleState;
    }
    public void setArticleState(int articleState) {
        this.articleState = articleState;
    }
    @Column(name="OrgName")
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name="ArticleSource")
    public String getArticleSource() {
        return articleSource;
    }
    public void setArticleSource(String articleSource) {
        this.articleSource = articleSource;
    }
    @Column(name="OrgId")
    public String getOrgId() {
        return orgId;
    }
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    @Column(name="Articlelevel")
    public int getArticlelevel() {
        return articlelevel;
    }
    public void setArticlelevel(int articlelevel) {
        this.articlelevel = articlelevel;
    }
    @Column(name="ArticleCover")
    public String getArticleCover() {
        return articleCover;
    }
    public void setArticleCover(String articleCover) {
        this.articleCover = articleCover;
    }
    @Column(name="InsertTime")
    public Date getInsertTime() {
        return insertTime;
    }
    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }
    @Column(name="UpdateTime")
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    @Column(name="OperatorName")
    public String getOperatorName() {
        return operatorName;
    }
    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }
    @Column(name="OperatorId")
    public String getOperatorId() {
        return operatorId;
    }
    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }
    @Column(name="FirstLevelCategoryId")
    public String getFirstLevelCategoryId() {
        return firstLevelCategoryId;
    }
    public void setFirstLevelCategoryId(String firstLevelCategoryId) {
        this.firstLevelCategoryId = firstLevelCategoryId;
    }
    @Column(name="FirstLevelCategoryName")
    public String getFirstLevelCategoryName() {
        return firstLevelCategoryName;
    }
    public void setFirstLevelCategoryName(String firstLevelCategoryName) {
        this.firstLevelCategoryName = firstLevelCategoryName;
    }
    @Column(name="SecondLevelCategoryId")
    public String getSecondLevelCategoryId() {
        return secondLevelCategoryId;
    }
    public void setSecondLevelCategoryId(String secondLevelCategoryId) {
        this.secondLevelCategoryId = secondLevelCategoryId;
    }
    @Column(name="SecondLevelCategoryName")
    public String getSecondLevelCategoryName() {
        return secondLevelCategoryName;
    }
    public void setSecondLevelCategoryName(String secondLevelCategoryName) {
        this.secondLevelCategoryName = secondLevelCategoryName;
    }
    @Column(name="Authentication")
    public String getAuthentication() {
        return authentication;
    }
    public void setAuthentication(String authentication) {
        this.authentication = authentication;
    }
    @Column(name="AuthenticationId")
    public String getAuthenticationId() {
        return authenticationId;
    }
    public void setAuthenticationId(String authenticationId) {
        this.authenticationId = authenticationId;
    }
    @Column(name="IsAuthentication")
    public int getIsAuthentication() {
        return isAuthentication;
    }
    public void setIsAuthentication(int isAuthentication) {
        this.isAuthentication = isAuthentication;
    }
    @Column(name="ArticleType")
    public String getArticleType() {
        return articleType;
    }
    public void setArticleType(String articleType) {
        this.articleType = articleType;
    }
    @Column(name="DeptName")
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    @Column(name="TitleLevel")
    public String getTitleLevel() {
        return titleLevel;
    }
    public void setTitleLevel(String titleLevel) {
        this.titleLevel = titleLevel;
    }
    @Column(name="OperatorImg")
    public String getOperatorImg() {
        return operatorImg;
    }
    public void setOperatorImg(String operatorImg) {
        this.operatorImg = operatorImg;
    }
    @Column(name="LastOperatorId")
    public String getLastOperatorId() {
        return lastOperatorId;
    }
    public void setLastOperatorId(String lastOperatorId) {
        this.lastOperatorId = lastOperatorId;
    }
    @Column(name="LastOperatorName")
    public String getLastOperatorName() {
        return lastOperatorName;
    }
    public void setLastOperatorName(String lastOperatorName) {
        this.lastOperatorName = lastOperatorName;
    }
    @Column(name="OperatorRoleCode")
    public String getOperatorRoleCode() {
        return operatorRoleCode;
    }
    public void setOperatorRoleCode(String operatorRoleCode) {
        this.operatorRoleCode = operatorRoleCode;
    }
    @Column(name="OperatorRoleLevel")
    public String getOperatorRoleLevel() {
        return operatorRoleLevel;
    }
    public void setOperatorRoleLevel(String operatorRoleLevel) {
        this.operatorRoleLevel = operatorRoleLevel;
    }
    @Column(name="RoleType")
    public int getRoleType() {
        return roleType;
    }
    public void setRoleType(int roleType) {
        this.roleType = roleType;
    }
    @Column(name="UserScope")
    public int getUserScope() {
        return userScope;
    }
    public void setUserScope(int userScope) {
        this.userScope = userScope;
    }
    @Column(name="KeyWord")
    public String getKeyWord() {
        return keyWord;
    }
    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }
    @Column(name="URL")
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    @Column(name = "IsOld")
    public int getIsOld() {
        return isOld;
    }
    public void setIsOld(int isOld) {
        this.isOld = isOld;
    }
}

+ 46 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/OldArticleBehaviorModel.java

@ -0,0 +1,46 @@
package com.yihu.edu.entity.dataClean;
import java.util.Date;
/**
 * Created by Administrator on 2017/12/25.
 */
public class OldArticleBehaviorModel {
    private String ArticleId;
    private int BehaviorAction;
    private String UserId;
    private Date InsertTime;
    public String getArticleId() {
        return ArticleId;
    }
    public void setArticleId(String articleId) {
        ArticleId = articleId;
    }
    public int getBehaviorAction() {
        return BehaviorAction;
    }
    public void setBehaviorAction(int behaviorAction) {
        BehaviorAction = behaviorAction;
    }
    public String getUserId() {
        return UserId;
    }
    public void setUserId(String userId) {
        UserId = userId;
    }
    public Date getInsertTime() {
        return InsertTime;
    }
    public void setInsertTime(Date insertTime) {
        InsertTime = insertTime;
    }
}

+ 91 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/OldArticleCollectModel.java

@ -0,0 +1,91 @@
package com.yihu.edu.entity.dataClean;
import java.util.Date;
/**
 * Created by Administrator on 2017/12/25.
 */
public class OldArticleCollectModel {
    private String UserId;
    private String ArticleId;
    private String url;
    private String title;
    private String content;
    private Date InsertTime;
    //1、医生 2、居民
    private int UserType;
    private String CName;
    public String getUserId() {
        return UserId;
    }
    public void setUserId(String userId) {
        UserId = userId;
    }
    public String getArticleId() {
        return ArticleId;
    }
    public void setArticleId(String articleId) {
        ArticleId = articleId;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public Date getInsertTime() {
        return InsertTime;
    }
    public void setInsertTime(Date insertTime) {
        InsertTime = insertTime;
    }
    public int getUserType() {
        return UserType;
    }
    public void setUserType(int userType) {
        UserType = userType;
    }
    public String getCName() {
        return CName;
    }
    public void setCName(String CName) {
        this.CName = CName;
    }
}

+ 100 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/OldArticleModel.java

@ -0,0 +1,100 @@
package com.yihu.edu.entity.dataClean;
import java.util.Date;
/**
 * Created by Administrator on 2017/12/25.
 */
public class OldArticleModel {
    private String ArticleId;
    private String ArticleTitle;
    private String Summary;
    private String ArticleContent;
    private String ArticleCover;
    private Date InsertTime;
    private Date UpdateTime;
    private int FirstLevelCategoryId;
    private String KeyWord;
    public String getArticleId() {
        return ArticleId;
    }
    public void setArticleId(String articleId) {
        ArticleId = articleId;
    }
    public String getArticleTitle() {
        return ArticleTitle;
    }
    public void setArticleTitle(String articleTitle) {
        ArticleTitle = articleTitle;
    }
    public String getSummary() {
        return Summary;
    }
    public void setSummary(String summary) {
        Summary = summary;
    }
    public String getArticleContent() {
        return ArticleContent;
    }
    public void setArticleContent(String articleContent) {
        ArticleContent = articleContent;
    }
    public String getArticleCover() {
        return ArticleCover;
    }
    public void setArticleCover(String articleCover) {
        ArticleCover = articleCover;
    }
    public Date getInsertTime() {
        return InsertTime;
    }
    public void setInsertTime(Date insertTime) {
        InsertTime = insertTime;
    }
    public Date getUpdateTime() {
        return UpdateTime;
    }
    public void setUpdateTime(Date updateTime) {
        UpdateTime = updateTime;
    }
    public int getFirstLevelCategoryId() {
        return FirstLevelCategoryId;
    }
    public void setFirstLevelCategoryId(int firstLevelCategoryId) {
        FirstLevelCategoryId = firstLevelCategoryId;
    }
    public String getKeyWord() {
        return KeyWord;
    }
    public void setKeyWord(String keyWord) {
        KeyWord = keyWord;
    }
}

+ 12 - 0
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/prescription/prescription_info.jsp

@ -22,6 +22,18 @@
    .fd-img img:last-child{
    .fd-img img:last-child{
        margin-right: 0px;
        margin-right: 0px;
    }
    }
    .m-form-control input{
        height: 30px;
    }
    .m-form-inline .m-form-group {
        padding-top: 10px;
    }
    #prescriptionInfo_div a {
        line-height: 20px
    }
</style>
</style>
<body>
<body>
<div id="div_roles_info_form" class="m-form-inline f-mt20" data-role-form>
<div id="div_roles_info_form" class="m-form-inline f-mt20" data-role-form>

+ 12 - 0
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/prescription/prescription_order.jsp

@ -22,6 +22,18 @@
    .fd-img img:last-child{
    .fd-img img:last-child{
        margin-right: 0px;
        margin-right: 0px;
    }
    }
    .m-form-control input{
        height: 30px;
    }
    .m-form-inline .m-form-group {
        padding-top: 10px;
    }
    #prescriptionOrder_div a {
        line-height: 20px
    }
</style>
</style>
<body>
<body>
<div class="m-form-inline f-mt20" data-role-form>
<div class="m-form-inline f-mt20" data-role-form>

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

@ -21,7 +21,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
 * Created by chenweida on 2017/4/6.
 * Created by chenweida on 2017/4/6.
 */
 */
@Configuration
@Configuration
//@Profile({"test", "prod"})
@Profile({"test", "prod"})
public class MvcConfig extends WebMvcConfigurerAdapter {
public class MvcConfig extends WebMvcConfigurerAdapter {
    private Logger logger = LoggerFactory.getLogger(MvcConfig.class);
    private Logger logger = LoggerFactory.getLogger(MvcConfig.class);
@ -83,8 +83,7 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
    @Override
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        String tempPath = SystemConf.getInstance().getTempPath() ;
        String tempPath = SystemConf.getInstance().getTempPath() ;
        registry.addResourceHandler(tempPath+"/**").addResourceLocations("file:F:"+tempPath+"/");
        registry.addResourceHandler(tempPath+"/**").addResourceLocations("file:"+tempPath+"/");
        super.addResourceHandlers(registry);
        super.addResourceHandlers(registry);
    }
    }

+ 65 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/jpa/JkEduJpa.java

@ -0,0 +1,65 @@
package com.yihu.wlyy.config.jpa;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.Properties;
/**
 * Created by zhangdan on 2017/12/26.
 */
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
        entityManagerFactoryRef = "jkehuEntityManagerFactory",
        transactionManagerRef = "jkehuTransactionManager",
        basePackages = {"com.yihu.wlyy.jkedu.repository"})  //设置Repository所在位置
public class JkEduJpa {
    @Autowired
    private HibernateProperties hibernateProperties;
    @Bean(name = "jkehuDataSource")
    @ConfigurationProperties(prefix="spring.datasource.jkedu")
    public DataSource jkeduDataSource() {
        return DataSourceBuilder.create().build();
    }
    @Bean(name = "jkehuEntityManagerFactory")
    public LocalContainerEntityManagerFactoryBean entityManagerFactorySecondary(
            @Qualifier("jkehuDataSource") DataSource dataSource) {
        LocalContainerEntityManagerFactoryBean emfb = new LocalContainerEntityManagerFactoryBean();
        emfb.setDataSource(dataSource);
        emfb.setPackagesToScan("com.yihu.edu.entity.dataClean");
        emfb.setPersistenceUnitName("jkedu");
        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        emfb.setJpaVendorAdapter(vendorAdapter);
        Properties properties = new Properties();
        properties.putAll(hibernateProperties.hibProperties());
        properties.put("hibernate.ejb.naming_strategy","org.hibernate.cfg.DefaultNamingStrategy");
        emfb.setJpaProperties(properties);
        return emfb;
    }
    @Bean(name = "jkehuTransactionManager")
    JpaTransactionManager transactionManagerSecondary(
            @Qualifier("jkehuEntityManagerFactory")EntityManagerFactory builder) {
        return new JpaTransactionManager(builder);
    }
}

+ 18 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduArticleDao.java

@ -0,0 +1,18 @@
package com.yihu.wlyy.jkedu.repository;
import com.yihu.device.entity.DevicePatientHealthIndex;
import com.yihu.edu.entity.dataClean.NewArticleModel;
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 java.util.Date;
import java.util.List;
public interface JkeduArticleDao
		extends PagingAndSortingRepository<NewArticleModel, Long>, JpaSpecificationExecutor<NewArticleModel> {
	@Query("select n from NewArticleModel n where n.isOld=1")
	List<NewArticleModel> findOldArticle();
}

+ 22 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduBehaviorArticleDao.java

@ -0,0 +1,22 @@
package com.yihu.wlyy.jkedu.repository;
import com.yihu.edu.entity.dataClean.NewArticleBehaviorModel;
import com.yihu.edu.entity.dataClean.NewArticleCollectModel;
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.transaction.annotation.Transactional;
import java.util.List;
public interface JkeduBehaviorArticleDao
		extends PagingAndSortingRepository<NewArticleBehaviorModel, Long>, JpaSpecificationExecutor<NewArticleBehaviorModel> {
	@Query("select n from NewArticleBehaviorModel n where n.isOld=1")
	List<NewArticleBehaviorModel> findOldArticleBehavior();
	@Modifying
	@Transactional
	@Query("delete from NewArticleBehaviorModel n where n.ID in (?1)")
	void deleteByIds(List ids);
}

+ 21 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduCollectionArticleDao.java

@ -0,0 +1,21 @@
package com.yihu.wlyy.jkedu.repository;
import com.yihu.edu.entity.dataClean.NewArticleCollectModel;
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.transaction.annotation.Transactional;
import java.util.List;
public interface JkeduCollectionArticleDao
		extends PagingAndSortingRepository<NewArticleCollectModel, Long>, JpaSpecificationExecutor<NewArticleCollectModel> {
	@Query("select n.ID from NewArticleCollectModel n where n.isOld=1")
	List<Integer> findOldArticleCollection();
	@Modifying
	@Transactional
	@Query("delete from NewArticleCollectModel n where n.ID in (?1)")
	void deleteByIds(List ids);
}

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/education/HealthEduArticleDao.java

@ -15,4 +15,5 @@ public interface HealthEduArticleDao extends PagingAndSortingRepository<HealthEd
	@Query("SELECT a FROM HealthEduArticle a WHERE (a.title like ?1 or a.keyword like ?2) ORDER BY a.czrq DESC")
	@Query("SELECT a FROM HealthEduArticle a WHERE (a.title like ?1 or a.keyword like ?2) ORDER BY a.czrq DESC")
	Page<HealthEduArticle> list(String title, String keyword, Pageable pageRequest);
	Page<HealthEduArticle> list(String title, String keyword, Pageable pageRequest);
}
}

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

@ -19,6 +19,7 @@ public interface PrescriptionDispensaryCodeDao extends PagingAndSortingRepositor
    @Query(nativeQuery = true, value = "select * from wlyy_prescription_dispensary_code  where code=?1 order by create_time desc limit 0,1 ")
    @Query(nativeQuery = true, value = "select * from wlyy_prescription_dispensary_code  where code=?1 order by create_time desc limit 0,1 ")
    PrescriptionDispensaryCode finByCode(String code);
    PrescriptionDispensaryCode finByCode(String code);
    List<PrescriptionDispensaryCode> findByPrescriptionCode(String prescriptionCode);
    //    @Query("select  count(1) from wlyy_prescription_dispensary_code p1 \n" +
    //    @Query("select  count(1) from wlyy_prescription_dispensary_code p1 \n" +
//            "LEFT JOIN wlyy_prescription p2 on p1.prescription_Code = p2.code where p2.status in(21,20,100) and p2.patient =?1 ")
//            "LEFT JOIN wlyy_prescription p2 on p1.prescription_Code = p2.code where p2.status in(21,20,100) and p2.patient =?1 ")
//    int dispensaryCodeCount(String patientCode);
//    int dispensaryCodeCount(String patientCode);

+ 9 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prenatalInspector/PrenatalInspectorPreCardService.java

@ -861,12 +861,16 @@ public class PrenatalInspectorPreCardService extends BaseService {
                        json.put("renatalStatus", "3");
                        json.put("renatalStatus", "3");
                        json.put("sendStatus", flag == true ? "1" : "0");
                        json.put("sendStatus", flag == true ? "1" : "0");
                        json.put("plan", plan);
                        json.put("plan", plan);
                        json.put("planSendStatus", flag == true ? "1" : "0");
                    }else{
                    }else{
                        PrenatalInspectorRecord record = recordDao.findByRelationAndType(prenatalId.toString(), 0);
                        PrenatalInspectorRecord record = recordDao.findByRelationAndType(prenatalId.toString(), 0);
                        if (record == null) {
                        if (record == null) {
                            json.put("renatalStatus", "1");
                            json.put("renatalStatus", "1");
                            if (beforePlan !=null){
                            if (beforePlan !=null){
                                Object planId = exams.get("planId");
                                Boolean planSendStatus = getSendStatus((long)planId);
                                json.put("plan", beforePlan);
                                json.put("plan", beforePlan);
                                json.put("planSendStatus", planSendStatus == true ? "1" : "0");
                            }
                            }
                            if (days < -7) {
                            if (days < -7) {
                                json.put("reason", "未到提醒时间(" + format.format(DateUtil.getPreDays(plan.getInspectionTime(), -7)) + " 08:00)");
                                json.put("reason", "未到提醒时间(" + format.format(DateUtil.getPreDays(plan.getInspectionTime(), -7)) + " 08:00)");
@ -878,7 +882,10 @@ public class PrenatalInspectorPreCardService extends BaseService {
                            json.put("renatalStatus", "2");
                            json.put("renatalStatus", "2");
                            json.put("sendStatus", flag == true ? "1" : "0");
                            json.put("sendStatus", flag == true ? "1" : "0");
                            if (beforePlan !=null){
                            if (beforePlan !=null){
                                Object planId = exams.get("planId");
                                Boolean planSendStatus = getSendStatus((long)planId);
                                json.put("plan", beforePlan);
                                json.put("plan", beforePlan);
                                json.put("planSendStatus", planSendStatus == true ? "1" : "0");
                            }
                            }
                            if (docRecord == null) {
                            if (docRecord == null) {
                                json.put("sendTime", format.format(record.getSendTime()));
                                json.put("sendTime", format.format(record.getSendTime()));
@ -1057,8 +1064,10 @@ public class PrenatalInspectorPreCardService extends BaseService {
                        Date beginTime = DateUtil.getPreDays(planTime,-14);
                        Date beginTime = DateUtil.getPreDays(planTime,-14);
                        Date endTime = DateUtil.getPreDays(planTime,14);
                        Date endTime = DateUtil.getPreDays(planTime,14);
                        respose.put("plan",plan);
                        respose.put("plan",plan);
                        respose.put("planId",plan.getId());
                        if ((examTime.getTime()<= beginTime.getTime()) && (examTime.getTime() >= endTime.getTime())){
                        if ((examTime.getTime()<= beginTime.getTime()) && (examTime.getTime() >= endTime.getTime())){
                            respose.remove("plan");
                            respose.remove("plan");
                            respose.remove("planId");
                        }
                        }
                    }
                    }

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

@ -566,22 +566,22 @@ public class PrescriptionExpressageService extends BaseService {
            try {
            try {
                //更新二维码(isUse)
                //更新二维码(isUse)
                PrescriptionDispensaryCode prescriptionDispensaryCode = prescriptionDispensaryCodeDao.finByCode(prescriptionCode);
                if(prescriptionDispensaryCode!=null){
                List<PrescriptionDispensaryCode> list = prescriptionDispensaryCodeDao.findByPrescriptionCode(prescriptionCode);
                if(list!=null&&list.size()>0){
                    //修改取药码code为已经使用
                    //修改取药码code为已经使用
                    prescriptionDispensaryCode.setIsUse(1);
                    prescriptionDispensaryCodeDao.save(prescriptionDispensaryCode);
                    //更新配送信息
                    PrescriptionExpressage prescriptionExpressage = prescriptionExpressageDao.findByPrescriptionCode(prescriptionDispensaryCode.getPrescriptionCode());
                    if(prescriptionExpressage!=null){
                        prescriptionExpressage.setHospitalDoctor(d.getName());
                        prescriptionExpressage.setHospitalDoctorCode(doctor);
                        prescriptionExpressage.setFetchingMedicineTime(new Date());
                        prescriptionExpressageDao.save(prescriptionExpressage);
                    for(PrescriptionDispensaryCode prescriptionDispensaryCode:list){
                        prescriptionDispensaryCode.setIsUse(1);
                        prescriptionDispensaryCodeDao.save(prescriptionDispensaryCode);
                    }
                    }
                }
                }
                //更新配送信息
                PrescriptionExpressage prescriptionExpressage = prescriptionExpressageDao.findByPrescriptionCode(prescriptionCode);
                if(prescriptionExpressage!=null){
                    prescriptionExpressage.setHospitalDoctor(d.getName());
                    prescriptionExpressage.setHospitalDoctorCode(doctor);
                    prescriptionExpressage.setFetchingMedicineTime(new Date());
                    prescriptionExpressageDao.save(prescriptionExpressage);
                }
            }catch (Exception e){
            }catch (Exception e){
                logger.info("更新二维码(isUse),更新配送信息 异常:"+e.getMessage());
                logger.info("更新二维码(isUse),更新配送信息 异常:"+e.getMessage());
            }
            }
@ -665,7 +665,7 @@ public class PrescriptionExpressageService extends BaseService {
                " p.hospital = '"+d.getHospital()+"' ";
                " p.hospital = '"+d.getHospital()+"' ";
        sql = setSQL( sql,keyWord,state,type,startDate,endDate,operator,flag);
        sql = setSQL( sql,keyWord,state,type,startDate,endDate,operator,flag);
        sql +=  " AND p.`status`>=50 " +
        sql +=  " AND p.`status`>=50 " +
                " ORDER BY py.create_time DESC " +
                " ORDER BY py.charge_time DESC " +
                " LIMIT " + start + "," + pageSize;
                " LIMIT " + start + "," + pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
@ -702,14 +702,14 @@ public class PrescriptionExpressageService extends BaseService {
        }
        }
        if(StringUtils.isNotBlank(startDate)){
        if(StringUtils.isNotBlank(startDate)){
            startDate +=" 00:00:00";
            startDate +=" 00:00:00";
            sql += " AND py.create_time >='"+startDate+"' ";
            sql += " AND py.charge_time >='"+startDate+"' ";
        }
        }
        if(StringUtils.isNotBlank(endDate)){
        if(StringUtils.isNotBlank(endDate)){
            endDate +=" 23:59:59";
            endDate +=" 23:59:59";
            sql += " AND py.create_time <='"+endDate+"' ";
            sql += " AND py.charge_time <='"+endDate+"' ";
        }
        }
        if(StringUtils.isNotBlank(operator)){
        if(StringUtils.isNotBlank(operator)){
            sql += " AND p.drug_delivery_operator ='"+operator+"' ";
            sql += " AND e.hospital_doctor_code ='"+operator+"' ";
        }
        }
        if(StringUtils.isNotBlank(flag)){
        if(StringUtils.isNotBlank(flag)){
            sql += " AND p.drug_delivery_flag ="+flag+" ";
            sql += " AND p.drug_delivery_flag ="+flag+" ";
@ -720,16 +720,16 @@ public class PrescriptionExpressageService extends BaseService {
    public List<Map<String,Object>> getHospitalOperator(String doctor){
    public List<Map<String,Object>> getHospitalOperator(String doctor){
        Doctor d = doctorDao.findByCode(doctor);
        Doctor d = doctorDao.findByCode(doctor);
        String sql = "SELECT " +
        String sql = "SELECT " +
                " p.drug_delivery_operator AS operator, " +
                " p.drug_delivery_operator_name AS operatorName " +
                " p.hospital_doctor_code AS operator, " +
                " p.hospital_doctor AS operatorName " +
                " FROM " +
                " FROM " +
                " wlyy_prescription p " +
                " wlyy_prescription_expressage p " +
                " WHERE " +
                " WHERE " +
                " p.hospital = '"+d.getHospital()+"' " +
                " AND p.drug_delivery_operator IS NOT NULL" +
                " AND p.drug_delivery_operator <>'' " +
                " p.hospital_code = '"+d.getHospital()+"' " +
                " AND p.hospital_doctor_code IS NOT NULL" +
                " AND p.hospital_doctor_code <>'' " +
                " GROUP BY " +
                " GROUP BY " +
                " p.drug_delivery_operator ";
                " p.hospital_doctor_code ";
        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
        return rs;
        return rs;
    }
    }
@ -822,7 +822,7 @@ public class PrescriptionExpressageService extends BaseService {
            sql += " AND e.fetching_medicine_time <='"+endDate+"' ";
            sql += " AND e.fetching_medicine_time <='"+endDate+"' ";
        }
        }
        if(StringUtils.isNotBlank(operator)){
        if(StringUtils.isNotBlank(operator)){
            sql += " AND p.drug_delivery_operator ='"+operator+"' ";
            sql += " AND e.hospital_doctor_code ='"+operator+"' ";
        }
        }
        if(StringUtils.isNotBlank(flag)){
        if(StringUtils.isNotBlank(flag)){
            sql += " AND p.drug_delivery_flag ="+flag+" ";
            sql += " AND p.drug_delivery_flag ="+flag+" ";

+ 5 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/account/RoleService.java

@ -153,11 +153,11 @@ public class RoleService extends TokenService {
                map.put("areas", areaString);
                map.put("areas", areaString);
                map.put("level",roleConverse(role.getCode())+"");
                map.put("level",roleConverse(role.getCode())+"");
                map.put("isManage", "1");
                map.put("isManage", "1");
//                if(resultLevel==roleConverse(role.getCode())){
//                    map.put("isManage", "1");
//                }else{
//                    map.put("isManage", "0");
//                }
                if(resultLevel==roleConverse(role.getCode())){
                    map.put("high", "1");
                }else{
                    map.put("high", "0");
                }
                List<Map<String, Object>> list = doctorInfoService.getDoctorManagerRole(user,"Manage_Article_Authentication");
                List<Map<String, Object>> list = doctorInfoService.getDoctorManagerRole(user,"Manage_Article_Authentication");
                if(list.size()>0&&!StringUtils.isEmpty(list.get(0).get("code"))){
                if(list.size()>0&&!StringUtils.isEmpty(list.get(0).get("code"))){

+ 11 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/jimeiJkEdu/JMJkEduArticleService.java

@ -586,7 +586,7 @@ public class JMJkEduArticleService extends BaseService {
                case "1":{whereSql+=" and h.province = '"+currentUserRole+"'" ;break;}
                case "1":{whereSql+=" and h.province = '"+currentUserRole+"'" ;break;}
                case "2":{whereSql+=" and h.city = '"+currentUserRole+"'" ;break;}
                case "2":{whereSql+=" and h.city = '"+currentUserRole+"'" ;break;}
                case "3":{whereSql+=" and h.town = '"+currentUserRole+"'" ;break;}
                case "3":{whereSql+=" and h.town = '"+currentUserRole+"'" ;break;}
                case "4":return;
                case "4":{whereSql+=" and h.code = '"+currentUserRole+"'" ;break;}
            }
            }
        }
        }
@ -604,11 +604,15 @@ public class JMJkEduArticleService extends BaseService {
        }
        }
        if (!StringUtils.isEmpty(labelDisease)) {
        if (!StringUtils.isEmpty(labelDisease)) {
            if (!whereSql.endsWith(" and ( ")) {
            if (!whereSql.endsWith(" and ( ")) {
                whereSql += " or (l.label_type = 3 AND l.label in (" + labelDisease + "))) ";
                whereSql += " or (l.label_type = 3 AND l.label in (" + labelDisease + ")) ";
            } else {
            } else {
                whereSql += " (l.label_type = 1 AND l.label in (" + labelDisease + "))) ";
                whereSql += " l.label_type = 1 AND l.label in (" + labelDisease + ")) ";
            }
            }
        }
        }
        if (!StringUtils.isEmpty(labelHealth) || !StringUtils.isEmpty(labelDisease)) {
            whereSql += ")";
        }
        
        tableSql += " left join wlyy_patient p on p.code=w.patient AND p.openid IS NOT NULL and p.openid <>''";
        tableSql += " left join wlyy_patient p on p.code=w.patient AND p.openid IS NOT NULL and p.openid <>''";
        if (!StringUtils.isEmpty(labelSex)) {
        if (!StringUtils.isEmpty(labelSex)) {
            whereSql += " and p.sex in (" + labelSex + ") ";
            whereSql += " and p.sex in (" + labelSex + ") ";
@ -903,7 +907,10 @@ public class JMJkEduArticleService extends BaseService {
            sql= sql + " and level1Type = '"+level1Type+"' ";
            sql= sql + " and level1Type = '"+level1Type+"' ";
        }
        }
        
        
        sql= sql+  " order by createTime desc limit " + page + "," + pagesize;
        if(page !=0 && pagesize !=0){
            sql= sql+  " order by createTime desc limit " + page + "," + pagesize;
        }
        
        List<com.yihu.es.entity.HealthEduArticlePatient> esList = elasticsearchUtil.excute(sql, com.yihu.es.entity.HealthEduArticlePatient.class, esIndex, esType);
        List<com.yihu.es.entity.HealthEduArticlePatient> esList = elasticsearchUtil.excute(sql, com.yihu.es.entity.HealthEduArticlePatient.class, esIndex, esType);
        HealthEduArticlePatientModel heapm = null;
        HealthEduArticlePatientModel heapm = null;
        com.alibaba.fastjson.JSONObject article = null;
        com.alibaba.fastjson.JSONObject article = null;

+ 74 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/MapListUtils.java

@ -1,8 +1,14 @@
package com.yihu.wlyy.util;
package com.yihu.wlyy.util;
import com.google.common.collect.Lists;
import org.apache.commons.beanutils.BeanUtils;
import org.json.JSONArray;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONObject;
import org.springframework.cglib.beans.BeanMap;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.*;
import java.util.*;
/**
/**
@ -24,4 +30,72 @@ public class MapListUtils {
        }
        }
        return l;
        return l;
    }
    }
    /**
     * 将map装换为javabean对象
     * @param map
     * @param bean
     * @return
     */
    public static <T> T mapToBean(Map<String, Object> map,T bean) {
        BeanMap beanMap = BeanMap.create(bean);
        beanMap.putAll(map);
        return bean;
    }
    /**
     * 将List<Map<String,Object>>转换为List<T>
     * @param maps
     * @param clazz
     * @return
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public static <T> List<T> mapsToObjects(List<Map<String, Object>> maps,Class<T> clazz) throws InstantiationException, IllegalAccessException {
        List<T> list = Lists.newArrayList();
        if (maps != null && maps.size() > 0) {
            Map<String, Object> map = null;
            T bean = null;
            for (int i = 0,size = maps.size(); i < size; i++) {
                map = maps.get(i);
                bean = clazz.newInstance();
                bean = mapToBean(map, bean);
                list.add(bean);
            }
        }
        return list;
    }
    /**
     *
     * @param map
     * @param T
     * @param <T>
     * @return
     * @throws Exception
     */
    public static <T> T convertMap2Bean(Map map, Class T) throws Exception {
        if(map==null || map.size()==0){
            return null;
        }
        BeanInfo beanInfo = Introspector.getBeanInfo(T);
        T bean = (T)T.newInstance();
        PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
        for (int i = 0, n = propertyDescriptors.length; i <n ; i++) {
            PropertyDescriptor descriptor = propertyDescriptors[i];
            String propertyName = descriptor.getName();
            String upperPropertyName = propertyName.toUpperCase();
            if (map.containsKey(upperPropertyName)) {
                Object value = map.get(upperPropertyName);
                //这个方法不会报参数类型不匹配的错误。
                BeanUtils.copyProperty(bean, propertyName, value);
                //用这个方法对int等类型会报参数类型不匹配错误,需要我们手动判断类型进行转换,比较麻烦。
                //descriptor.getWriteMethod().invoke(bean, value);
                //用这个方法对时间等类型会报参数类型不匹配错误,也需要我们手动判断类型进行转换,比较麻烦。
                //BeanUtils.setProperty(bean, propertyName, value);
            }
        }
        return bean;
    }
}
}

+ 1 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/FileUploadController.java

@ -549,9 +549,9 @@ public class FileUploadController extends BaseController {
    @RequestMapping(value = "fastDFSImag", method = RequestMethod.POST)
    @RequestMapping(value = "fastDFSImag", method = RequestMethod.POST)
    @ApiOperation("编辑文章上传图片")
    @ApiOperation("编辑文章上传图片")
    @ResponseBody
    public String pushArticleList(@ApiParam(name = "file", value = "文件", required = true)
    public String pushArticleList(@ApiParam(name = "file", value = "文件", required = true)
                                  @RequestParam(value = "file", required = true) MultipartFile file){
                                  @RequestParam(value = "file", required = true) MultipartFile file){
        try {
        try {
            InputStream inputStream  = file.getInputStream();
            InputStream inputStream  = file.getInputStream();
            String fileName = file.getOriginalFilename().substring(0,file.getOriginalFilename().lastIndexOf("."));
            String fileName = file.getOriginalFilename().substring(0,file.getOriginalFilename().lastIndexOf("."));
@ -567,5 +567,4 @@ public class FileUploadController extends BaseController {
            return error(-1,"失败!");
            return error(-1,"失败!");
        }
        }
    }
    }
}
}

+ 14 - 11
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/LoginController.java

@ -256,6 +256,7 @@ public class LoginController extends BaseController {
                        // 用户校验通过,生成token
                        // 用户校验通过,生成token
                        token = tokenService.newToken(doctor.getCode(), getIMEI(), platform);
                        token = tokenService.newToken(doctor.getCode(), getIMEI(), platform);
                    }
                    }
                    loginLog.setTokenId(token.getId());
                    loginLog.setTokenId(token.getId());
                    loginLog.setType("1");
                    loginLog.setType("1");
                    Map<String, Object> map = new HashMap<>();
                    Map<String, Object> map = new HashMap<>();
@ -264,6 +265,7 @@ public class LoginController extends BaseController {
                    map.put("token", token.getToken());
                    map.put("token", token.getToken());
                    map.put("name", doctor.getName());
                    map.put("name", doctor.getName());
                    map.put("hospital", doctor.getHospital());
                    map.put("hospital", doctor.getHospital());
                    map.put("hospitalName", doctor.getHospitalName());
                    map.put("photo", doctor.getPhoto());
                    map.put("photo", doctor.getPhoto());
                    // 设置医生类型:1专科医生,2全科医生,3健康管理师
                    // 设置医生类型:1专科医生,2全科医生,3健康管理师
                    map.put("doctorType", doctor.getLevel());
                    map.put("doctorType", doctor.getLevel());
@ -274,22 +276,23 @@ public class LoginController extends BaseController {
                     if(roleMap.size()>0){
                     if(roleMap.size()>0){
                        for(Map<String, String> one:roleMap){
                        for(Map<String, String> one:roleMap){
                            if("1".equals(one.get("isManage"))){
                            if("1".equals(one.get("high"))){
                                one.remove("high");
                                map.put("currentUserRole", one);
                                map.put("currentUserRole", one);
                                continue;
                                continue;
                            }
                            }
                            one.remove("high");
                        }
                        }
                    }else{
                        Map<String, String> one = new HashMap<>();
                         one.put("isManage","0");
                         one.put("code", doctor.getHospital());
                         one.put("name", doctor.getHospitalName());
                         one.put("areas", "");
                         one.put("level","4");
                         one.put("authOperate", "0");
                         map.put("currentUserRole", one);
                    }
                    }
//                    else{
//                        Map<String, String> one = new HashMap<>();
//                         one.put("isManage","0");
//                         one.put("code", doctor.getHospital());
//                         one.put("name", doctor.getHospitalName());
//                         one.put("areas", "");
//                         one.put("level","4");
//                         one.put("authOperate", "0");
//                         map.put("currentUserRole", one);
//                    }
                    if ("10" .equals(doctor.getLevel()) && roleMap.size() == 0) {
                    if ("10" .equals(doctor.getLevel()) && roleMap.size() == 0) {
                        errorMessage = "改用户没有管理员权限";
                        errorMessage = "改用户没有管理员权限";
                        loginLog.setErrorMessage(errorMessage);
                        loginLog.setErrorMessage(errorMessage);

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEdu/DoctorJMJkEduArticleController.java

@ -433,7 +433,7 @@ public class DoctorJMJkEduArticleController extends BaseController {
                                      @ApiParam(name = "isAuthentication", value = "是否认证,0未认证 1已认证")
                                      @ApiParam(name = "isAuthentication", value = "是否认证,0未认证 1已认证")
                                      @RequestParam(value = "isAuthentication", required = false) String isAuthentication,
                                      @RequestParam(value = "isAuthentication", required = false) String isAuthentication,
                                      @ApiParam(name = "isMyArticle", value = "是否过滤我的文章")
                                      @ApiParam(name = "isMyArticle", value = "是否过滤我的文章")
                                      @RequestParam(value = "isMyArticle", required = false) Boolean isMyArticle,
                                      @RequestParam(value = "isMyArticle", required = false,defaultValue = "false") Boolean isMyArticle,
                                      @ApiParam(name = "iDisplayStart", value = "当前页")
                                      @ApiParam(name = "iDisplayStart", value = "当前页")
                                      @RequestParam(value = "iDisplayStart", required = true) Integer page,
                                      @RequestParam(value = "iDisplayStart", required = true) Integer page,
                                      @ApiParam(name = "iDisplayLength", value = "是否过滤我的文章")
                                      @ApiParam(name = "iDisplayLength", value = "是否过滤我的文章")

+ 31 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEduPC/DoctorJMJkEduArticlePCController.java

@ -23,7 +23,9 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.File;
import java.io.InputStream;
import java.io.InputStream;
import java.util.HashSet;
import java.util.List;
import java.util.List;
import java.util.Set;
/**
/**
 * Created by Trick on 2017/11/14.
 * Created by Trick on 2017/11/14.
@ -120,13 +122,15 @@ public class DoctorJMJkEduArticlePCController extends BaseController {
                                      @ApiParam(name = "isAuthentication", value = "是否认证")
                                      @ApiParam(name = "isAuthentication", value = "是否认证")
                                      @RequestParam(value = "isAuthentication", required = false) String isAuthentication,
                                      @RequestParam(value = "isAuthentication", required = false) String isAuthentication,
                                      @ApiParam(name = "isMyArticle", value = "是否过滤我的文章")
                                      @ApiParam(name = "isMyArticle", value = "是否过滤我的文章")
                                      @RequestParam(value = "isMyArticle", required = false) Boolean isMyArticle,
                                      @RequestParam(value = "isMyArticle", required = false,defaultValue = "false") Boolean isMyArticle,
                                      @ApiParam(name = "iDisplayStart", value = "当前页") @RequestParam(value = "iDisplayStart", required = true) Integer page,
                                      @ApiParam(name = "iDisplayStart", value = "当前页") @RequestParam(value = "iDisplayStart", required = true) Integer page,
                                      @ApiParam(name = "iDisplayLength", value = "是否过滤我的文章") @RequestParam(value = "iDisplayLength", required = true) Integer pageSize,
                                      @ApiParam(name = "iDisplayLength", value = "是否过滤我的文章") @RequestParam(value = "iDisplayLength", required = true) Integer pageSize,
                                      @ApiParam(name = "sEcho", value = "插件自带")
                                      @ApiParam(name = "sEcho", value = "插件自带")
                                      @RequestParam(value = "sEcho", required = false) Integer sEcho,
                                      @RequestParam(value = "sEcho", required = false) Integer sEcho,
                                      @ApiParam(name = "roleType", value = "1、普通医生,2、管理员")
                                      @ApiParam(name = "roleType", value = "1、普通医生,2、管理员")
                                      @RequestParam(value = "roleType", required = false) Integer roleType){
                                      @RequestParam(value = "archive", required = false) Integer roleType,
                                      @ApiParam(name = "patient", value = "居民CODE")
                                      @RequestParam(value = "patient", required = false) String patient){
        try {
        try {
            if(StringUtils.isEmpty(currentUserRole)){
            if(StringUtils.isEmpty(currentUserRole)){
                currentUserRole=getCurrentRoleCode();
                currentUserRole=getCurrentRoleCode();
@ -137,6 +141,31 @@ public class DoctorJMJkEduArticlePCController extends BaseController {
            JSONObject response = jmJkEduArticleService.queryArticlePcList(firstLevelCategoryId,secondLevelCategoryId,insertTimeStart,insertTimeEnd,articlelevel,articleTitle,
            JSONObject response = jmJkEduArticleService.queryArticlePcList(firstLevelCategoryId,secondLevelCategoryId,insertTimeStart,insertTimeEnd,articlelevel,articleTitle,
                    getUID(),currentUserRole,currentUserRoleLevel,isAuthentication,isMyArticle,page,pageSize,sEcho,roleType);
                    getUID(),currentUserRole,currentUserRoleLevel,isAuthentication,isMyArticle,page,pageSize,sEcho,roleType);
            
            
            //判断文章列表是否有推送过该居民
            if(StringUtils.isNotBlank(patient)){
                com.alibaba.fastjson.JSONArray pushresponse = jmJkEduArticleService.pushArticleLogs(0,0,patient,"");
                Set<String> articleids = new HashSet<>();
                if(pushresponse.size() > 0){
                    for (int i = 0; i < pushresponse.size(); i++) {
                        articleids.add(pushresponse.getJSONObject(i).getString("articleId"));
                    }
                }
                
                JSONArray datas = response.getJSONObject("data").getJSONArray("aaData");
                if(datas.size() > 0 && !articleids.isEmpty()){
                    for (int i = 0; i < datas.size(); i++) {
                        String dataarticleid = datas.getJSONObject(i).getString("articleid");
                        if(articleids.contains(dataarticleid)){
                            datas.getJSONObject(i).put("ispush","1");
                        }else{
                            datas.getJSONObject(i).put("ispush","0");
                        }
                    }
                    response.getJSONObject("data").put("aaData",datas);
                }
            }
            return write(200,"查询成功!","data",response);
            return write(200,"查询成功!","data",response);
        } catch (Exception e){
        } catch (Exception e){

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/patient/DoctorPatientGroupController.java

@ -707,6 +707,7 @@ public class DoctorPatientGroupController extends BaseController {
                json.put("standardStatus",temp.getStandardStatus());
                json.put("standardStatus",temp.getStandardStatus());
                //设备状态:0未绑定,1血糖仪,2血压仪,3血糖仪+血压仪
                //设备状态:0未绑定,1血糖仪,2血压仪,3血糖仪+血压仪
                json.put("deviceType",temp.getDeviceType());
                json.put("deviceType",temp.getDeviceType());
                json.put("openid",temp.getOpenid());
                return write(200, "患者信息查询成功!", "data", json);
                return write(200, "患者信息查询成功!", "data", json);
            } else {
            } else {

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

@ -154,8 +154,7 @@ public class PrescriptionExpressageController extends WeixinBaseController {
                                   @ApiParam(name = "flag", value = "1为异常出药,0为正常") @RequestParam(required = false)String flag,
                                   @ApiParam(name = "flag", value = "1为异常出药,0为正常") @RequestParam(required = false)String flag,
                                   @ApiParam(name = "page", value = "页面") @RequestParam(required = true)Integer page,
                                   @ApiParam(name = "page", value = "页面") @RequestParam(required = true)Integer page,
                                   @ApiParam(name = "pageSize", value = "页面大小") @RequestParam(required = true)Integer pageSize){
                                   @ApiParam(name = "pageSize", value = "页面大小") @RequestParam(required = true)Integer pageSize){
        try {
            return write(200, "获取成功", "data", expressageService.getPresEsList(getUID(),keyWord,state,type,startDate,endDate,operator,flag,page,pageSize));
        try {return write(200, "获取成功", "data", expressageService.getPresEsList(getUID(),keyWord,state,type,startDate,endDate,operator,flag,page,pageSize));
        } catch (Exception e) {
        } catch (Exception e) {
            error(e);
            error(e);
            return error(-1, "获取失败");
            return error(-1, "获取失败");

+ 5 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkEduArticle/ThirdJkEduArticleController.java

@ -71,10 +71,12 @@ public class ThirdJkEduArticleController extends BaseController {
                                           @ApiParam(name = "pageIndex", value = "起始页数 0开始,默认0")
                                           @ApiParam(name = "pageIndex", value = "起始页数 0开始,默认0")
                                           @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
                                           @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
                                           @ApiParam(name = "pageSize", value = "每页显示数 ,默认5")
                                           @ApiParam(name = "pageSize", value = "每页显示数 ,默认5")
                                           @RequestParam(value = "pageSize", required = false) Integer pageSize){
                                           @RequestParam(value = "pageSize", required = false) Integer pageSize,
                                           @ApiParam(name = "userType", value = "用户类型:1医生,2居民",defaultValue = "1")
                                           @RequestParam(value = "userType", required = true) Integer userType){
        try {
        try {
            com.alibaba.fastjson.JSONArray response = thirdJkEduArticleService.getCollectionArticalList(articleTitle,articleState,firstLevelCategoryId,pageIndex,pageSize,getUID(),1,myArticle);
//            com.alibaba.fastjson.JSONArray response = thirdJkEduArticleService.getCollectionArticalList(articleTitle,articleState,firstLevelCategoryId,pageIndex,pageSize,"0de7295862dd11e69faffa163e8aee56",1);
            com.alibaba.fastjson.JSONArray response = thirdJkEduArticleService.getCollectionArticalList(articleTitle,articleState,firstLevelCategoryId,pageIndex,pageSize,getRepUID(),userType,myArticle);
//            com.alibaba.fastjson.JSONArray response = thirdJkEduArticleService.getCollectionArticalList(articleTitle,articleState,firstLevelCategoryId,pageIndex,pageSize,"812f75071f434fde9a1fb64c6213a897",userType,myArticle);
            return write(200,"查询成功!","data",response);
            return write(200,"查询成功!","data",response);
        }catch (Exception e){
        }catch (Exception e){
            e.printStackTrace();
            e.printStackTrace();

+ 58 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/controller/EduArticleController.java

@ -3,6 +3,7 @@ package com.yihu.wlyy.web.third.jkedu.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSON;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.web.BaseController;
import com.yihu.wlyy.web.BaseController;
import com.yihu.wlyy.web.third.jkedu.service.EduArticleService;
import com.yihu.wlyy.web.third.jkedu.vo.ArticleModel;
import com.yihu.wlyy.web.third.jkedu.vo.ArticleModel;
import com.yihu.wlyy.web.third.jkedu.vo.base.ResultOneModel;
import com.yihu.wlyy.web.third.jkedu.vo.base.ResultOneModel;
import com.yihu.wlyy.web.third.jkedu.vo.state.ErrorStateMessage;
import com.yihu.wlyy.web.third.jkedu.vo.state.ErrorStateMessage;
@ -33,6 +34,8 @@ public class EduArticleController extends BaseController{
    @Autowired
    @Autowired
    private  HttpUtil HttpUtil;
    private  HttpUtil HttpUtil;
    @Autowired
    private EduArticleService eduArticleService;
    @RequestMapping(value = "/getById",method = RequestMethod.POST)
    @RequestMapping(value = "/getById",method = RequestMethod.POST)
    @ResponseBody
    @ResponseBody
@ -63,4 +66,59 @@ public class EduArticleController extends BaseController{
            return  new ResultOneModel(code,ErrorStateMessage.getMessge(code)+","+e.getMessage());
            return  new ResultOneModel(code,ErrorStateMessage.getMessge(code)+","+e.getMessage());
        }
        }
    }
    }
    @RequestMapping(value = "/getArticleListToNewDataBase",method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("文章列表转移")
    public String getArticleListToNewDataBase(){
        boolean flag = eduArticleService.getArticleListToNewDataBase();
        if (flag){
            return write(200,"数据转移成功!");
        }else{
            return write(0,"数据转移失败!");
        }
    }
    @RequestMapping(value = "/getArticleCollectToNewDataBase",method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("文章收藏转移")
    public String getArticleCollectToNewDataBase(){
        boolean flag = eduArticleService.getArticleCollectToNewDataBase();
        if (flag){
            return write(200,"数据转移成功!");
        }else{
            return write(0,"数据转移失败!");
        }
    }
    @RequestMapping(value = "/getArticleBehaviorToNewDataBase",method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("文章行为转移")
    public String getArticleBehaviorToNewDataBase(){
        boolean flag = eduArticleService.getArticleBehaviorToNewDataBase();
        if (flag){
            return write(200,"数据转移成功!");
        }else{
            return write(0,"数据转移失败!");
        }
    }
    @RequestMapping(value = "/getArticleSendToEs",method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("已发送文章列表转移Es")
    public String getArticleSendToEs(){
        boolean flag = eduArticleService.getArticleSendedListToEs();
        if (flag){
            return write(200,"数据转移成功!");
        }else{
            return write(0,"数据转移失败!");
        }
    }
    @RequestMapping(value = "/save",method = RequestMethod.POST)
    @ResponseBody
    public String save(){
        eduArticleService.save();
        return "";
    }
}
}

+ 377 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/service/EduArticleService.java

@ -0,0 +1,377 @@
package com.yihu.wlyy.web.third.jkedu.service;
import com.yihu.edu.entity.dataClean.*;
import com.yihu.es.entity.HealthEduArticlePatient;
import com.yihu.wlyy.config.es.ElastricSearchSave;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.education.HealthEduArticle;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.jkedu.repository.JkeduArticleDao;
import com.yihu.wlyy.jkedu.repository.JkeduBehaviorArticleDao;
import com.yihu.wlyy.jkedu.repository.JkeduCollectionArticleDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.education.HealthEduArticleDao;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.MapListUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
/**
 * Created by zhangdan on 2017/12/25.
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class EduArticleService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private DoctorDao doctorDao;
    @Autowired
    private ElastricSearchSave elastricSearchSave;
    @Autowired
    private HealthEduArticleDao healthEduArticleDao;
    @Autowired
    private JkeduArticleDao jkeduArticleDao;
    @Autowired
    private JkeduCollectionArticleDao jkeduCollectionArticleDao;
    @Autowired
    private JkeduBehaviorArticleDao jkeduBehaviorArticleDao;
    @Value("${es.type.HealthEduArticlePatient}")
    private String esType;
    @Value("${es.index.HealthEduArticlePatient}")
    private String esIndex;
    private static int pageSize = 1000;
    /**
     * 健康教育文章列表转移
     * @return
     */
    public boolean getArticleListToNewDataBase(){
        boolean flag = true;
        //获取卫计委code
        String wjwSql = "select code AS wjwCode from wlyy_role WHERE  name LIKE '%厦门市卫生与计划生育委员会%' and LENGTH(code)=6";
        Map<String, Object> result = jdbcTemplate.queryForMap(wjwSql);
        String wjwCode = result.get("wjwCode") + "";
        //先将原来数据库的数据删除
        List<NewArticleModel> delOldList = jkeduArticleDao.findOldArticle();
        if (delOldList!=null && delOldList.size()>0){
            jkeduArticleDao.delete(delOldList);
        }
        //分页查询,执行插入
        String countSql = "select COUNT(1) AS num from wlyy_health_edu_article";
        Map<String,Object> countMap = jdbcTemplate.queryForMap(countSql);
        if (countMap!=null){
            int count = Integer.valueOf(String.valueOf(countMap.get("num")));
            double pageCount = Math.ceil(Double.valueOf(count)/Double.valueOf(pageSize));
            if (pageCount>0){
                String  sql ="SELECT code AS ArticleId,title AS ArticleTitle,summary AS Summary,content AS ArticleContent, " +
                        "url AS URL, czrq AS InsertTime, czrq AS UpdateTime,whea_type AS FirstLevelCategoryId," +
                        " keyword AS KeyWord FROM wlyy_health_edu_article limit ?,?";
                for (int i = 1;i<=pageCount;i++){
                    int start = (i-1)*pageSize;
                    //分页查询数据
                    List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql,new Object[]{start,pageSize});
                    List<NewArticleModel> newList = new ArrayList<>();
                    try {
                        for (Map<String, Object> map : list) {
                            OldArticleModel oldArticleModel = new OldArticleModel();
                            NewArticleModel newArticleModel = new NewArticleModel();
                            //转换数据
                            oldArticleModel = MapListUtils.convertMap2Bean(map,OldArticleModel.class);
                            //@// TODO: 2017/12/25 完善数据
                            BeanUtils.copyProperties(oldArticleModel,newArticleModel);
                            newArticleModel.setArticleOrder(99);
                            newArticleModel.setArticleState(1);
                            newArticleModel.setOrgName("厦门市卫生与计划生育委员会");
                            //id
                            newArticleModel.setArticleSource(wjwCode);
                            newArticleModel.setArticlelevel(0);
                            newArticleModel.setOperatorName("厦门市卫生与计划生育委员会");
                            newArticleModel.setOperatorId(wjwCode);
                            newArticleModel.setAuthentication("厦门市卫生与计划生育委员会");
                            newArticleModel.setAuthenticationId(wjwCode);
                            newArticleModel.setIsAuthentication(1);
                            newArticleModel.setArticleType("2");
                            newArticleModel.setOperatorRoleCode("管理员code");
                            newArticleModel.setOperatorRoleLevel("管理员");
                            newArticleModel.setRoleType(2);
                            newArticleModel.setUserScope(1);
                            newArticleModel.setIsOld(1);
                            newList.add(newArticleModel);
                        }
                        //执行插入新数据库
                        jkeduArticleDao.save(newList);
                    }catch (Exception e){
                        e.printStackTrace();
                        flag = false;
                    }
                }
            }
        }
        return flag;
    }
    /**
     * 健康教育收藏列表转移
     * @return
     */
    public boolean getArticleCollectToNewDataBase(){
        boolean flag = true;
        try {
            //获取卫计委code
            String wjwSql = "select code AS wjwCode from wlyy_role WHERE  name LIKE '%厦门市卫生与计划生育委员会%' and LENGTH(code)=6";
            Map<String, Object> result = jdbcTemplate.queryForMap(wjwSql);
            String wjwCode = result.get("wjwCode") + "";
            //先将原来数据库的数据删除
            List<Integer> delOldList = jkeduCollectionArticleDao.findOldArticleCollection();
            if (delOldList!=null && delOldList.size()>0){
                int count = 1;
                double num = Math.ceil(Double.valueOf(delOldList.size())/1000.0);
                for (int i=0;i<num;i++){
                    List idsList = new ArrayList<>();
                    for (int j =0;j<1000;j++){
                        if (count<=delOldList.size()){
                            idsList.add(delOldList.get(j+i*1000));
                        }
                        count++;
                    }
                    jkeduCollectionArticleDao.deleteByIds(idsList);
                }
            }
            //先分页查询
            String countSql ="select COUNT(1) AS num from wlyy_health_edu_article_doctor";
            Map<String,Object> countMap = jdbcTemplate.queryForMap(countSql);
            if (countMap!=null){
                int count = Integer.valueOf(String.valueOf(countMap.get("num")));
                double pageCount = Math.ceil(Double.valueOf(count)/Double.valueOf(pageSize));
                if (pageCount>0) {
                    String  sql ="SELECT" +
                            " ad.doctor AS UserId," +
                            " ad.article AS ArticleId, " +
                            " ad.url, " +
                            " ad.title, " +
                            " ad.content, " +
                            " ad.czrq AS InsertTime, " +
                            " d.`name` AS CName " +
                            " FROM " +
                            " wlyy_health_edu_article_doctor ad " +
                            " LEFT JOIN wlyy_doctor d ON ad.doctor = d. CODE LIMIT  ?,?";
                    List<NewArticleCollectModel> newList = new ArrayList<>();
                    for (int i = 1; i <= pageCount; i++) {
                        int start = (i - 1) * pageSize;
                        //分页查询数据
                        List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql,new Object[]{start,pageSize});
                        for (Map<String, Object> map : list) {
                            OldArticleCollectModel oldArticleCollectModel = new OldArticleCollectModel();
                            NewArticleCollectModel newArticleCollectModel = new NewArticleCollectModel();
                            oldArticleCollectModel = MapListUtils.convertMap2Bean(map,OldArticleCollectModel.class);
                            //@// TODO: 2017/12/25 完善数据
                            BeanUtils.copyProperties(oldArticleCollectModel,newArticleCollectModel);
                            newArticleCollectModel.setUserType(1);
                            newArticleCollectModel.setOrgName("厦门市卫生与计划生育委员会");
                            newArticleCollectModel.setOrgId(wjwCode);
                            newArticleCollectModel.setIsOld(1);
                            newList.add(newArticleCollectModel);
                        }
                        //跨数据库插入数据
                        jkeduCollectionArticleDao.save(newList);
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            flag = false;
        }
        return flag;
    }
    /**
     * 转移健康教育行为
     * @return
     */
    public boolean getArticleBehaviorToNewDataBase(){
        boolean flag = true;
        try {
            //数量也许过大,分批次删除
            //先将原来数据库的数据删除
            List<NewArticleBehaviorModel> delOldList = jkeduBehaviorArticleDao.findOldArticleBehavior();
            if (delOldList!=null && delOldList.size()>0){
                int count = 1;
                double num = Math.ceil(Double.valueOf(delOldList.size())/1000.0);
                for (int i=0;i<num;i++){
                    List idsList = new ArrayList<>();
                    for (int j =0;j<1000;j++){
                        if (count<=delOldList.size()){
                            idsList.add(delOldList.get(j+i*1000).getID());
                        }
                        count++;
                    }
                    jkeduBehaviorArticleDao.deleteByIds(idsList);
                }
            }
            //分批次查询
            String countSql = "select COUNT(1) AS num from wlyy_health_edu_article_op_history";
            Map<String,Object> countMap = jdbcTemplate.queryForMap(countSql);
            if (countMap!=null) {
                int count = Integer.valueOf(String.valueOf(countMap.get("num")));
                double pageCount = Math.ceil(Double.valueOf(count) / Double.valueOf(pageSize));
                if (pageCount > 0) {
                    String  sql ="SELECT code AS ArticleId, status AS BehaviorAction,creater AS UserId," +
                            " created_time AS InsertTime FROM wlyy_health_edu_article_op_history limit ?,?";
                    List<NewArticleBehaviorModel> newList = new ArrayList<>();
                    //分页查询
                    for (int i = 1; i <= pageCount; i++) {
                        int start = (i - 1) * pageSize;
                        List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql,new Object[]{start,pageSize});
                        for (Map<String, Object> map : list) {
                            OldArticleBehaviorModel oldArticleBehaviorModel = new OldArticleBehaviorModel();
                            NewArticleBehaviorModel newArticleBehaviorModel = new NewArticleBehaviorModel();
                            oldArticleBehaviorModel = MapListUtils.convertMap2Bean(map,OldArticleBehaviorModel.class);
                            //@// TODO: 2017/12/25 完善数据
                            BeanUtils.copyProperties(oldArticleBehaviorModel,newArticleBehaviorModel);
                            if (newArticleBehaviorModel.getBehaviorAction()==1){
                                newArticleBehaviorModel.setBehaviorAction(5);
                            }
                            newArticleBehaviorModel.setIsOld(1);
                            newList.add(newArticleBehaviorModel);
                        }
                        //跨数据库插入数据
                        jkeduBehaviorArticleDao.save(newList);
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            flag = false;
        }
        return flag;
    }
    /**
     * 数据转移至Es
     * @return
     */
    public boolean getArticleSendedListToEs(){
        boolean flag = true;
        try{
            //获取卫计委code
            String sql = "select code AS wjwCode from wlyy_role WHERE  name LIKE '%厦门市卫生与计划生育委员会%' and LENGTH(code)=6";
            Map<String, Object> result = jdbcTemplate.queryForMap(sql);
            String wjwCode = result.get("wjwCode") + "";
            //转移到数据库的时候按照批次来聚合
            sql = "SELECT batch_no ,article,doctor,doctor_name,admin_team_code,czrq " +
                    " FROM wlyy_health_edu_article_patient " +
                    " WHERE  batch_no IS NOT NULL GROUP BY batch_no";
            List<Map<String,Object>> resultList = jdbcTemplate.queryForList(sql);
            if (CollectionUtils.isEmpty(resultList)){
                return flag;
            }
            for (Map<String, Object> map: resultList){
                List<Map<String,Object>> articleList = null;
                String batchNo = map.get("batch_no")+"";
                String article = map.get("article")+"";
                String doctorCode = map.get("doctor")+"";
                String adminTeamId = map.get("admin_team_code")+"";
                String  czrq =  map.get("czrq")+"";
                //同一个批次号只会有一篇文章
                String batchSql = "select * from wlyy_health_edu_article_patient where batch_no = '"+batchNo+"'";
                HealthEduArticlePatient healthEduArticlePatient = setDateToObj(batchSql,doctorCode,adminTeamId,wjwCode,batchNo,article,czrq);
                //保存到Es中
                elastricSearchSave.save(healthEduArticlePatient, esIndex, esType);
            }
        }catch (Exception e){
            e.printStackTrace();
            flag= false;
        }
        return flag;
    }
    public HealthEduArticlePatient setDateToObj(String batchSql,String doctorCode,String adminTeamId,String wjwCode,String batchNo,String article,String czrq)throws Exception{
        HealthEduArticlePatient healthEduArticlePatient = new HealthEduArticlePatient();
        //创建对象
        List<Map<String,Object>> articleList= jdbcTemplate.queryForList(batchSql);
        //放置患者集合
        if (!CollectionUtils.isEmpty(articleList)){
            List<Patient> patientList = new ArrayList<>();
            for (Map<String,Object> sendMap: articleList){
                patientList.add(new Patient(sendMap.get("patient")+""));
            }
            healthEduArticlePatient.setPatients(patientList);
        }
        Doctor doctor = doctorDao.findByCode(doctorCode);
        healthEduArticlePatient.setAdminTeamCode(Long.valueOf(adminTeamId));
        if (doctor!=null){
            healthEduArticlePatient.setDoctorCode(doctor.getCode());
            healthEduArticlePatient.setSendName(doctor.getCode());
            healthEduArticlePatient.setDoctorName(doctor.getName());
            healthEduArticlePatient.setSendType(1);
            healthEduArticlePatient.setHospital(doctor.getHospital());
            healthEduArticlePatient.setHospitalName(doctor.getHospitalName());
            healthEduArticlePatient.setTown(doctor.getTown());
            healthEduArticlePatient.setTownName(doctor.getTownName());
            healthEduArticlePatient.setSendLevel(doctor.getLevel() != null ? String.valueOf(doctor.getLevel()) : "");
            healthEduArticlePatient.setSendPic(doctor.getPhoto());
            healthEduArticlePatient.setSendSex(doctor.getSex() != null ? String.valueOf(doctor.getSex()) : "");
        }else{
            healthEduArticlePatient.setDoctorCode(wjwCode);
            healthEduArticlePatient.setSendName("厦门市卫生与计划生育委员会");
            healthEduArticlePatient.setDoctorName("厦门市卫生与计划生育委员会");
            healthEduArticlePatient.setSendType(2);
        }
        healthEduArticlePatient.setBatchNo(batchNo);
        Date czrqDate = DateUtil.strToDate(czrq);
        healthEduArticlePatient.setCreateTime(czrqDate);
        //获取文章详情
        HealthEduArticle healthEduArticle = healthEduArticleDao.findByCode(article);
        healthEduArticlePatient.setArticleId(healthEduArticle.getCode());
        healthEduArticlePatient.setAttachedTitle(healthEduArticle.getTitle());
        healthEduArticlePatient.setAttachedContent(healthEduArticle.getContent());
        healthEduArticlePatient.setArticleType("2");
        healthEduArticlePatient.setLevel("1");
        healthEduArticlePatient.setType("1");//文章
        //healthEduArticlePatient.setAttachedPic("");
        //healthEduArticlePatient.setAttachedMessage(sendMessage);
        //healthEduArticlePatient.setLevel1Type(article.get("firstLevelCategoryId") + "");
        //healthEduArticlePatient.setLevel2Type(article.get("secondLevelCategoryId") + "");
        return  healthEduArticlePatient;
    }
    @Transactional
    public void save(){
        NewArticleModel newArticleModel = new NewArticleModel();
        newArticleModel.setArticleId("123");
        newArticleModel.setArticleTitle("测试123");
        newArticleModel.setArticleContent("测试123内容");
        newArticleModel.setArticleState(1);
        newArticleModel.setIsAuthentication(1);
        newArticleModel.setArticleOrder(99);
        newArticleModel.setArticleState(1);
        newArticleModel.setOrgName("厦门市卫生与计划生育委员会");
        newArticleModel.setArticleSource("厦门市卫生与计划生育委员会");//id
        newArticleModel.setArticlelevel(0);
        newArticleModel.setOperatorName("厦门市卫生与计划生育委员会");
        newArticleModel.setOperatorId("");
        newArticleModel.setAuthentication("厦门市卫生与计划生育委员会");
        newArticleModel.setAuthenticationId("");
        newArticleModel.setIsAuthentication(1);
        newArticleModel.setArticleType("2");
        newArticleModel.setOperatorRoleCode("管理员code");
        newArticleModel.setOperatorRoleLevel("管理员");
        newArticleModel.setRoleType(2);
        newArticleModel.setUserScope(1);
        jkeduArticleDao.save(newArticleModel);
    }
}

+ 4 - 0
patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

@ -11,6 +11,10 @@ spring:
      url: jdbc:mysql://172.19.103.77/device?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      url: jdbc:mysql://172.19.103.77/device?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: root
      username: root
      password: 123456
      password: 123456
    jkedu:
      url: jdbc:mysql://172.19.103.77/jkedudb?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: root
      password: 123456
  redis:
  redis:
    host: 172.19.103.88 # Redis server host.
    host: 172.19.103.88 # Redis server host.