LAPTOP-KB9HII50\70708 1 éve
szülő
commit
8a9e321d1d

+ 31 - 0
common/common-entity/sql/2023.sql

@ -166,6 +166,13 @@ WHERE s.id =r.sign_id;
UPDATE base_service_package_item set leased_code = 'system' WHERE leased_code is null and service_package_id = 'system';
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('109827', NULL, 'plan_start_type', '0', '签约后生效', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划开始时间类型');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('109828', NULL, 'plan_start_type', '1', '签约后1天', NULL, '2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划开始时间类型');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('109829', NULL, 'plan_start_type', '2', '签约后2天', NULL, '3', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划开始时间类型');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_start_type3', NULL, 'plan_start_type', '3', '签约后3天', NULL, '4', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_start_type4', NULL, 'plan_start_type', '7', '签约后1周', NULL, '5', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_start_type5', NULL, 'plan_start_type', '30', '签约后30天', NULL, '6', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('sign_status1', NULL, 'sign_status', '0', '待审核', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('sign_status0', NULL, 'sign_status', '1', '已签约', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('sign_status2', NULL, 'sign_status', '2', '待支付', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
@ -179,6 +186,30 @@ INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('sign_refuse_type4', NULL, 'sign_refuse_type', '3', '签约用户已满', NULL, '3', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约拒绝原因');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('wxPayNotify', NULL, 'notifyUrl', 'wxpay', 'https://zhyzh.gongshu.gov.cn/cloudCare/pay/open/wxPayNotify', '微信支付回调', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '回调地址');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('cloudPayNotify', NULL, 'notifyUrl', 'cloudWxPay', 'https://zhyzh.gongshu.gov.cn/cloudCare/pay/open/cloudPayNotify', '云照护支付回调', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '回调地址');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('sms_captcha_white1', NULL, 'sms_captcha_white', '13559485270', 'ysj', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '短信验证码白名单');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_frequency1', NULL, 'plan_frequency', '0 0 10 ? * *', '每天10点执行', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划执行频次');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_frequency2', NULL, 'plan_frequency', '0 0 10,14 ? * *', '每天10点,14点执行', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划执行频次');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_frequency3', NULL, 'plan_frequency', '0 0 0/2 ? * *', '每两小时执行一次', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划执行频次');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_frequency4', NULL, 'plan_frequency', '0 0 10 1/3 * ?', '每3天10点执行', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划执行频次');
INSERT INTO `base`.`wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`, `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES ('plan_frequency5', NULL, 'plan_frequency', '0 0 10 1 * ?', '每月1号10点执行', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '计划执行频次');
CREATE TABLE `base_service_item_plan` (
    `id` varchar(50) NOT NULL,
    `patient` varchar(50) DEFAULT NULL COMMENT '居民id',
    `status` varchar(4) DEFAULT NULL COMMENT '状态0未完成 1已完成',
    `plan_time` varchar(50) DEFAULT NULL COMMENT '计划时间',
    `complete_time` varchar(50) DEFAULT NULL COMMENT '完成时间',
    `sign_id` varchar(50) DEFAULT NULL COMMENT '签约id',
    `service_pack_id` varchar(50) DEFAULT NULL COMMENT '服务包id',
    `service_item_id` varchar(50) DEFAULT NULL COMMENT '服务项id',
    `item_config_id` varchar(50) DEFAULT NULL COMMENT '服务项配置id',
    `name` varchar(50) DEFAULT NULL COMMENT '服务项名称',
    `relation_code` varchar(50) DEFAULT NULL COMMENT '关联业务id',
    `relation_type` varchar(4) DEFAULT NULL COMMENT '关联业务类型 doorService上门服务',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务项执行计划';
===========================20231024上门服务开始====================================

+ 121 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/servicePackage/ServiceItemPlanDO.java

@ -0,0 +1,121 @@
package com.yihu.jw.entity.base.servicePackage;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 服务项执行计划
 * Created by yeshijie on 2023/10/28.
 */
@Entity
@Table(name = "base_service_item_plan")
public class ServiceItemPlanDO extends UuidIdentityEntityWithCreateTime {
    private String patient;//居民id
    private String status;//状态0未完成 1已完成
    private String planTime;//计划时间
    private String completeTime;//完成时间
    private String signId;//签约id
    private String servicePackId;//服务包id
    private String serviceItemId;//服务项id
    private String itemConfigId;//服务项配置id
    private String name;//服务项名称
    private String relationCode;//关联业务id
    private String relationType;//关联业务类型 doorService上门服务
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Column(name = "sign_id")
    public String getSignId() {
        return signId;
    }
    public void setSignId(String signId) {
        this.signId = signId;
    }
    @Column(name = "service_pack_id")
    public String getServicePackId() {
        return servicePackId;
    }
    public void setServicePackId(String servicePackId) {
        this.servicePackId = servicePackId;
    }
    @Column(name = "service_item_id")
    public String getServiceItemId() {
        return serviceItemId;
    }
    public void setServiceItemId(String serviceItemId) {
        this.serviceItemId = serviceItemId;
    }
    @Column(name = "item_config_id")
    public String getItemConfigId() {
        return itemConfigId;
    }
    public void setItemConfigId(String itemConfigId) {
        this.itemConfigId = itemConfigId;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "relation_code")
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    @Column(name = "relation_type")
    public String getRelationType() {
        return relationType;
    }
    public void setRelationType(String relationType) {
        this.relationType = relationType;
    }
    public String getPlanTime() {
        return planTime;
    }
    @Column(name = "plan_time")
    public void setPlanTime(String planTime) {
        this.planTime = planTime;
    }
    public String getCompleteTime() {
        return completeTime;
    }
    @Column(name = "complete_time")
    public void setCompleteTime(String completeTime) {
        this.completeTime = completeTime;
    }
}

+ 4 - 4
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/qvo/ParamQvo.java

@ -22,10 +22,10 @@ public class ParamQvo {
    private String dictItemId;//字典服务项id
    private String configureIf;//是否是配置
    private String pageIf;//是否分页
    private int page = 1;//是否分页
    private int pageSize = 20;//数量
    private String configureIf;//是否是配置 1是0否
    private String pageIf;//是否分页 1是0否
    private int page = 1;//第几页
    private int pageSize = 20;//分页大小
    private String loginUserCode;//登录人的code

+ 6 - 0
common/common-util/pom.xml

@ -102,5 +102,11 @@
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
        </dependency>
        <!-- cron解析 依赖这个包 -->
        <dependency>
            <groupId>com.cronutils</groupId>
            <artifactId>cron-utils</artifactId>
            <version>9.1.6</version>
        </dependency>
    </dependencies>
</project>

+ 57 - 0
common/common-util/src/main/java/com/yihu/jw/util/cron/CronUtils.java

@ -0,0 +1,57 @@
package com.yihu.jw.util.cron;
import com.cronutils.model.Cron;
import com.cronutils.model.CronType;
import com.cronutils.model.definition.CronDefinitionBuilder;
import com.cronutils.model.time.ExecutionTime;
import com.cronutils.parser.CronParser;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
 * cron表达式工具类
 * Created by yeshijie on 2023/10/28.
 */
public class CronUtils {
    /**
     * 根据cron表达式解析最近几次的执行时间
     * @param cronStr
     * @param num
     * @return
     */
    public static List<String> getExecutionTimeByNum(String cronStr, Integer num, LocalDateTime localDateTime) {
        CronParser parser = new CronParser(CronDefinitionBuilder.instanceDefinitionFor(CronType.SPRING));
        Cron cron = parser.parse(cronStr);
        ExecutionTime time = ExecutionTime.forCron(cron);
        ZonedDateTime now;
        if(localDateTime == null){
            now = ZonedDateTime.now();
        }else {
            now = ZonedDateTime.of(localDateTime, ZoneId.systemDefault());
        }
        ZonedDateTime next = getNext(time, now);
        List<ZonedDateTime> timeList = new ArrayList<>(num);
        timeList.add(next);
        for (int i = 1; i < num; i++) {
            next = getNext(time, next);
            timeList.add(next);
        }
        DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        List<String> resultList = new ArrayList<>(num);
        for (ZonedDateTime item : timeList) {
            String result = item.format(format);
            resultList.add(result);
        }
        return resultList;
    }
    private static ZonedDateTime getNext(ExecutionTime time, ZonedDateTime current) {
        return time.nextExecution(current).get();
    }
}