浏览代码

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

吴世龙 3 年之前
父节点
当前提交
18579d4e2c
共有 43 个文件被更改,包括 1146 次插入102 次删除
  1. 99 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/gw/BaseHomePageDO.java
  2. 67 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/gw/BaseRulesDO.java
  3. 87 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/gw/BaseWebInfoDO.java
  4. 1 1
      common/common-entity/src/main/java/com/yihu/jw/entity/care/device/DeviceDetail.java
  5. 41 0
      common/common-util/src/main/java/com/yihu/jw/util/http/HttpClientUtil.java
  6. 5 0
      gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java
  7. 7 0
      gateway/ag-basic/src/main/resources/application.yml
  8. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/article/KnowledgeArticleDictDao.java
  9. 12 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/gw/BaseHomePageDao.java
  10. 12 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/gw/BaseRulesDao.java
  11. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/gw/BaseWebInfoDao.java
  12. 3 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java
  13. 26 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/FileUploadController.java
  14. 254 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/gw/ZjxlGwEndpoint.java
  15. 155 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/gw/ZjxlGwOpenEndpoint.java
  16. 5 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/article/KnowledgeArticleService.java
  17. 20 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/BaseHomePageService.java
  18. 18 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/BaseRulesService.java
  19. 20 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/BaseWebInfoService.java
  20. 44 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/ZjxlGwService.java
  21. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/menu/BaseMenuManageService.java
  22. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/DetectionPlatformEndpoint.java
  23. 12 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultTeamService.java
  24. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/contacts/ContactsService.java
  25. 8 14
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/NetworkCardService.java
  26. 3 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java
  27. 8 4
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java
  28. 98 21
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/data/SaveDataPushJob.java
  29. 27 8
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/PatientSosContactsJob.java
  30. 16 6
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/YunXunDeviceService.java
  31. 6 2
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/sim/UpdateSimsJob.java
  32. 26 23
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/WlyysimFlowVoiceService.java
  33. 1 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/device/NetworkCardService.java
  34. 27 3
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/web/JobController.java
  35. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhBaseDoorCoachFeeDetailDO.java
  36. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhBaseDoorCoachOrderDO.java
  37. 2 2
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhBasePatientDO.java
  38. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhEmergencyAssistanceDO.java
  39. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhLifeCareFeeDetailDO.java
  40. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhLifeCareOrderDO.java
  41. 1 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhSecurityMonitoringOrderDO.java
  42. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhServicePackageItemDO.java
  43. 1 1
      svr/svr-iot/src/main/java/com/yihu/iot/service/analyzer/IotAnalyzerService.java

+ 99 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/gw/BaseHomePageDO.java

@ -0,0 +1,99 @@
package com.yihu.jw.entity.base.gw;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
 * 制度表
 * Created by yeshijie on 2022/2/21.
 */
@Entity
@Table(name = "base_home_page")
public class BaseHomePageDO extends UuidIdentityEntityWithCreateTime {
    private String name;//名称
    private Integer type;//1 banner,2产品生态与亮点 3解决方案 4新闻中心
    private String img;//图片
    private String url;//链接
    private Integer del;//失效标志 0失效 1生效
    private Long sort;//排序
    private String articleId;//文章id
    private String articleTitle;//文章标题
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "type")
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    @Column(name = "img")
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    @Column(name = "url")
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    @Column(name = "del")
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    @Column(name = "sort")
    public Long getSort() {
        return sort;
    }
    public void setSort(Long sort) {
        this.sort = sort;
    }
    @Column(name = "article_id")
    public String getArticleId() {
        return articleId;
    }
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }
    @Transient
    public String getArticleTitle() {
        return articleTitle;
    }
    public void setArticleTitle(String articleTitle) {
        this.articleTitle = articleTitle;
    }
}

+ 67 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/gw/BaseRulesDO.java

@ -0,0 +1,67 @@
package com.yihu.jw.entity.base.gw;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 制度表
 * Created by yeshijie on 2022/2/21.
 */
@Entity
@Table(name = "base_rules")
public class BaseRulesDO extends UuidIdentityEntityWithCreateTime {
    private String name;//制度名称
    private String fileUrl;//文件地址
    private String fileFormat;//文件格式
    private String img;//
    private Integer del;//失效标志 0失效 1生效
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "file_url")
    public String getFileUrl() {
        return fileUrl;
    }
    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }
    @Column(name = "file_format")
    public String getFileFormat() {
        return fileFormat;
    }
    public void setFileFormat(String fileFormat) {
        this.fileFormat = fileFormat;
    }
    @Column(name = "img")
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    @Column(name = "del")
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
}

+ 87 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/gw/BaseWebInfoDO.java

@ -0,0 +1,87 @@
package com.yihu.jw.entity.base.gw;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 制度表
 * Created by yeshijie on 2022/2/21.
 */
@Entity
@Table(name = "base_web_info")
public class BaseWebInfoDO extends UuidIdentityEntityWithCreateTime {
    private String name;
    private String address;//地址
    private String mobile;//联系方式
    private String recordNumber;//备案号
    private String qrcode;//二维码
    private String longitude;//经度
    private String latitude;//纬度
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "address")
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    @Column(name = "mobile")
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Column(name = "record_number")
    public String getRecordNumber() {
        return recordNumber;
    }
    public void setRecordNumber(String recordNumber) {
        this.recordNumber = recordNumber;
    }
    @Column(name = "qrcode")
    public String getQrcode() {
        return qrcode;
    }
    public void setQrcode(String qrcode) {
        this.qrcode = qrcode;
    }
    @Column(name = "longitude")
    public String getLongitude() {
        return longitude;
    }
    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }
    @Column(name = "latitude")
    public String getLatitude() {
        return latitude;
    }
    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }
}

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/care/device/DeviceDetail.java

@ -169,7 +169,7 @@ public class DeviceDetail extends IdEntity {
        this.serverIp = serverIp;
    }
    @Column(name = "manufacturerCode")
    @Column(name = "manufacturer_code")
    public String getManufacturerCode() {
        return manufacturerCode;
    }

+ 41 - 0
common/common-util/src/main/java/com/yihu/jw/util/http/HttpClientUtil.java

