Explorar o código

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

wangzhinan %!s(int64=6) %!d(string=hai) anos
pai
achega
ed68bd0f7f
Modificáronse 18 ficheiros con 576 adicións e 298 borrados
  1. 106 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/team/BaseTeamDO.java
  2. 113 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/version/AppVersionDO.java
  3. 0 118
      common/common-entity/src/main/java/com/yihu/jw/entity/base/version/WlyyVersionDO.java
  4. 7 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  5. 116 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/version/AppVersionVO.java
  6. 0 153
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/version/WlyyVersionVO.java
  7. 10 5
      svr/svr-base/pom.xml
  8. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDistributeOrgDao.java
  9. 21 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/version/AppVersionDao.java
  10. 104 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/version/AppVersionEndpoint.java
  11. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WeChatQrcodeController.java
  12. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/sms/SmsGatewayService.java
  13. 22 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/version/AppVersionService.java
  14. 4 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WeChatQrcodeService.java
  15. 20 1
      svr/svr-base/src/main/resources/application.yml
  16. 8 4
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/rehabilitation/RehabilitationManageController.java
  17. 4 1
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/rehabilitation/RehabilitationDetailDao.java
  18. 37 11
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

+ 106 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/team/BaseTeamDO.java

@ -0,0 +1,106 @@
package com.yihu.jw.entity.base.team;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * 团队信息实体
 *
 * @author litaohong on  2018年08月31日
 */
@Entity
@Table(name = "base_team")
public class BaseTeamDO extends UuidIdentityEntityWithOperator {
    /**
     * 机构id
     */
    private String orgId;
    /**
     * 团队名称
     */
    private String name;
    /**
     * 领导医生标识
     */
    private String leaderId;
    /**
     * 团队人数
     */
    private String teamNum;
    /**
     * 团队二维码
     */
    private String qrcode;
    /**
     * 作废标识,1正常,0作废
     */
    private String del;
    @Column(name = "org_id")
    public String getOrgId() {
        return orgId;
    }
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "leader_id")
    public String getLeaderId() {
        return leaderId;
    }
    public void setLeaderId(String leaderId) {
        this.leaderId = leaderId;
    }
    @Column(name = "team_num")
    public String getTeamNum() {
        return teamNum;
    }
    public void setTeamNum(String teamNum) {
        this.teamNum = teamNum;
    }
    @Column(name = "qrcode")
    public String getQrcode() {
        return qrcode;
    }
    public void setQrcode(String qrcode) {
        this.qrcode = qrcode;
    }
    @Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
}

+ 113 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/version/AppVersionDO.java

@ -0,0 +1,113 @@
package com.yihu.jw.entity.base.version;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * app版本号表实体
 * 
 * @author litaohong on  2018年09月07日
 *
 */
@Entity
@Table(name = "app_version")
public class AppVersionDO extends IntegerIdentityEntity {
    /**
	 * 版本编码
	 */
	private String code;
    /**
	 * 版本名称
	 */
	private String name;
    /**
	 * 数字版本号
	 */
	private double versionInt;
    /**
	 * 字符串版本号
	 */
	private String versionStr;
    /**
	 * 更新链接地址
	 */
	private String url;
    /**
	 * 版本信息
	 */
	private String info;
    /**
	 * 升级包大小,单位M
	 */
	private double size;
	@Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
	@Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
	@Column(name = "version_int")
    public double getVersionInt() {
        return versionInt;
    }
    public void setVersionInt(double versionInt) {
        this.versionInt = versionInt;
    }
	@Column(name = "version_str")
    public String getVersionStr() {
        return versionStr;
    }
    public void setVersionStr(String versionStr) {
        this.versionStr = versionStr;
    }
	@Column(name = "url")
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
	@Column(name = "info")
    public String getInfo() {
        return info;
    }
    public void setInfo(String info) {
        this.info = info;
    }
	@Column(name = "size")
    public double getSize() {
        return size;
    }
    public void setSize(double size) {
        this.size = size;
    }
}