@ -117,6 +117,47 @@ public class HttpClientUtil {
    }
    public  String postWithTimeOUt(String url, List<NameValuePair> params, String chatSet,int outTime) {
        // 创建默认的httpClient实例.
        CloseableHttpClient httpclient = HttpClients.createDefault();
        // 创建httppost
        HttpPost httppost = new HttpPost(url);
        UrlEncodedFormEntity uefEntity;
        RequestConfig requestConfig = RequestConfig.custom()
                .setConnectTimeout(outTime)
                .setConnectionRequestTimeout(outTime)
                .setStaleConnectionCheckEnabled(true)
                .setSocketTimeout(outTime).build();
        httppost.setConfig(requestConfig);
        try {
            uefEntity = new UrlEncodedFormEntity(params, chatSet);
            httppost.setEntity(uefEntity);
            CloseableHttpResponse response = httpclient.execute(httppost);
            try {
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    return EntityUtils.toString(entity, chatSet);
                }
            } finally {
                response.close();
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接,释放资源
            try {
                httpclient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    /**
     * 发送get请求
     *

+ 5 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -129,6 +129,7 @@ public class BasicZuulFilter extends ZuulFilter {
        //内部微服务有不需要认证的地址请在URL上追加/open/来进行过滤,如/api/v1.0/open/**,不要在此继续追加!!!
        if (url.contains("/auth/")//验证服务
                || url.contains("/authgw/")//验证服务
                || url.contains("/base/wechat")//微信
                || url.contains("/patient/wxBase/")//微信
                || url.contains("/patient/wx/")//微信页面不拦截
@ -250,6 +251,10 @@ public class BasicZuulFilter extends ZuulFilter {
        if(StringUtils.isEmpty(urls)){
            return this.forbidden(ctx, ResultStatus.NO_PERMI, "invalid token does not contain request resource " + path);
        }
        //官网服务-网关数据库不同,不验证数据库的token过期时间
        if (path.contains("/basegw/")) {
            return true;
        }
        //获取所有token资源
        String resourceIds[] = urls.split(",");
        String platform = request.getHeader("platform");

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

@ -72,6 +72,13 @@ zuul:
    svr-authentication:
      path: /cityihealth/auth/**
      serviceId: svr-authentication
#公司官网
    svr-base-gw:
      path: /cityihealth/basegw/**
      serviceId: svr-base-gw
    svr-authentication-gw:
      path: /cityihealth/authgw/**
      serviceId: svr-authentication-gw
    svr-healthy-house:
      path: /cityihealth/healthyHouse/**
      serviceId: svr-healthy-house

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/article/KnowledgeArticleDictDao.java

@ -33,7 +33,7 @@ public interface KnowledgeArticleDictDao extends PagingAndSortingRepository<Know
	Integer getCountByCategoryFirst(String category);
	@Query(" select count(*) from KnowledgeArticleDictDO a where a.del=1 and  a.categorySecond IN (?1) and a.releaseStatus=1")
	Integer getCountByCategorySecond(List<String> category);
	@Query("select a from KnowledgeArticleDictDO a where a.del=1 and  a.categorySecond IN ( ?1 ) and a.releaseStatus=1 order by  a.releaseTime desc ")
	@Query("select a from KnowledgeArticleDictDO a where a.del=1 and  a.categorySecond IN ( ?1 ) and a.releaseStatus=1 order by  a.releaseTime desc,a.createTime desc ")
	List<KnowledgeArticleDictDO> findByCategorySecondAndPage(List<String> category,Pageable pageRequest);

+ 12 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/gw/BaseHomePageDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.base.dao.gw;
import com.yihu.jw.entity.base.gw.BaseHomePageDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2022/2/21.
 */
public interface BaseHomePageDao extends PagingAndSortingRepository<BaseHomePageDO, String>, JpaSpecificationExecutor<BaseHomePageDO> {
}

+ 12 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/gw/BaseRulesDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.base.dao.gw;
import com.yihu.jw.entity.base.gw.BaseRulesDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2022/2/21.
 */
public interface BaseRulesDao extends PagingAndSortingRepository<BaseRulesDO, String>, JpaSpecificationExecutor<BaseRulesDO> {
}

+ 17 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/gw/BaseWebInfoDao.java

@ -0,0 +1,17 @@
package com.yihu.jw.base.dao.gw;
import com.yihu.jw.entity.base.gw.BaseWebInfoDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by yeshijie on 2022/2/21.
 */
public interface BaseWebInfoDao extends PagingAndSortingRepository<BaseWebInfoDO, String>, JpaSpecificationExecutor<BaseWebInfoDO> {
    @Query("from BaseWebInfoDO")
    List<BaseWebInfoDO> findAll();
}

+ 3 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java

@ -95,7 +95,9 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
			if (userDO!=null){
				RoleDO roleDO= roleDao.findOne(userDO.getRoleId());
				if (roleDO!=null){
					if ("admin".equalsIgnoreCase(roleDO.getCode())){
					if ("admin".equalsIgnoreCase(roleDO.getCode())
							||"hosAdmin".equalsIgnoreCase(roleDO.getCode())
							||"saasAdmin".equalsIgnoreCase(roleDO.getCode())){
						queryAll=true;
					}
				}

+ 26 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/FileUploadController.java

@ -11,9 +11,11 @@ import com.yihu.jw.file_upload.FileManageService;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.restmodel.MutilFileInfo;
import com.yihu.jw.restmodel.iot.common.UploadVO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.rm.iot.IotRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -50,6 +52,8 @@ public class FileUploadController extends EnvelopRestEndpoint {
    private String fastdfs_file_url;
    @Autowired
    FileUploadService fileUploadService;
    @Autowired
    private FastDFSUtil fastDFSHelper;
    @Value("${testPattern.sign}")
    private String isClose;
@ -94,6 +98,28 @@ public class FileUploadController extends EnvelopRestEndpoint {
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = "upload_stream_attachmentLimit")
    @ApiOperation(value = "文件流上传附件", notes = "文件流上传附件限制格式")
    public ObjEnvelop<UploadVO> uploadAttachmentLimit(@ApiParam(value = "文件", required = true)
                                                 @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        UploadVO uploadVO = new UploadVO();
        // 得到文件的完整名称  xxx.txt
        String originalFilename = file.getOriginalFilename();
        //得到文件类型
        String fileName = originalFilename.substring(0, originalFilename.lastIndexOf("."));
        String fileType = originalFilename.substring(originalFilename.lastIndexOf(".") + 1).toLowerCase();
        if(StringUtils.isBlank(fileType)||!"doc、docx、pdf、xls、xlsx、ppt、pptx".contains(fileType)){
            return ObjEnvelop.getError("文件格式不支持");
        }
        InputStream inputStream = file.getInputStream();
        ObjectNode objectNode = fastDFSHelper.upload(inputStream, fileType, "");
        //解析返回的objectNode
        uploadVO.setFileName(fileName);
        uploadVO.setFileType(fileType);
        uploadVO.setFullUri(objectNode.get("fileId").toString().replaceAll("\"", ""));
        uploadVO.setFullUrl(fastdfs_file_url + objectNode.get("fileId").toString().replaceAll("\"", ""));
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_ATTACHMENT)
    @ApiOperation(value = "文件流上传附件", notes = "文件流上传附件")

+ 254 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/gw/ZjxlGwEndpoint.java

@ -0,0 +1,254 @@
package com.yihu.jw.base.endpoint.gw;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.article.KnowledgeArticleService;
import com.yihu.jw.base.service.gw.BaseHomePageService;
import com.yihu.jw.base.service.gw.BaseRulesService;
import com.yihu.jw.base.service.gw.BaseWebInfoService;
import com.yihu.jw.base.service.gw.ZjxlGwService;
import com.yihu.jw.entity.base.gw.BaseHomePageDO;
import com.yihu.jw.entity.base.gw.BaseRulesDO;
import com.yihu.jw.entity.base.gw.BaseWebInfoDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
 * Created by yeshijie on 2022/2/21.
 */
@RestController
@RequestMapping(value = "/zjxlGw")
@Api(value = "公司官网", tags = {"公司官网"})
public class ZjxlGwEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ZjxlGwService zjxlGwService;
    @Autowired
    private BaseHomePageService baseHomePageService;
    @Autowired
    private BaseWebInfoService baseWebInfoService;
    @Autowired
    private BaseRulesService baseRulesService;
    @Autowired
    private KnowledgeArticleService knowledgeArticleService;
    @GetMapping(value = "searchKnowledgePageList")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageList(
            @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 = "第几页,从1开始", required = true, defaultValue = "1")
            @RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
            @ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
        try {
            List<KnowledgeArticleDictDO> list  = knowledgeArticleService.search(fields,filters,sorts,page,pageSize);
            List<KnowledgeArticleDictDO> totals  = knowledgeArticleService.search(fields,filters,sorts);
            JSONObject result = new JSONObject();
            result.put("total",totals.size());
            result.put("detailModelList",list);
            return success(result);
        }catch (Exception e){
            return failedException(e);
        }
    }
    @PostMapping(value = "addOrUpdRules")
    @ApiOperation(value = "创建或修改制度")
    public Envelop addOrUpdRules(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData){
        try {
            BaseRulesDO baseRulesDO = toEntity(jsonData, BaseRulesDO.class);
            if(baseRulesDO.getCreateTime()==null){
                baseRulesDO.setCreateTime(new Date());
            }
            baseRulesService.save(baseRulesDO);
            return success("操作成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("操作失败");
        }
    }
    @PostMapping(value = "deleteRules")
    @ApiOperation(value = "删除制度")
    public Envelop deleteRules(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        try {
            baseRulesService.delete(ids.split(","));
            return success("删除成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("删除失败");
        }
    }
    @GetMapping(value = "rulesPage")
    @ApiOperation(value = "获取制度分页")
    public PageEnvelop<BaseRulesDO> rulesPage(
            @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) {
        try {
            List<BaseRulesDO> baseOrgs = baseRulesService.search(fields, filters, sorts, page, size);
            int count = (int) baseRulesService.getCount(filters);
            return success(baseOrgs, count, page, size, BaseRulesDO.class);
        }catch (Exception e){
            e.printStackTrace();
            return PageEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findRulesById")
    @ApiOperation(value = "根据id查询制度")
    public ObjEnvelop findRulesById (
            @ApiParam(name = "id", value = "id")
            @RequestParam(value = "id", required = true) String id){
        try {
            BaseRulesDO baseRulesDO = zjxlGwService.findRulesById(id);
            return ObjEnvelop.getSuccess("查询成功",baseRulesDO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findWebInfo")
    @ApiOperation(value = "网页基本信息")
    public ObjEnvelop findWebInfo(){
        try {
            BaseWebInfoDO webInfoDO = zjxlGwService.findWebInfo();
            return ObjEnvelop.getSuccess("查询成功",webInfoDO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    @PostMapping(value = "addOrUpdWebInfo")
    @ApiOperation(value = "创建或修改网页基本信息")
    public Envelop addOrUpdWebInfo(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData){
        try {
            BaseWebInfoDO webInfoDO = toEntity(jsonData, BaseWebInfoDO.class);
            if(webInfoDO.getCreateTime()==null){
                webInfoDO.setCreateTime(new Date());
            }
            baseWebInfoService.save(webInfoDO);
            return success("操作成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("操作失败");
        }
    }
    @PostMapping(value = "addOrUpdHomePage")
    @ApiOperation(value = "创建或修改首页")
    public Envelop addOrUpdHomePage(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData){
        try {
            BaseHomePageDO baseHomePageDO = toEntity(jsonData, BaseHomePageDO.class);
            if(baseHomePageDO.getCreateTime()==null){
                baseHomePageDO.setCreateTime(new Date());
            }
            baseHomePageService.save(baseHomePageDO);
            return success("操作成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("操作失败");
        }
    }
    @PostMapping(value = "deleteHomePage")
    @ApiOperation(value = "删除首页")
    public Envelop deleteHomePage(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        try {
            baseHomePageService.delete(ids.split(","));
            return success("删除成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("删除失败");
        }
    }
    @GetMapping(value = "homePagePage")
    @ApiOperation(value = "获取制度分页")
    public PageEnvelop<BaseHomePageDO> homePagePage(
            @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) {
        try {
            List<BaseHomePageDO> homePageDOS = baseHomePageService.search(fields, filters, sorts, page, size);
            for (BaseHomePageDO homePageDO:homePageDOS){
                if(StringUtils.isNotBlank(homePageDO.getArticleId())){
                    KnowledgeArticleDictDO articleDictDO = knowledgeArticleService.findById(homePageDO.getArticleId());
                    if(articleDictDO!=null){
                        homePageDO.setArticleTitle(articleDictDO.getTitle());
                    }
                }
            }
            int count = (int) baseHomePageService.getCount(filters);
            return success(homePageDOS, count, page, size, BaseHomePageDO.class);
        }catch (Exception e){
            e.printStackTrace();
            return PageEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findHomePageById")
    @ApiOperation(value = "根据id查询首页")
    public ObjEnvelop findHomePageById (
            @ApiParam(name = "id", value = "id")
            @RequestParam(value = "id", required = true) String id){
        try {
            BaseHomePageDO homePageDO = zjxlGwService.findHomePageById(id);
            if(StringUtils.isNotBlank(homePageDO.getArticleId())){
                KnowledgeArticleDictDO articleDictDO = knowledgeArticleService.findById(homePageDO.getArticleId());
                if(articleDictDO!=null){
                    homePageDO.setArticleTitle(articleDictDO.getTitle());
                }
            }
            return ObjEnvelop.getSuccess("查询成功",homePageDO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
}

+ 155 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/gw/ZjxlGwOpenEndpoint.java

@ -0,0 +1,155 @@
package com.yihu.jw.base.endpoint.gw;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.article.KnowledgeArticleService;
import com.yihu.jw.base.service.gw.BaseHomePageService;
import com.yihu.jw.base.service.gw.BaseRulesService;
import com.yihu.jw.base.service.gw.BaseWebInfoService;
import com.yihu.jw.base.service.gw.ZjxlGwService;
import com.yihu.jw.entity.base.gw.BaseHomePageDO;
import com.yihu.jw.entity.base.gw.BaseRulesDO;
import com.yihu.jw.entity.base.gw.BaseWebInfoDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
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.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
 * Created by yeshijie on 2022/2/21.
 */
@RestController
@RequestMapping(value = "open/zjxlGw")
@Api(value = "公司官网-前端", tags = {"公司官网-前端"})
public class ZjxlGwOpenEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ZjxlGwService zjxlGwService;
    @Autowired
    private BaseHomePageService baseHomePageService;
    @Autowired
    private BaseRulesService baseRulesService;
    @Autowired
    private KnowledgeArticleService knowledgeArticleService;
    @GetMapping(value = "searchKnowledgePageList")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageList(
            @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 = "第几页,从1开始", required = true, defaultValue = "1")
            @RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
            @ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
        try {
            List<KnowledgeArticleDictDO> list  = knowledgeArticleService.search(fields,filters,sorts,page,pageSize);
            List<KnowledgeArticleDictDO> totals  = knowledgeArticleService.search(fields,filters,sorts);
            JSONObject result = new JSONObject();
            result.put("total",totals.size());
            result.put("detailModelList",list);
            return success(result);
        }catch (Exception e){
            return failedException(e);
        }
    }
    @GetMapping(value = "rulesPage")
    @ApiOperation(value = "获取制度分页")
    public PageEnvelop<BaseRulesDO> rulesPage(
            @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) {
        try {
            List<BaseRulesDO> baseOrgs = baseRulesService.search(fields, filters, sorts, page, size);
            int count = (int) baseRulesService.getCount(filters);
            return success(baseOrgs, count, page, size, BaseRulesDO.class);
        }catch (Exception e){
            e.printStackTrace();
            return PageEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findRulesById")
    @ApiOperation(value = "根据id查询制度")
    public ObjEnvelop findRulesById (
            @ApiParam(name = "id", value = "id")
            @RequestParam(value = "id", required = true) String id){
        try {
            BaseRulesDO baseRulesDO = zjxlGwService.findRulesById(id);
            return ObjEnvelop.getSuccess("查询成功",baseRulesDO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findWebInfo")
    @ApiOperation(value = "网页基本信息")
    public ObjEnvelop findWebInfo(){
        try {
            BaseWebInfoDO webInfoDO = zjxlGwService.findWebInfo();
            return ObjEnvelop.getSuccess("查询成功",webInfoDO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "homePagePage")
    @ApiOperation(value = "获取制度分页")
    public PageEnvelop<BaseHomePageDO> homePagePage(
            @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) {
        try {
            List<BaseHomePageDO> homePageDOS = baseHomePageService.search(fields, filters, sorts, page, size);
            int count = (int) baseHomePageService.getCount(filters);
            return success(homePageDOS, count, page, size, BaseHomePageDO.class);
        }catch (Exception e){
            e.printStackTrace();
            return PageEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findHomePageById")
    @ApiOperation(value = "根据id查询首页")
    public ObjEnvelop findHomePageById (
            @ApiParam(name = "id", value = "id")
            @RequestParam(value = "id", required = true) String id){
        try {
            BaseHomePageDO baseHomePageDO = zjxlGwService.findHomePageById(id);
            return ObjEnvelop.getSuccess("查询成功",baseHomePageDO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
}

+ 5 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/article/KnowledgeArticleService.java

@ -145,6 +145,11 @@ public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDict
		}
		return false;
	}
	public KnowledgeArticleDictDO findById(String id){
		return knowledgeArticleDictDao.findByIdAndDel(id);
	}
	/**
	 * 更新/保存健康文章
	 * @param jsonData

+ 20 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/BaseHomePageService.java

@ -0,0 +1,20 @@
package com.yihu.jw.base.service.gw;
import com.yihu.jw.base.dao.gw.BaseHomePageDao;
import com.yihu.jw.entity.base.gw.BaseHomePageDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * Created by yeshijie on 2022/2/21.
 */
@Service
public class BaseHomePageService extends BaseJpaService<BaseHomePageDO, BaseHomePageDao> {
    @Autowired
    private BaseHomePageDao baseHomePageDao;
}

+ 18 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/BaseRulesService.java

@ -0,0 +1,18 @@
package com.yihu.jw.base.service.gw;
import com.yihu.jw.base.dao.gw.BaseRulesDao;
import com.yihu.jw.entity.base.gw.BaseRulesDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * Created by yeshijie on 2022/2/21.
 */
@Service
public class BaseRulesService extends BaseJpaService<BaseRulesDO, BaseRulesDao> {
    @Autowired
    private BaseRulesDao baseRulesDao;
}

+ 20 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/BaseWebInfoService.java

@ -0,0 +1,20 @@
package com.yihu.jw.base.service.gw;
import com.yihu.jw.base.dao.gw.BaseWebInfoDao;
import com.yihu.jw.entity.base.gw.BaseWebInfoDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * Created by yeshijie on 2022/2/21.
 */
@Service
public class BaseWebInfoService extends BaseJpaService<BaseWebInfoDO, BaseWebInfoDao> {
    @Autowired
    private BaseWebInfoDao baseWebInfoDao;
}

+ 44 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/gw/ZjxlGwService.java

@ -0,0 +1,44 @@
package com.yihu.jw.base.service.gw;
import com.yihu.jw.base.dao.gw.BaseHomePageDao;
import com.yihu.jw.base.dao.gw.BaseRulesDao;
import com.yihu.jw.base.dao.gw.BaseWebInfoDao;
import com.yihu.jw.entity.base.gw.BaseHomePageDO;
import com.yihu.jw.entity.base.gw.BaseRulesDO;
import com.yihu.jw.entity.base.gw.BaseWebInfoDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * 公司官网
 * Created by yeshijie on 2022/2/21.
 */
@Service
public class ZjxlGwService {
    @Autowired
    private BaseHomePageDao baseHomePageDao;
    @Autowired
    private BaseWebInfoDao baseWebInfoDao;
    @Autowired
    private BaseRulesDao baseRulesDao;
    public BaseRulesDO findRulesById(String id){
        return baseRulesDao.findOne(id);
    }
    public BaseHomePageDO findHomePageById(String id){
        return baseHomePageDao.findOne(id);
    }
    public BaseWebInfoDO findWebInfo(){
        List<BaseWebInfoDO> list = baseWebInfoDao.findAll();
        if(list.size()>0){
            return list.get(0);
        }
        return null;
    }
}

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/menu/BaseMenuManageService.java

@ -185,7 +185,7 @@ public class BaseMenuManageService {
                baseMenuDictDO.setFunctionName(menuFunction.getDictValue());
            }else {
                WlyyHospitalSysDictDO menuLocation = wlyyHospitalSysDictDao.findOneByDictNameAndDictCode("menuLocation",baseMenuDictDO.getMenuLocation());
                if (menuLocation.getDictValue() == null){
                if (menuLocation==null||menuLocation.getDictValue() == null){
                    baseMenuDictDO.setLocaTionName("无");
                }else {
                    baseMenuDictDO.setLocaTionName(menuLocation.getDictValue());

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/DetectionPlatformEndpoint.java

@ -356,7 +356,7 @@ public class DetectionPlatformEndpoint extends EnvelopRestEndpoint {
        }
    }
    @ApiOperation("获取流量/语音使用信息")
    @ApiOperation("获取流量/语音使用总数据表格-从统计初至今")
    @ResponseBody
    @RequestMapping(value = "getSimFlowVoiceLineInfo", method = RequestMethod.GET)
    public ListEnvelop getSimFlowVoiceLineInfo(@ApiParam(name="type",value = "1月2日")

+ 12 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultTeamService.java

@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -206,6 +207,7 @@ public class ConsultTeamService {
        templateJson.put("id",orderId);
        templateJson.put("OrderType",20);
        List<String> familyArchiveType3 = new ArrayList<>();
        for (int i=0;i<familyArr.size();i++){
            JSONObject tmp = familyArr.getJSONObject(i);
            String patientId = tmp.getString("id");
@ -215,6 +217,10 @@ public class ConsultTeamService {
            participants.put(patientId, 0);//家庭成员拉入会话
            String archiveType = tmp.getString("archiveType");
            if ("3".equals(archiveType)){
                if (familyArchiveType3.contains(patientId)){//避免重复发送
                    continue;
                }
                familyArchiveType3.add(patientId);
                String name = tmp.getString("name");
                //创建家属系统消息
                SystemMessageDO messageDO = new SystemMessageDO();
@ -422,6 +428,8 @@ public class ConsultTeamService {
        JSONObject templateJson = new JSONObject();
        templateJson.put("id",orderId);
        templateJson.put("OrderType",22);
        List<String> familyArchiveType3 = new ArrayList<>();
        for (int i=0;i<familyArr.size();i++){
            JSONObject tmp = familyArr.getJSONObject(i);
            String patientId = tmp.getString("id");
@ -432,6 +440,10 @@ public class ConsultTeamService {
            participants.put(patientId, 0);
            String archiveType = tmp.getString("archiveType");
            if ("3".equals(archiveType)){
                if (familyArchiveType3.contains(patientId)){//避免重复发送
                    continue;
                }
                familyArchiveType3.add(patientId);
                String name = tmp.getString("name");
                //创建家属系统消息
                SystemMessageDO messageDO = new SystemMessageDO();

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/contacts/ContactsService.java

@ -248,8 +248,8 @@ public class ContactsService {
                    }
                }
                String[] numTmp = num.split("_");
                String sql = " select pd.device_sn,wd.sim from  wlyy_patient_device pd inner join wlyy_devices wd  " +
                        "on pd.device_sn = wd.device_code and pd.del=0 and wd.sim is not null and pd.category_code in('7','4')  " +
                String sql = " select pd.device_sn,wd.iccid from  wlyy_patient_device pd inner join wlyy_devices wd  " +
                        "on pd.device_sn = wd.device_code and pd.del=0 and wd.iccid is not null and pd.category_code in('7','4')  " +
                        "where pd.user='"+patient+"' ";
                List<Map<String,Object>> sims = jdbcTemplate.queryForList(sql);
                //修改

+ 8 - 14
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/NetworkCardService.java

@ -165,7 +165,7 @@ public class NetworkCardService {
        params.add(new BasicNameValuePair("token", getAccessToken()));
        params.add(new BasicNameValuePair("groupId", NetworkCardConfig.flowGroupId));
        String response = httpClientUtil.get("https://api.iot.10086.cn/v5/ec/query/group-data-usage",params,"UTF-8");
//        {"status":"0","message":"正确","result":[{"useAmount":"2507595.00"}]}  单位KB  1GB=1024MB 1MB=1021KB
//        {"status":"0","message":"正确","result":[{"useAmount":"2507595.00"}]}  单位KB  1GB=1024MB 1MB=1024KB
        JSONObject responseBody = JSONObject.parseObject(response);
        if ("0".equals(responseBody.getString("status"))){
            useAmount= responseBody.getJSONArray("result").getJSONObject(0).getString("useAmount");
@ -188,24 +188,18 @@ public class NetworkCardService {
    public List<Map<String,Object>> getSimFlowVoiceLineInfo(String type,String data,String day){
        String sql = "";
        String sqlFilter = " ";
        if (StringUtils.isBlank(day)){
            if ("1".equals(type)){
                day = DateUtil.dateToStr(new Date(),DateUtil.YYYYMM);
            }
            if ("2".equals(type)){
                Date yesDay = DateUtil.getPreDays(new Date(),-1);
                day = DateUtil.dateToStr(yesDay,DateUtil.YYYYMMDD);
            }
        if (StringUtils.isNotBlank(day)){
            sqlFilter += " and day='"+day+"' ";
        }
        sqlFilter += " and day='"+day+"' ";
        if ("flow".equals(data)){
            sql = " select * from wlyy_sims_flow where type="+type+" ";
            sql = " select msisdn,sum(value) value,type from wlyy_sims_flow where type="+type+" ";
        }if ("voice".equals(data)){
            sql = " select * from wlyy_sims_voices where type="+type+" ";
            sql = " select msisdn,sum(value) value,type from wlyy_sims_voices where type="+type+" ";
        }
        sqlFilter += " ORDER BY `value`+0 desc ";
        return jdbcTemplate.queryForList(sql+sqlFilter);
        sql += sqlFilter+" GROUP BY msisdn ";
        return jdbcTemplate.queryForList(" select * from ("+sql+")A order by value desc ");
    }
    public List<Map<String,Object>> getSimCounts(){

+ 3 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -717,7 +717,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            if (StringUtils.isNotBlank(doctor)) {//日常监护医生必传
                fliter += " and EXISTS( SELECT 1 " +
                        " from  base_service_package_sign_record sr,base_service_package_record r,base_team_member m  " +
                        " WHERE ord.id = CONVERT(sr.patient USING utf8) and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id  " +
                        " WHERE ord.patient = CONVERT(sr.patient USING utf8) and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id  " +
                        " and m.doctor_code = '" + doctor + "' and m.del = '1' ) ";
                fliter += " and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id  " +
@ -1675,7 +1675,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        if (XY.size()!= 0) {
            for (Map<String, Object> map : XY) {
                //HealthIndexUtil.verifyHealthIndex
                JSONArray jsonArray = healthIndexUtil.verifyHealthIndex(2, map.get("value1").toString(), map.get("value2").toString(), map.get("value3").toString());
                JSONArray jsonArray = healthIndexUtil.verifyHealthIndex(2, null==map.get("value1")?"":map.get("value1").toString(), null==map.get("value2")?"":map.get("value2").toString(), null==map.get("value3")?"":map.get("value3").toString());
                if(jsonArray.size()==0){
                    map.put("value1Index","");
                    map.put("value2Index","");
@ -1696,7 +1696,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        if (XT.size()!= 0) {
            for (Map<String, Object> map : XT) {
                JSONArray jsonArray = healthIndexUtil.verifyHealthIndex(1, map.get("value1").toString(), map.get("value2").toString());
                JSONArray jsonArray = healthIndexUtil.verifyHealthIndex(1, null==map.get("value1")?"":map.get("value1").toString(), null==map.get("value2")?"":map.get("value2").toString());
                if(jsonArray.size()==0){
                    map.put("value1Index","");
                }else {

+ 8 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -138,7 +138,7 @@ public class StatisticsService {
            filter2 = " and org_code not in ('" + orgCodes + "') ";
        }
        String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0 " + filter2;
        String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status <> -1 " + filter2;
        Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql, Integer.class);
        String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 " + filter;
        Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql, Integer.class);
@ -288,7 +288,7 @@ public class StatisticsService {
                filter2 = " and org_code not in ('" + orgCodes + "') ";
            }
            String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0 "+filter2;
            String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status <> -1 "+filter2;
            Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql, Integer.class);
            String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 "+filter;
            Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql, Integer.class);
@ -420,7 +420,7 @@ public class StatisticsService {
            filter = " and hospital not in ('" + orgCodes + "') ";
            filter2 = " and org_code not in ('" + orgCodes + "') ";
        }
        String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0" + filter2;
        String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status <> -1 " + filter2;
        Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql, Integer.class);
        String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 " + filter;
        Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql, Integer.class);
@ -759,7 +759,11 @@ public class StatisticsService {
        }
        olderFamilyTotal = olderFamilyOff+olderFamilyOn;
        //家属绑定老人数量
        olderFamilyBinding = carePatientService.findOlderFamilyTotal(null,olderRelativeFilter);
        sql2 = " select count(distinct t3.id) total from base_patient t2 left JOIN base_patient_family_member t1 on t1.family_member = t2.id " +
                " Inner join base_patient t3 on t3.id = t1.patient " +
                " where t2.archive_type=3 and t2.del=1 and t3.archive_type=1 and t3.del=1 ";
        olderFamilyBinding = jdbcTemplate.queryForObject(sql2,Integer.class);
        //helper 助老员,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板
        result.put("olderTotal", olderTotal);

+ 98 - 21
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/data/SaveDataPushJob.java

@ -3,6 +3,7 @@ package com.yihu.jw.care.job.data;
import com.yihu.jw.care.util.DateUtil;
import com.yihu.jw.care.zhylyjkglxt.dao.*;
import com.yihu.jw.care.zhylyjkglxt.entity.*;
import org.apache.commons.lang.StringUtils;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -13,7 +14,10 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class SaveDataPushJob implements Job {
@ -48,39 +52,89 @@ public class SaveDataPushJob implements Job {
        String date = DateUtil.dateToStrShort(new Date());
        //System.out.println(date);
        date = DateUtil.getNextDay(date, -1);
//        String filterOrg = "";//排除的测试机构
//        String sqltmp = "SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' and dict_code is not null ";
//        List<String> listtmp =  jdbcTemplate.queryForList(sqltmp,String.class);
//        Map<String,String> jkzlOrgMap = new HashMap<>();
//        if(listtmp.size()>0){
//            jkzlOrgMap = listtmp.stream().collect(Collectors.toMap(String::toString,String::toString));
//            filterOrg = " '" +String.join("','",listtmp)+ "' ";
//        }
        String filterUser = " ";//排除的测试用户
        String sqltmp = "SELECT dict_code from wlyy_hospital_sys_dict WHERE (dict_name = 'jkzl_child' or dict_name = 'jkzl_older' " +
                "  or dict_name = 'jkzl_user' or dict_name = 'jkzl_helper'  or dict_name = 'jkzl_teacher' ) and dict_code is not null";
        List<String> listtmp = jdbcTemplate.queryForList(sqltmp,String.class);
        Map<String,String> jkzlUserMap = new HashMap<>();
        if (listtmp.size() > 0) {
            jkzlUserMap = listtmp.stream().collect(Collectors.toMap(String::toString,String::toString));
            filterUser = " '" +String.join("','",listtmp)+ "' ";
        }
        //签约老人id
        String signOlderSql="SELECT " +
                " DISTINCT p.id " +
                " FROM  " +
                " base_patient p INNER JOIN base_service_package_sign_record sr on p.id = sr.patient and sr.`status`=1 and  " +
                " p.id not in ("+filterUser+") " +
                " WHERE p.del = 1 and p.archive_type =1 " ;
        List<String> signOlderList = jdbcTemplate.queryForList(signOlderSql,String.class);
        Map<String,String> signOlderMap = signOlderList.stream().collect(Collectors.toMap(String::toString,String::toString));
        //System.out.println(date);
        saveSecurityMonitoringOrder(date);
        saveEmergencyAssistanceOrder(date);
        saveDoorCoachOrder(date);
        saveSecurityMonitoringOrder(date,signOlderMap);
        saveEmergencyAssistanceOrder(date,signOlderMap);
        saveDoorCoachOrder(date,jkzlUserMap);
        saveDoorCoachFeeDetail(date);
        saveLifeCareOrder(date);
        saveLifeCareOrder(date,signOlderMap);
        saveLifeCareFeeDetail(date);
        savePatientInfo(date);
        savePatientInfo(date,signOlderMap);
        saveServicePackageItem(date);
        savePatientDevice(date);
        savePatientDevice(date,signOlderMap);
        saveWlyyDevice(date);
    }
    //安防监护工单
    public void saveSecurityMonitoringOrder(String date){
    public void saveSecurityMonitoringOrder(String date,Map<String,String> signOlderMap){
        String securityMonitoringOrderSql="SELECT id,number,patient,serve_desc,serve_town,serve_address,doctor_name,`status`,hospital,service_status from base_security_monitoring_order WHERE create_time >= '"+date+"'";
        List<ZhSecurityMonitoringOrderDO> query = jdbcTemplate.query(securityMonitoringOrderSql, new BeanPropertyRowMapper<>(ZhSecurityMonitoringOrderDO.class));
        zhSecurityMonitoringOrderDao.save(query);
        for(ZhSecurityMonitoringOrderDO orderDO:query){
            if(!signOlderMap.containsKey(orderDO.getPatient())){
                query.remove(orderDO);
            }
        }
        if(query.size()>0){
            zhSecurityMonitoringOrderDao.save(query);
        }
    }
    //紧急救助工单
    public void saveEmergencyAssistanceOrder(String date){
        String emergencyAssistanceOrderSql ="SELECT id,patient_name,patient_phone,patient_idcard,org_name,serve_address,doctor_name,doctor_address,complete_time,team_code,proxy_patient_name,proxy_patient_phone,type,order_source FROM base_emergency_assistance_order WHERE create_time >= '"+date+"'";
    public void saveEmergencyAssistanceOrder(String date,Map<String,String> signOlderMap){
        String emergencyAssistanceOrderSql ="SELECT id,patient,patient_name,patient_phone,patient_idcard,org_name,serve_address,doctor_name,doctor_address,complete_time,team_code,proxy_patient_name,proxy_patient_phone,type,order_source FROM base_emergency_assistance_order WHERE create_time >= '"+date+"'";
        List<ZhEmergencyAssistanceDO> query = jdbcTemplate.query(emergencyAssistanceOrderSql, new BeanPropertyRowMapper<>(ZhEmergencyAssistanceDO.class));
        zhEmergencyAssistanceDao.save(query);
        for(ZhEmergencyAssistanceDO orderDO:query){
            if(!signOlderMap.containsKey(orderDO.getPatient())){
                query.remove(orderDO);
            }
        }
        if(query.size()>0){
            zhEmergencyAssistanceDao.save(query);
        }
    }
    //上门辅导工单
    public void saveDoorCoachOrder(String date){
        String doorCoachOrderSql = "SELECT id,proxy_patient_name,proxy_patient_phone,patient_name,patient_relation,patient_expected_serve_time,serve_desc,serve_address,serve_town,is_trans_other_org,total_fee,doctor_name,doctor_type,doctor_sign_time,doctor_sign_location,patient_confirm_finish_time,exam_paper_imgs,`status`,expected_doctor_name,hospital,followup_date FROM base_door_coach_order WHERE create_time >= '"+date+"'";
    public void saveDoorCoachOrder(String date,Map<String,String> jkzlUserMap){
        String doorCoachOrderSql = "SELECT id,proxy_patient_name,proxy_patient_phone,patient,patient_name,patient_relation,patient_expected_serve_time,serve_desc,serve_address,serve_town,is_trans_other_org,total_fee,doctor_name,doctor_type,doctor_sign_time,doctor_sign_location,patient_confirm_finish_time,exam_paper_imgs,`status`,expected_doctor_name,hospital,followup_date FROM base_door_coach_order WHERE create_time >= '"+date+"'";
        List<ZhBaseDoorCoachOrderDO> query = jdbcTemplate.query(doorCoachOrderSql, new BeanPropertyRowMapper<>(ZhBaseDoorCoachOrderDO.class));
        zhBaseDoorCoachOrderDao.save(query);
        for (ZhBaseDoorCoachOrderDO orderDO:query){
            if(jkzlUserMap.containsKey(orderDO.getPatient())){
                query.remove(orderDO);
            }
        }
        if(query.size()>0){
            zhBaseDoorCoachOrderDao.save(query);
        }
    }
    //上门辅导 服务工单价格
@ -91,10 +145,17 @@ public class SaveDataPushJob implements Job {
    }
    // 生活照料 工单
    public void  saveLifeCareOrder(String date){
        String lifeCareOrderSql = "SELECT id,proxy_patient_name,proxy_patient_phone,patient_name,patient_phone,patient_relation,serve_desc,serve_town,serve_address,total_fee,doctor_name,doctor_type,`status`,doctor_sign_location,sign_doctor_name,conclusion_remark,pay_status FROM base_life_care_order WHERE create_time >= '"+date+"'";
    public void  saveLifeCareOrder(String date,Map<String,String> signOlderMap){
        String lifeCareOrderSql = "SELECT id,proxy_patient_name,proxy_patient_phone,patient,patient_name,patient_phone,patient_relation,serve_desc,serve_town,serve_address,total_fee,doctor_name,doctor_type,`status`,doctor_sign_location,sign_doctor_name,conclusion_remark,pay_status FROM base_life_care_order WHERE create_time >= '"+date+"'";
        List<ZhLifeCareOrderDO> query = jdbcTemplate.query(lifeCareOrderSql, new BeanPropertyRowMapper<>(ZhLifeCareOrderDO.class));
        zhLifeCareOrderDao.save(query);
        for (ZhLifeCareOrderDO orderDO:query){
            if(!signOlderMap.containsKey(orderDO.getPatient())){
                query.remove(orderDO);
            }
        }
        if(query.size()>0){
            zhLifeCareOrderDao.save(query);
        }
    }
    //生活照料 价格
@ -105,10 +166,21 @@ public class SaveDataPushJob implements Job {
    }
    //居民信息
    public void savePatientInfo(String date){
        String patientInfoSql="SELECT id,register,idcard,`name`,birthday,sex,mobile,province_name,city_name,town_name,street_name,committee_name,address,patient_status,marriage,national,blood,archive_status,archive_type,ssc,disease,home_address,sign_status,medical_state FROM base_patient WHERE create_time>= '"+date+"'";
    public void savePatientInfo(String date,Map<String,String> signOlderMap){
        //暂时只推送已签约的老人,幼儿另外建表推送
        String patientInfoSql="SELECT a.id,a.register,a.idcard,a.`name`,a.birthday,a.sex,a.mobile,a.province_name,a.city_name,a.town_name,a.street_name,a.committee_name, " +
                " a.address,a.patient_status,a.marriage,a.national,a.blood,a.archive_status,a.archive_type,a.ssc,a.disease,a.home_address,a.sign_status,a.medical_state " +
                " FROM base_patient a " +
                " WHERE a.archive_type=1 and a.idcard is not null and a.create_time>= '"+date+"' ";
        List<ZhBasePatientDO> query = jdbcTemplate.query(patientInfoSql, new BeanPropertyRowMapper<>(ZhBasePatientDO.class));
        zhBasePatientDao.save(query);
        for (ZhBasePatientDO patientDO: query){
            if(!signOlderMap.containsKey(patientDO.getId())){
                query.remove(patientDO);
            }
        }
        if(query.size()>0){
            zhBasePatientDao.save(query);
        }
    }
    //服务项
@ -119,9 +191,14 @@ public class SaveDataPushJob implements Job {
    }
    // 居民设备表
    public void savePatientDevice(String date){
    public void savePatientDevice(String date,Map<String,String> signOlderMap){
        String patientDeviceSql = "SELECT id,device_id,`user`,category_code,device_name,user_idcard,doctor_name,hospital_name,device_type from wlyy_patient_device WHERE czrq >= '"+date+"'";
        List<ZhDevicePatientDevice> query = jdbcTemplate.query(patientDeviceSql, new BeanPropertyRowMapper<>(ZhDevicePatientDevice.class));
        for (ZhDevicePatientDevice patientDO: query){
            if(!signOlderMap.containsKey(patientDO.getUser())){
                query.remove(patientDO);
            }
        }
        zhDevicePatientDeviceDao.save(query);
    }

+ 27 - 8
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/PatientSosContactsJob.java

@ -42,7 +42,11 @@ public class PatientSosContactsJob implements Job {
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("PATIENT_SOS_CONTACTS_JOB start");
        String sql = " select pd.device_sn,pd.category_code,wd.iccid as sim,sc.* from  wlyy_patient_device pd inner join wlyy_devices wd " +
        String sql = " UPDATE base_patient_sos_contacts set success_flag=0,update_info = null,error_info=null where \n" +
                " `success_flag` <> '1' AND `del` = '1' ";
        jdbcTemplate.execute(sql);
        sql = " select pd.device_sn,pd.category_code,wd.iccid as sim,sc.* from  wlyy_patient_device pd inner join wlyy_devices wd " +
                " on pd.device_sn = wd.device_code and pd.del=0 " +
                "INNER JOIN base_patient_sos_contacts sc on sc.patient = pd.user and sc.del=1 " +
                "where  sc.success_flag=0 and pd.category_code in('7','4','16')  group by wd.device_code ";
@ -108,14 +112,29 @@ public class PatientSosContactsJob implements Job {
                                phone2 = nums.get(i);
                            }
                        }
                        yunXunDeviceService.setSos(device_sn,phone1,phone2,phone3);
                        if (!sosContactsDO.getUpdateInfo().contains(device_sn)){
                            sosContactsDO.setUpdateInfo(sosContactsDO.getUpdateInfo()+",{deviceSn:"+device_sn+":unknow}");
                        }
                        if (1==sosContactsDO.getSuccessFlag()||0==sosContactsDO.getSuccessFlag()){
                            sosContactsDO.setSuccessFlag(1);
                        }else {
                        String yxResponse =  yunXunDeviceService.setSos(device_sn,phone1,phone2,phone3);
                        if (StringUtils.isBlank(yxResponse)){//请求失败或超时
                            if (!sosContactsDO.getUpdateInfo().contains(device_sn)){
                                sosContactsDO.setUpdateInfo(sosContactsDO.getUpdateInfo()+",{deviceSn:"+device_sn+":error}");
                            }
                            sosContactsDO.setSuccessFlag(-1);
                        }else {
                            JSONObject yxResponseObj = JSONObject.parseObject(yxResponse);
                            if (200==yxResponseObj.getInteger("status")){//返回成功
                                if (!sosContactsDO.getUpdateInfo().contains(device_sn)){
                                    sosContactsDO.setUpdateInfo(sosContactsDO.getUpdateInfo()+",{deviceSn:"+device_sn+":success}");
                                }
                                if (1==sosContactsDO.getSuccessFlag()||0==sosContactsDO.getSuccessFlag()){
                                    sosContactsDO.setSuccessFlag(1);
                                }else {
                                    sosContactsDO.setSuccessFlag(-1);
                                }
                            } else { //返回失败
                                if (!sosContactsDO.getUpdateInfo().contains(device_sn)){
                                    sosContactsDO.setUpdateInfo(sosContactsDO.getUpdateInfo()+",{deviceSn:"+device_sn+":"+yxResponseObj.getString("message")+"}");
                                }
                                sosContactsDO.setSuccessFlag(-1);
                            }
                        }
                    }
                    sosContactsDao.save(sosContactsDO);

+ 16 - 6
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/YunXunDeviceService.java

@ -2,11 +2,16 @@ package com.yihu.jw.care.job.device;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.utils.StringUtil;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 * 云芯拐杖设备对接
@ -29,9 +34,9 @@ public class YunXunDeviceService {
     * @param phone2
     * @param phone3
     */
    public void setSos(String sn,String phone1,String phone2,String phone3){
    public String setSos(String sn,String phone1,String phone2,String phone3){
        if(StringUtil.isBlank(phone1)){
            return;
            return "";
        }
        //[IC*334588000000156*0027*SOS,00000000000,00000000000]
        String order = "SOS,"+phone1;
@ -42,21 +47,26 @@ public class YunXunDeviceService {
            order += ","+phone3;
        }
        String instruction = "[IC*"+sn+"*"+hex10To16(order.length())+"*"+order+"]";
        sendInstruction(sn,instruction);
        return sendInstruction(sn,instruction);
    }
    /**
     * 发送指令接口
     * @param instruction
     */
    public void sendInstruction(String sn,String instruction){
    public String sendInstruction(String sn,String instruction){
        try {
            String url = "http://www.www.cityihealth.com:43210/yunxin/sendMessage?deviceSN="+sn+"&message="+instruction;
            String response = httpClientUtil.get(url,"UTF-8");
            String url = "http://www.cityihealth.com:43210/yunxin/sendMessage?deviceSN="+sn+"&message="+instruction;
            List<NameValuePair> params = new ArrayList<>();
            params.add(new BasicNameValuePair("deviceSN",sn));
            params.add(new BasicNameValuePair("message",instruction));
            String response = httpClientUtil.postWithTimeOUt(url,params,"UTF-8",10000);
            logger.info("sendInstruction="+response);
            return response;
        }catch (Exception e){
            e.printStackTrace();
        }
        return "";
    }
    /**

+ 6 - 2
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/sim/UpdateSimsJob.java

@ -96,14 +96,18 @@ public class UpdateSimsJob implements Job {
                                    if ("Y".equals(lastFlag)){
                                        forFlag = -1;
                                    }
                                }else {
                                    forFlag=-1;
                                }
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                    wlyySimDao.deleteAll();
                    wlyySimDao.save(simDos);
                    if (simDos.size()>0){
                        wlyySimDao.deleteAll();
                        wlyySimDao.save(simDos);
                    }
                }
            }
            logger.info(" UPDATE_SIMS_JOB end");

+ 26 - 23
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/WlyysimFlowVoiceService.java

@ -41,24 +41,16 @@ public class WlyysimFlowVoiceService{
    @Autowired
    private HttpClientUtil httpClientUtil;
    public String initData() throws InterruptedException {
        Date date = new Date();
        Date month = new Date();
        for (int i=1;i<=7;i++){
            date = DateUtil.getPreDays(date,-1);
            String dateTime = DateUtil.dateToStr(date,DateUtil.YYYYMMDD);
            System.out.println("day"+dateTime);
            initDay(dateTime);
            TimeUnit.SECONDS.sleep(10);
            Calendar cal = Calendar.getInstance();
            cal.setTime(month);
            cal.set(Calendar.DAY_OF_MONTH,1);
            cal.add(Calendar.MONTH,-1*(i-1));
            dateTime = DateUtil.dateToStr(cal.getTime(),DateUtil.YYYYMM);
            System.out.println("mon"+dateTime);
            initMonth(dateTime);
            TimeUnit.SECONDS.sleep(10);
        }
    public String initData(String time) throws InterruptedException {
        Date date = DateUtil.strToDate(time);
        String dateTime =DateUtil.dateToStr(date,DateUtil.YYYYMMDD);
        System.out.println("day"+dateTime);
        initDay(dateTime);
        TimeUnit.SECONDS.sleep(10);
        dateTime = DateUtil.dateToStr(date,DateUtil.YYYYMM);
        System.out.println("mon"+dateTime);
        initMonth(dateTime);
        System.out.println("success");
        return "success";
    }
@ -123,8 +115,14 @@ public class WlyysimFlowVoiceService{
                        }
                    }
                    wlyySimVoiceDao.save(wlyySimVoicesDos);
                    wlyySimFlowDao.save(wlyySimFlowDos);
                    if (wlyySimVoicesDos.size()>0){
                        wlyySimVoiceDao.deleteByDayAndType(dateTime,2);
                        wlyySimVoiceDao.save(wlyySimVoicesDos);
                    }
                    if (wlyySimFlowDos.size()>0){
                        wlyySimFlowDao.deleteByDayAndType(dateTime,2);
                        wlyySimFlowDao.save(wlyySimFlowDos);
                    }
                }catch (Exception e){
                    e.printStackTrace();
@ -195,9 +193,14 @@ public class WlyysimFlowVoiceService{
                            wlyySimFlowDos.add(wlyySimFlowDo);
                        }
                    }
                    wlyySimVoiceDao.save(wlyySimVoicesDos);
                    wlyySimFlowDao.save(wlyySimFlowDos);
                    if (wlyySimVoicesDos.size()>0){
                        wlyySimVoiceDao.deleteByDayAndType(dateTime,1);
                        wlyySimVoiceDao.save(wlyySimVoicesDos);
                    }
                   if (wlyySimFlowDos.size()>0){
                       wlyySimFlowDao.deleteByDayAndType(dateTime,1);
                       wlyySimFlowDao.save(wlyySimFlowDos);
                   }
                }catch (Exception e){
                    e.printStackTrace();
                }

+ 1 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/device/NetworkCardService.java

@ -45,7 +45,7 @@ public class NetworkCardService {
        if (responseBody.getInteger("status")==0){
            JSONObject tmp = responseBody.getJSONArray("result").getJSONObject(0);
            assToken = tmp.getString("token");
            Long expireTime =Long.parseLong(tmp.getString("ttl"));//token有效期
            Long expireTime =Long.parseLong(tmp.getString("ttl"))-600;//token有效期
            redisTemplate.opsForValue().set(NetworkCardConfig.redisKey,assToken,expireTime, TimeUnit.SECONDS);
        }else {
            throw new Exception(response);

+ 27 - 3
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/web/JobController.java

@ -4,6 +4,7 @@ import com.yihu.jw.care.job.BirthdayReminderJob;
import com.yihu.jw.care.job.QuartzHelper;
import com.yihu.jw.care.job.consult.FinishConsultJob;
import com.yihu.jw.care.job.device.DeviceLostAssociationJob;
import com.yihu.jw.care.job.device.YunXunDeviceService;
import com.yihu.jw.care.job.message.DoctorSendUnreadJob;
import com.yihu.jw.care.job.message.PatientSendUnreadJob;
import com.yihu.jw.care.service.BirthdayReminderService;
@ -14,11 +15,13 @@ import com.yihu.jw.care.util.SystemConf;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
@ -43,6 +46,8 @@ public class JobController extends BaseController {
    private BirthdayReminderService birthdayReminderService;
    @Autowired
    private WlyysimFlowVoiceService wlyysimFlowVoiceService;
    @Autowired
    private YunXunDeviceService yunXunDeviceService;
    @RequestMapping(value = "/deviceLostAssociationJob", method = RequestMethod.POST)
    @ApiOperation("医养物联网检测大屏失联率")
@ -320,15 +325,34 @@ public class JobController extends BaseController {
    @RequestMapping(value = "/wlyySimFlowVoice", method = RequestMethod.POST)
    @ApiOperation("物联网卡流量语音初始化查询")
    public String wlyySimFlowVoice() {
    public String wlyySimFlowVoice(@ApiParam(name = "time",required = false)
                                  @RequestParam(value = "time")String time) {
        try {
            return write(200, wlyysimFlowVoiceService.initData());
            return write(200, wlyysimFlowVoiceService.initData(time));
        } catch (Exception e) {
            error(e);
            return error(-1, e.getMessage());
        }
    }
    @RequestMapping(value = "/yxDeviceSetPhone", method = RequestMethod.POST)
    @ApiOperation("拐杖手动设置联系人")
    public String yxDeviceSetPhone(
            @ApiParam(name = "device_sn",required = false)
            @RequestParam(value = "device_sn")String device_sn,
            @ApiParam(name = "phone1",required = false)
            @RequestParam(value = "phone1")String phone1,
            @ApiParam(name = "phone2",required = false)
            @RequestParam(value = "phone2",required = false)String phone2,
            @ApiParam(name = "phone3",required = false)
            @RequestParam(value = "phone3",required = false)String phone3) {
        try {
           String response = yunXunDeviceService.setSos(device_sn,phone1,phone2,phone3);
            return write(200,response);
        } catch (Exception e) {
            error(e);
            return error(-1, e.getMessage());
        }
    }
}

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhBaseDoorCoachFeeDetailDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.yihu.jw.entity.AssignedIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
@ -17,7 +18,7 @@ import java.math.BigDecimal;
*/
@Entity
@Table(name = "base_door_coach_fee_detail")
public class ZhBaseDoorCoachFeeDetailDO extends UuidIdentityEntityWithOperator {
public class ZhBaseDoorCoachFeeDetailDO extends AssignedIdentityEntityWithOperator {
    /**
     * 支付方式

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhBaseDoorCoachOrderDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.AssignedIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import com.yihu.jw.entity.care.doorCoach.BaseDoorCoachConclusionDO;
import com.yihu.jw.entity.door.WlyyDoorDoctorDO;
@ -25,7 +26,7 @@ import java.util.Map;
 */
@Entity
@Table(name = "base_door_coach_order")
public class ZhBaseDoorCoachOrderDO extends UuidIdentityEntityWithOperator {
public class ZhBaseDoorCoachOrderDO extends AssignedIdentityEntityWithOperator {

+ 2 - 2
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhBasePatientDO.java

@ -1,7 +1,7 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import com.yihu.jw.entity.AssignedIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -17,7 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_patient")
public class ZhBasePatientDO extends UuidIdentityEntityWithOperator {
public class ZhBasePatientDO extends AssignedIdentityEntityWithOperator {
    /**
     * saas配置id

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhEmergencyAssistanceDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.AssignedIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnConclusionDO;
@ -15,7 +16,7 @@ import java.util.Date;
 */
@Entity
@Table(name="base_emergency_assistance_order")
public class ZhEmergencyAssistanceDO extends UuidIdentityEntityWithOperator {
public class ZhEmergencyAssistanceDO extends AssignedIdentityEntityWithOperator {
    /**
     * 工单状态:

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhLifeCareFeeDetailDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.yihu.jw.entity.AssignedIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
@ -17,7 +18,7 @@ import java.math.BigDecimal;
*/
@Entity
@Table(name = "base_life_care_fee_detail")
public class ZhLifeCareFeeDetailDO extends UuidIdentityEntityWithOperator {
public class ZhLifeCareFeeDetailDO extends AssignedIdentityEntityWithOperator {
    /**
     * 支付方式

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhLifeCareOrderDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.AssignedIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import com.yihu.jw.entity.care.lifeCare.LifeCareFeeDetailDO;
@ -17,7 +18,7 @@ import java.util.List;
 */
@Entity
@Table(name = "base_life_care_order")
public class ZhLifeCareOrderDO extends UuidIdentityEntityWithOperator {
public class ZhLifeCareOrderDO extends AssignedIdentityEntityWithOperator {
    /**
     * 工单状态
     */

+ 1 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhSecurityMonitoringOrderDO.java

@ -16,7 +16,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_security_monitoring_order")
public class ZhSecurityMonitoringOrderDO extends UuidIdentityEntityWithOperator {
public class ZhSecurityMonitoringOrderDO extends AssignedIdentityEntityWithOperator {
    /**
     * 工单状态:
     */

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/zhylyjkglxt/entity/ZhServicePackageItemDO.java

@ -1,5 +1,6 @@
package com.yihu.jw.care.zhylyjkglxt.entity;
import com.yihu.jw.entity.AssignedIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
@ -13,7 +14,7 @@ import java.math.BigDecimal;
 */
@Entity
@Table(name = "base_service_package_item")
public class ZhServicePackageItemDO extends UuidIdentityEntity implements java.io.Serializable {
public class ZhServicePackageItemDO extends AssignedIdentityEntity implements java.io.Serializable {
    private String servicePackageId;//服务包ID
    private String code;//服务包code

+ 1 - 1
svr/svr-iot/src/main/java/com/yihu/iot/service/analyzer/IotAnalyzerService.java

@ -69,7 +69,7 @@ public class IotAnalyzerService extends BaseJpaService<WlyyIotD, WlyyIotDDao> {
//    骨密度	    BMD	            bmd	        g/cm^3
//    骨密度T值	BMD	            bmd_t	    g/cm^3
//    骨密度Z值	BMD	            bmd_z	    g/cm^3
//    中医体质	tcm	            tcm
    public void initIHealthIntoEs(){
        try {