+ 0 - 118
common/common-entity/src/main/java/com/yihu/jw/entity/base/version/WlyyVersionDO.java

@ -1,118 +0,0 @@
package com.yihu.jw.entity.base.version;// default package
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * WlyyVersion entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "wlyy_version")
public class WlyyVersionDO  extends UuidIdentityEntityWithOperator implements java.io.Serializable {
	// Fields
	private String saasId;
	private String code;
	private String name;
	private Double versionInt;
	private String versionStr;
	private String url;
	private String info;
	private Double size;
	private Integer status;
	// Constructors
	/** default constructor */
	public WlyyVersionDO() {
	}
	@Column(name = "saas_id", length = 100)
	public String getSaasId() {
		return this.saasId;
	}
	public void setSaasId(String saasId) {
		this.saasId = saasId;
	}
	@Column(name = "code", nullable = false, length = 50)
	public String getCode() {
		return this.code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	@Column(name = "name", nullable = false, length = 10)
	public String getName() {
		return this.name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Column(name = "version_int", precision = 22, scale = 0)
	public Double getVersionInt() {
		return this.versionInt;
	}
	public void setVersionInt(Double versionInt) {
		this.versionInt = versionInt;
	}
	@Column(name = "version_str", length = 10)
	public String getVersionStr() {
		return this.versionStr;
	}
	public void setVersionStr(String versionStr) {
		this.versionStr = versionStr;
	}
	@Column(name = "url", length = 300)
	public String getUrl() {
		return this.url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	@Column(name = "info", length = 1000)
	public String getInfo() {
		return this.info;
	}
	public void setInfo(String info) {
		this.info = info;
	}
	@Column(name = "size", precision = 22, scale = 0)
	public Double getSize() {
		return this.size;
	}
	public void setSize(Double size) {
		this.size = size;
	}
	@Column(name = "status")
	public Integer getStatus() {
		return this.status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
}

+ 7 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -364,6 +364,13 @@ public class BaseRequestMapping {
        public static final String PREFIX  = "/dictMedicine";
    }
    /**
     * app版本升级
     */
    public static class AppVersion extends Basic {
        public static final String PREFIX  = "/appVersion";
    }
    /**
     * 基于MQ的消息推送
     */

+ 116 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/version/AppVersionVO.java

@ -0,0 +1,116 @@
package com.yihu.jw.restmodel.base.version;
import com.yihu.jw.restmodel.IntegerIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * 
 * app版本号表vo
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  2018年09月07日 Created
 *
 * </pre>
 * @since 1.
 */
@ApiModel(value = "AppVersionVO", description = "app版本号表")
public class AppVersionVO extends IntegerIdentityVO{
    /**
	 * 版本编码
	 */
	@ApiModelProperty(value = "版本编码", example = "app_doc1")
    private String code;
    /**
	 * 版本名称
	 */
	@ApiModelProperty(value = "版本名称", example = "医生端版本号")
    private String name;
    /**
	 * 数字版本号
	 */
	@ApiModelProperty(value = "数字版本号", example = "5")
    private double versionInt;
    /**
	 * 字符串版本号
	 */
	@ApiModelProperty(value = "字符串版本号", example = "1.4.8.1")
    private String versionStr;
    /**
	 * 更新链接地址
	 */
	@ApiModelProperty(value = "更新链接地址", example = "http://ehr.yihu.com/wlyy/app/ssgg_doctor.apk")
    private String url;
    /**
	 * 版本信息
	 */
	@ApiModelProperty(value = "版本信息", example = "1.新增若干功能<br>2.界面优化<br>3.修复已知Bug")
    private String info;
    /**
	 * 升级包大小,单位M
	 */
	@ApiModelProperty(value = "升级包大小,单位M", example = "5")
    private double size;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getVersionInt() {
        return versionInt;
    }
    public void setVersionInt(double versionInt) {
        this.versionInt = versionInt;
    }
    public String getVersionStr() {
        return versionStr;
    }
    public void setVersionStr(String versionStr) {
        this.versionStr = versionStr;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getInfo() {
        return info;
    }
    public void setInfo(String info) {
        this.info = info;
    }
    public double getSize() {
        return size;
    }
    public void setSize(double size) {
        this.size = size;
    }
}

+ 0 - 153
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/version/WlyyVersionVO.java

@ -1,153 +0,0 @@
package com.yihu.jw.restmodel.base.version;
import java.util.Date;
/**
 * Created by chenweida on 2017/6/16.
 */
public class WlyyVersionVO {
    private String id;
    private String saasId; //saas code
    private String code;
    private String name;
    private Double versionInt;
    private String versionStr;
    private String url;//app下载的路径
    private String info;//app更新的信息
    private Double size;//大小 MB
    private Date createTime;
    private String createUser;
    private String createUserName;
    private Date updateTime;
    private String updateUser;
    private String updateUserName;
    private Integer status;////-1 删除 0 禁用 可用
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Double getVersionInt() {
        return versionInt;
    }
    public void setVersionInt(Double versionInt) {
        this.versionInt = versionInt;
    }
    public String getVersionStr() {
        return versionStr;
    }
    public void setVersionStr(String versionStr) {
        this.versionStr = versionStr;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getInfo() {
        return info;
    }
    public void setInfo(String info) {
        this.info = info;
    }
    public Double getSize() {
        return size;
    }
    public void setSize(Double size) {
        this.size = size;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public String getCreateUserName() {
        return createUserName;
    }
    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public String getUpdateUserName() {
        return updateUserName;
    }
    public void setUpdateUserName(String updateUserName) {
        this.updateUserName = updateUserName;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
}

+ 10 - 5
svr/svr-base/pom.xml

@ -92,7 +92,12 @@
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-web</artifactId>
        </dependency>
        <!-- 文件服务器 -->
        <dependency>
            <groupId>com.yihu</groupId>
            <artifactId>fastdfs-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- Jzkl Starter -->
        <dependency>
            <groupId>com.yihu</groupId>
@ -109,11 +114,11 @@
            <artifactId>elasticsearch-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- 文件服务器 -->
        <dependency>
            <groupId>com.yihu</groupId>
            <artifactId>fastdfs-starter</artifactId>
            <version>2.0.0</version>
            <groupId>io.github.swagger2markup</groupId>
            <artifactId>swagger2markup</artifactId>
            <version>1.3.2</version>
        </dependency>
    </dependencies>

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDistributeOrgDao.java

@ -1,9 +1,9 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictMedicineDistributeOrgDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import com.yihu.jw.entity.base.DictMedicineDistributeOrgDO;
/**
 * 

+ 21 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/version/AppVersionDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.base.dao.version;
import com.yihu.jw.entity.base.version.AppVersionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * 
 * app版本号表 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年09月07日 	Created
 *
 * </pre>
 * @since 1.
 */
public interface AppVersionDao extends PagingAndSortingRepository<AppVersionDO, Integer>, JpaSpecificationExecutor<AppVersionDO>  {
}

+ 104 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/version/AppVersionEndpoint.java

@ -0,0 +1,104 @@
package com.yihu.jw.base.endpoint.version;
import com.yihu.jw.base.service.version.AppVersionService;
import com.yihu.jw.entity.base.version.AppVersionDO;
import com.yihu.jw.restmodel.base.version.AppVersionVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* app版本号表控制器
*
* @version
* <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年09月07日 	Created
 *
 * </pre>
* @since 1.
*/
@RestController
@RequestMapping(value = BaseRequestMapping.AppVersion.PREFIX)
@Api(value = "app版本号表管理", description = "app版本号表管理服务接口", tags = {"wlyy基础服务 - app版本号表管理服务接口"})
public class AppVersionEndpoint extends EnvelopRestEndpoint {
@Autowired
private AppVersionService appVersionService;
@PostMapping(value = BaseRequestMapping.AppVersion.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ApiOperation(value = "创建")
public ObjEnvelop<AppVersionVO> create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
    @RequestBody String jsonData) throws Exception {
    AppVersionDO appVersion = toEntity(jsonData, AppVersionDO.class);
    appVersion = appVersionService.save(appVersion);
    return success(appVersion, AppVersionVO.class);
    }
    @PostMapping(value = BaseRequestMapping.AppVersion.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
    @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
    @RequestParam(value = "ids") String ids) {
    appVersionService.delete(ids.split(","));
    return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.AppVersion.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<AppVersionVO> update (
        @ApiParam(name = "json_data", value = "Json数据", required = true)
        @RequestBody String jsonData) throws Exception {
        AppVersionDO appVersion = toEntity(jsonData, AppVersionDO.class);
        if (null == appVersion.getId()) {
        return failed("ID不能为空", ObjEnvelop.class);
        }
        appVersion = appVersionService.save(appVersion);
        return success(appVersion, AppVersionVO.class);
        }
        @GetMapping(value = BaseRequestMapping.AppVersion.PAGE)
        @ApiOperation(value = "获取分页")
        public PageEnvelop<AppVersionVO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
            List<AppVersionDO> appVersions = appVersionService.search(fields, filters, sorts, page, size);
                int count = (int)appVersionService.getCount(filters);
                return success(appVersions, count, page, size, AppVersionVO.class);
         }
         @GetMapping(value = BaseRequestMapping.AppVersion.LIST)
         @ApiOperation(value = "获取列表")
         public ListEnvelop<AppVersionVO> list (
             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
             @RequestParam(value = "fields", required = false) String fields,
             @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
             @RequestParam(value = "filters", required = false) String filters,
             @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
             @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
             List<AppVersionDO> appVersions = appVersionService.search(fields, filters, sorts);
                  return success(appVersions, AppVersionVO.class);
         }
 }

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WeChatQrcodeController.java

@ -26,7 +26,7 @@ public class WeChatQrcodeController extends EnvelopRestEndpoint {
    @Autowired
    private WeChatQrcodeService weChatQrcodeService;
    @PostMapping(value = WechatRequestMapping.WxMenu.api_create, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = WechatRequestMapping.WxQrcode.api_getQrcode, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "生成微信二维码", notes = "生成微信二维码")
    public Envelop getQrcode(@ApiParam(name = "wxId", value = "微信id")
                             @RequestParam(value = "wxId", required = true)String wxId,

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/sms/SmsGatewayService.java

@ -60,7 +60,8 @@ public class SmsGatewayService extends BaseJpaService<SmsGatewayDO, SmsGatewayDa
         * 1 - 过期时间(分钟)
         */
        String [] contentDatas = new String[] {
                randomInt(6),
//                randomInt(6), 找不到该方法,先用空字符串替代,此类作者自己再纠正回来
                "",
                smsGatewayDO.getExpireMin().toString()
        };
        Matcher contentMatcher = PATTERN.matcher(rawContent);

+ 22 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/version/AppVersionService.java

@ -0,0 +1,22 @@
package com.yihu.jw.base.service.version;
import com.yihu.jw.base.dao.version.AppVersionDao;
import com.yihu.jw.entity.base.version.AppVersionDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * 
 * app版本号表服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年09月07日 Created
 *
 * </pre>
 * @since 1.
 */
@Service
public class AppVersionService extends BaseJpaService<AppVersionDO, AppVersionDao> {
}

+ 4 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WeChatQrcodeService.java

@ -26,8 +26,10 @@ public class WeChatQrcodeService {
    private WxAccessTokenService wxAccessTokenService;
    public String getQrcode(String wechatId,String scene) throws Exception{
        String token_url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + wxAccessTokenService.getWxAccessTokenById(wechatId);
        String token_url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String params = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"" + scene + "\"}}}";
        //服务号必须是通过腾讯认证,每年是300元,如果没有认证而导致的错误提示,那就去认证
        //微信登录提示48001,{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
        String result = HttpUtil.sendPost(token_url, params);
        if (!StringUtils.isEmpty(result)) {
@ -46,6 +48,6 @@ public class WeChatQrcodeService {
            }
        }
        return null;
        return "";
    }
}

+ 20 - 1
svr/svr-base/src/main/resources/application.yml

@ -30,6 +30,19 @@ es:
  type:
    servicePackLog: base_service_package_log
fast-dfs:
  tracker-server: 172.19.103.54:22122 #服务器地址
  connect-timeout: 2 #链接超时时间
  network-timeout: 30
  charset: ISO8859-1 #编码
  http:
    tracker-http-port: 80
    anti-steal-token: no
    secret-key: FastDFS1234567890
  pool: #连接池大小
    init-size: 5
    max-size: 20
    wait-time: 500
---
spring:
  profiles: jwdev
@ -51,6 +64,8 @@ spring:
    password: admin
  zipkin:
    base-url: http://localhost:9411 #日志追踪的地址
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
@ -73,6 +88,8 @@ spring:
    password: admin
  zipkin:
    base-url: http://localhost:9411 #日志追踪的地址
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
@ -94,4 +111,6 @@ spring:
    user: admin
    password: admin
  zipkin:
    base-url: http://localhost:9411 #日志追踪的地址
    base-url: http://localhost:9411 #日志追踪的地址
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/

+ 8 - 4
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/rehabilitation/RehabilitationManageController.java

@ -121,9 +121,11 @@ public class RehabilitationManageController {
    @GetMapping(value = SpecialistMapping.rehabilitation.serviceItemList)
    @ApiOperation(value = "康复管理-多个康复计划服务项目内容信息列表")
    public ObjEnvelop serviceItemList(@ApiParam(name = "planDetailIds", value = "多个服务项目id用‘,’分隔", required = true)
                                             @RequestParam(value = "planDetailIds", required = true)String planDetailIds){
                                             @RequestParam(value = "planDetailIds", required = true)String planDetailIds,
                                      @ApiParam(name = "doctorCode", value = "医生code", required = false)
                                      @RequestParam(value = "doctorCode", required = false)String doctorCode){
        try {
            return rehabilitationManageService.serviceItemList(planDetailIds);
            return rehabilitationManageService.serviceItemList(planDetailIds,doctorCode);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -134,9 +136,11 @@ public class RehabilitationManageController {
    @GetMapping(value = SpecialistMapping.rehabilitation.serviceItem)
    @ApiOperation(value = "康复管理-康复计划服务项目确认详情页")
    public ObjEnvelop serviceItem(@ApiParam(name = "planDetailId", value = "服务项目id", required = true)
                                   @RequestParam(value = "planDetailId", required = true)String planDetailId){
                                  @RequestParam(value = "planDetailId", required = true)String planDetailId,
                                  @ApiParam(name = "doctorCode", value = "医生code", required = false)
                                  @RequestParam(value = "doctorCode", required = false)String doctorCode){
        try {
            return rehabilitationManageService.serviceItem(planDetailId);
            return rehabilitationManageService.serviceItem(planDetailId,doctorCode);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());

+ 4 - 1
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/rehabilitation/RehabilitationDetailDao.java

@ -57,7 +57,10 @@ public interface RehabilitationDetailDao extends PagingAndSortingRepository<Reha
    RehabilitationDetailDO findById(String planDetailId);
    @Query(value ="select d.doctor,p.patient,count(1) as num from wlyy_rehabilitation_plan_detail d left join wlyy_patient_rehabilitation_plan p on d.plan_id=p.id where d.status!=1 and d.execute_time>=?1 and d.execute_time<=?2 GROUP BY d.doctor,p.patient",nativeQuery = true)
    List<Map<String,Object>> dailyJob(String startTime,String endTime);
    List<Map> dailyJob(String startTime,String endTime);
    @Query(value = "select d.id from wlyy_rehabilitation_plan_detail d left join wlyy_patient_rehabilitation_plan p on d.plan_id=p.id where d.status!=1 and d.execute_time>=?1 and d.execute_time<=?2 and d.doctor=?3 and p.patient=?4",nativeQuery = true)
    List<String> findByPatientAndDoctor(String startTime,String endTime,String doctorCode,String patientCode);
    @Modifying
    @Query("update RehabilitationDetailDO t set t.status = ?1 where t.id=?2 ")

+ 37 - 11
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

@ -67,10 +67,13 @@ public class RehabilitationManageService {
     */
    public MixEnvelop<Map<String,Object>, Map<String,Object>> findRehabilitationPlan(Integer doctorType,String doctorCode, String diseaseCode, Integer planType,Integer todaybacklog, String patientCondition,Integer page, Integer pageSize) throws Exception{
        String leftSql =" left join "+basedb+".wlyy_sign_family f on f.patient=p.patient and f.expenses_status='1' and f.status=1 ";
        String leftSql =" join "+basedb+".wlyy_sign_family f on f.patient=p.patient and f.expenses_status='1' and f.status=1 ";
//        if(StringUtils.isNotEmpty(diseaseCode)){
//            leftSql += " left join "+basedb+".wlyy_patient_disease_server s on p.patient=s.patient and s.del=1 and s.disease ='"+diseaseCode+"'" ;
//        }
        if(doctorType==2){//家医是根据签约关系过滤
            leftSql+=" and f.doctor='"+doctorCode+"' ";
        }
        String sql = " select p.*,f.idcard,f.hospital_name from wlyy_specialist.wlyy_patient_rehabilitation_plan p  " +leftSql+
                " where 1=1 " ;
        if(doctorType==1){//专科医生是根据计划的创建者字段过滤
@ -92,14 +95,12 @@ public class RehabilitationManageService {
        String todayStart = DateUtil.getStringDateShort()+" "+"00:00:00";
        String todayEnd = DateUtil.getStringDateShort()+" "+"23:59:59";
        String condition ="";
        if(doctorType==2){//家医是根据计划详情表的执行者字段过滤
            condition+=" and doctor='"+doctorCode+"' ";
        }
        if(todaybacklog!=null&&todaybacklog==1){
            condition += " and execute_time>='"+todayStart+"' and execute_time<='"+todayEnd+"'";
        }
        finalSql =" select DISTINCT b.* from (select DISTINCT plan_id from wlyy_specialist.wlyy_rehabilitation_plan_detail where  1=1 "+condition+") a " +
                " right JOIN ("+sql+") b on a.plan_id=b.id ";
                " JOIN ("+sql+") b on a.plan_id=b.id ";
//        if(todaybacklog!=null&&todaybacklog==1){
//            finalSql = " select DISTINCT b.* from (select DISTINCT plan_id from wlyy_specialist.wlyy_rehabilitation_plan_detail where execute_time>='"+todayStart+"' and execute_time<='"+todayEnd+"') a "+
//                    "LEFT JOIN ("+sql+") b on a.plan_id=b.id";
@ -482,7 +483,7 @@ public class RehabilitationManageService {
        String sql = " select d.*,DATE_FORMAT(d.execute_time,'%Y/%m/%d %H:%i') as executeTime ,i.content,i.title from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
                " LEFT JOIN wlyy_specialist.wlyy_hospital_service_item h on d.hospital_service_item_id = h.id "+
                " LEFT JOIN wlyy_service_item i on i.id = h.service_item_id " +
                " where d.execute_time>='"+executeStartTime+"' and d.execute_time<='"+executeEndTime+"' and d.plan_id='"+planId+"' order by d.execute_time desc" ;
                " where d.execute_time>='"+executeStartTime+"' and d.execute_time<='"+executeEndTime+"' and d.plan_id='"+planId+"' " ;
        if(searchTask!=null){
            if(searchTask==1){
                sql+="and d.doctor='"+doctorCode+"' ";
@ -493,6 +494,7 @@ public class RehabilitationManageService {
        if(status!=null){
            sql+= "and d.status="+status;
        }
        sql +="  order by d.execute_time desc ";
        List<Map<String,Object>> rehabilitationDetailList = jdbcTemplate.queryForList(sql);
        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,rehabilitationDetailList);
    }
@ -503,7 +505,7 @@ public class RehabilitationManageService {
     * @return
     * @throws Exception
     */
    public ObjEnvelop serviceItemList(String planDetailIds) throws Exception{
    public ObjEnvelop serviceItemList(String planDetailIds,String doctorCode) throws Exception{
        String[] s = planDetailIds.split(",");
        String planDetailList = "";
        for(String one:s){
@ -524,6 +526,11 @@ public class RehabilitationManageService {
        for(Map<String,Object> one:serviceItemList){
            Map<String,Object> resultMap = new HashMap<>();
            List<String> executeDoctorList = new ArrayList<>();
            Integer isMyTask = 0;
            if(StringUtils.isNotEmpty(doctorCode)&&doctorCode.equals(one.get("specialistDoctor")+"")){
                isMyTask=1;
            }
            resultMap.put("isMyTask",isMyTask);//0不是自己的任务,1是自己的任务
            if(!(one.get("specialistDoctor")+"").equals((one.get("create_user")+""))){
                executeDoctorList.add(one.get("create_user_name")+"");
            }
@ -585,7 +592,7 @@ public class RehabilitationManageService {
     * @throws Exception
     *
     */
    public ObjEnvelop serviceItem(String planDetailId) throws Exception{
    public ObjEnvelop serviceItem(String planDetailId,String doctorCode) throws Exception{
        String sql = "select i.title,i.content,i.type as itemType,i.reserve,d.id,d.execute_time,d.hospital_name,d.status,d.type,d.expense,d.doctor as specialistDoctor, " +
                " d.doctor_name as specialistDoctorName,p.patient ,p.name as patientName,p.create_user ,p.create_user_name " +
                " from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
@ -597,6 +604,11 @@ public class RehabilitationManageService {
        Map<String,Object> one = serviceItemList.get(0);
        Map<String,Object> resultMap = new HashMap<>();
        List<String> executeDoctorList = new ArrayList<>();
        Integer isMyTask = 0;
        if(StringUtils.isNotEmpty(doctorCode)&&doctorCode.equals(one.get("specialistDoctor")+"")){
            isMyTask=1;
        }
        resultMap.put("isMyTask",isMyTask);//0不是自己的任务,1是自己的任务
        if(!(one.get("specialistDoctor")+"").equals((one.get("create_user")+""))){
            executeDoctorList.add(one.get("create_user_name")+"");
        }
@ -764,7 +776,7 @@ public class RehabilitationManageService {
            map.put("planTypeName",planTypeName);//安排类型名称
            map.put("statusName",statusName);//状态名称
            //已完成
            Integer allFinishCount = rehabilitationDetailDao.findByStatusAndPlanId(2,one.getId());
            Integer allFinishCount = rehabilitationDetailDao.findByStatusAndPlanId(1,one.getId());
            map.put("allFinishCount",allFinishCount);//已完成
//            //未完成
//            Integer notstartedCount = rehabilitationDetailDao.completenessCount(1,one.getId());//未开始
@ -1051,8 +1063,22 @@ public class RehabilitationManageService {
     * @return
     */
    public ObjEnvelop dailyJob(String startTime,String endTime){
        List<Map<String,Object>> list = rehabilitationDetailDao.dailyJob(startTime,endTime);
        String sql = "select d.doctor,p.patient,count(1) as num from wlyy_rehabilitation_plan_detail d left join wlyy_patient_rehabilitation_plan p on d.plan_id=p.id where d.status!=1 and d.execute_time>='"+startTime+"' and d.execute_time<='"+endTime+"' GROUP BY d.doctor,p.patient";
//        List<Object> list = rehabilitationDetailDao.dailyJob(startTime,endTime);
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        String doctorCode = "";
        String patientCode = "";
        List<String> listMap  = null;
        for(Map<String,Object> one:list){
            doctorCode = one.get("doctor")+"";
            patientCode = one.get("patient")+"";
            listMap = rehabilitationDetailDao.findByPatientAndDoctor(startTime,endTime,doctorCode,patientCode);
            String ids = "";
            for(String one2 : listMap){
                ids += ","+one2;
            }
            one.put("planDetailIds",StringUtils.isNotEmpty(ids)?ids.substring(1):"");
        }
        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,list);
    }