Jelajahi Sumber

代码修改

LAPTOP-KB9HII50\70708 2 tahun lalu
induk
melakukan
35faef75dd

+ 3 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/message/dao/SystemMessageDao.java

@ -7,7 +7,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.Date;
import java.util.List;
@ -34,6 +33,9 @@ public interface SystemMessageDao extends JpaRepository<SystemMessageDO, String>
    @Query("delete from SystemMessageDO a   where a.receiver = ?1 and a.relationCode = ?2 and a.type ='407'")
    int orderMessageDel(String doctor, String orderId);
    @Query(value = "select a.* from base_system_message a where a.receiver = ?1 and a.type = ?2 and a.create_time >=?3",nativeQuery = true)
    List<SystemMessageDO> findByReceiverAndCreateTime(String receiver,String type,String time);
    List<SystemMessageDO> queryByRelationCodeAndTypeIn(String relationCode,String[] type);
    //获取资质申请审核有效的未结束已发送的消息

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/BaseDrugsPlanDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.hospital.prescription.dao;
import com.yihu.jw.entity.hospital.prescription.BaseDrugsPlanDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
 * Created by yeshijie on 2022/11/24.
 */
public interface BaseDrugsPlanDao extends JpaRepository<BaseDrugsPlanDO, String>, JpaSpecificationExecutor<BaseDrugsPlanDO> {
}

+ 17 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/BaseDrugsPlanDetailDao.java

@ -0,0 +1,17 @@
package com.yihu.jw.hospital.prescription.dao;
import com.yihu.jw.entity.hospital.prescription.BaseDrugsPlanDetailDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
/**
 * Created by yeshijie on 2022/11/24.
 */
public interface BaseDrugsPlanDetailDao  extends JpaRepository<BaseDrugsPlanDetailDO, String>, JpaSpecificationExecutor<BaseDrugsPlanDetailDO> {
    @Query("from BaseDrugsPlanDetailDO a where a.planId = ?1 and a.del=1")
    List<BaseDrugsPlanDetailDO> findByPlanId(String planId);
}

+ 0 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/PrescriptionInfoDao.java

@ -5,7 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
import java.util.Set;

+ 171 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/DrugsPlanService.java

@ -0,0 +1,171 @@
package com.yihu.jw.hospital.prescription.service;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.hospital.prescription.dao.*;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * Created by yeshijie on 2022/11/24.
 */
@Service
public class DrugsPlanService {
    @Autowired
    private BaseDrugsPlanDao drugsPlanDao;
    @Autowired
    private BaseDrugsPlanDetailDao drugsPlanDetailDao;
    @Autowired
    private PrescriptionDao prescriptionDao;
    @Autowired
    private PrescriptionInfoDao prescriptionInfoDao;
    @Autowired
    private PrescriptionDiagnosisDao prescriptionDiagnosisDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private SystemMessageDao systemMessageDao;
    /**
     * 获取居民今日的服药计划
     * @param patient
     * @return
     */
    public List<SystemMessageDO> findDrugsPlanMessage(String patient){
        return systemMessageDao.findByReceiverAndCreateTime(patient,"51",DateUtil.getStringDateShort()+" 00:00:00");
    }
    /**
     * 手动生成用药计划
     * @param prescriptionId
     */
    @Transactional(rollbackFor = Exception.class)
    public void createDrugsPlan(String prescriptionId){
        WlyyPrescriptionDO outpatient = prescriptionDao.findById(prescriptionId).orElse(null);
        if(outpatient!=null){
            BaseDrugsPlanDO planDO = new BaseDrugsPlanDO();
            planDO.setDoctor(outpatient.getDoctor());
            planDO.setDoctorName(outpatient.getDoctorName());
            planDO.setPatient(outpatient.getPatientCode());
            planDO.setPatientName(outpatient.getPatientName());
            planDO.setRelationId(outpatient.getId());
            planDO.setTitle("");
            planDO.setCreateTime(new Date());
            planDO.setType("1");
            drugsPlanDao.save(planDO);
            String planId = planDO.getId();
            List<WlyyPrescriptionInfoDO> infoDOList = prescriptionInfoDao.findByPrescriptionId(prescriptionId,1);
            if(infoDOList.size()>0){
                List<BaseDrugsPlanDetailDO> detailDOS = new ArrayList<>();
                for (WlyyPrescriptionInfoDO info:infoDOList){
                    BaseDrugsPlanDetailDO planDetailDO = new BaseDrugsPlanDetailDO();
                    BeanUtils.copyProperties(info,planDetailDO);
                    planDetailDO.setId(null);
                    planDetailDO.setPlanId(planId);
                    planDetailDO.setCreateTime(new Date());
                    detailDOS.add(planDetailDO);
                }
                drugsPlanDetailDao.saveAll(detailDOS);
            }
            SystemMessageDO messageDO = new SystemMessageDO();
            messageDO.setCreateTime(new Date());
            messageDO.setDel("1");
            messageDO.setType("51");
            messageDO.setOver("1");
            messageDO.setTitle("用药计划");
            messageDO.setIsRead("0");
            messageDO.setContent("您今日有1条待服药计划,请按时服药");
            messageDO.setReceiver(outpatient.getPatientCode());
            messageDO.setReceiverName(outpatient.getPatientName());
            messageDO.setSender(outpatient.getDoctor());
            messageDO.setSenderName(outpatient.getDoctorName());
            messageDO.setRelationCode(planId);
            systemMessageDao.save(messageDO);
        }
    }
    /**
     * 获取居民的今日用药计划
     * @return
     */
    public List<BaseDrugsPlanDO> findDrugsPlan(String patient){
        String sql = "select * from base_drugs_plan where patient ='"+patient+"' and type=1 and create_time>='"+ DateUtil.getStringDateShort() +" 00:00:00'";
        List<BaseDrugsPlanDO> planDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDrugsPlanDO.class));
        for (BaseDrugsPlanDO planDO:planDOList){
            planDO.setDetailList(drugsPlanDetailDao.findByPlanId(planDO.getId()));
        }
        return planDOList;
    }
    /**
     * 查询居民处方列表
     * @return
     */
    public PageEnvelop prescriptionList(String patient, Integer page, Integer pagesize) {
        String sql = "SELECT\n" +
                "\tp.doctor as \"doctor\",\n" +
                "\tp.id as \"id\",\n" +
                "\tp.doctor_name as \"doctorName\",\n" +
                "\tp.dept as \"dept\",\n" +
                "\tp.dept_name as \"deptName\",\n" +
                "\tp.patient_code as \"patientCode\",\n" +
                "\tp.patient_name as \"patientName\",\n";
        sql = sql + "date_format(p.create_time,'%Y-%m-%d %H:%i:%S' )  AS \"createTime\" ";
        sql += "\tFROM\n" +
                "\twlyy_prescription P\n" +
                "WHERE\n" +
                "\t1 = 1 and  p.check_status not in (3,4) ";
        Map<String, Object> params = new HashedMap();
        if (StringUtils.isNoneBlank(patient)) {
            sql += " and p.patient_code =:patient";
            params.put("patient", patient);
        }
        sql += " order by p.create_time desc";
        List<Map<String, Object>> mapList = hibenateUtils.createSQLQuery(sql, params, page, pagesize);
        String sqlTotal = "select COUNT(1) AS \"total\" from wlyy_prescription p where 1=1 and  p.check_status not in (3,4)  ";
        Map<String, Object> params1 = new HashedMap();
        if (StringUtils.isNoneBlank(patient)) {
            sqlTotal += " and p.patient_code =:patient";
            params1.put("patient", patient);
        }
        Long count = 0L;
        List<Map<String, Object>> total = hibenateUtils.createSQLQuery(sqlTotal, params1);
        if (total != null) {
            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
            count = hibenateUtils.objTransformLong(total.get(0).get("total"));
        }
        for (Map<String,Object> map:mapList){
            String prescriptionId = map.get("id")+"";
            List<WlyyPrescriptionDiagnosisDO> diagnosisDOList = prescriptionDiagnosisDao.findByPrescriptionId(prescriptionId,1);
            List<WlyyPrescriptionInfoDO> infoDOList = prescriptionInfoDao.findByPrescriptionId(prescriptionId,1);
            map.put("diagnosisDOList",diagnosisDOList);
            map.put("infoDOList",infoDOList);
        }
        return PageEnvelop.getSuccessListWithPage("获取成功",mapList,page,pagesize,count);
    }
}

+ 930 - 0
common/common-entity/mysql关键字大全.sql

@ -0,0 +1,930 @@
关键字
A
ACCESSIBLE
ACCOUNT
ACTION
ACTIVE
ADD
ADMIN
AFTER
AGAINST
AGGREGATE
ALGORITHM
ALL
ALTER
ALWAYS
ANALYSE
ANALYZE
AND
ANY
ARRAY
AS
ASC
ASCII
ASENSITIVE
AT
ATTRIBUTE
AUTHENTICATION
AUTOEXTEND_SIZE
AUTO_INCREMENT
AVG
AVG_ROW_LENGTH
B
BACKUP
BEFORE
BEGIN
BETWEEN
BIGINT
BINARY
BINLOG
BIT
BLOB
BLOCK
BOOL
BOOLEAN
BOTH
BTREE
BUCKETS
BY
BYTE
C
CACHE
CALL
CASCADE
CASCADED
CASE
CATALOG_NAME
CHAIN
CHALLENGE_RESPONSE
CHANGE
CHANGED
CHANNEL
CHAR
CHARACTER
CHARSET
CHECK
CHECKSUM
CIPHER
CLASS_ORIGIN
CLIENT
CLONE
CLOSE
COALESCE
CODE
COLLATE
COLLATION
COLUMN
COLUMNS
COLUMN_FORMAT
COLUMN_NAME
COMMENT
COMMIT
COMMITTED
COMPACT
COMPLETION
COMPONENT
COMPRESSED
COMPRESSION
CONCURRENT
CONDITION
CONNECTION
CONSISTENT
CONSTRAINT
CONSTRAINT_CATALOG
CONSTRAINT_NAME
CONSTRAINT_SCHEMA
CONTAINS
CONTEXT
CONTINUE
CONVERT
CPU
CREATE
CROSS
CUBE
CUME_DIST
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
CURSOR_NAME
D
DATA
DATABASE
DATABASES
DATAFILE
DATE
DATETIME
DAY
DAY_HOUR
DAY_MICROSECOND
DAY_MINUTE
DAY_SECOND
DEALLOCATE
DEC
DECIMAL
DECLARE
DEFAULT
DEFAULT_AUTH
DEFINER
DEFINITION
DELAYED
DELAY_KEY_WRITE
DELETE
DENSE_RANK
DESC
DESCRIBE
DESCRIPTION
DES_KEY_FILE
DETERMINISTIC
DIAGNOSTICS
DIRECTORY
DISABLE
DISCARD
DISK
DISTINCT
DISTINCTROW
DIV
DO
DOUBLE
DROP
DUAL
DUMPFILE
DUPLICATE
DYNAMIC
E
EACH
ELSE
ELSEIF
EMPTY
ENABLE
ENCLOSED
ENCRYPTION
END
ENDS
ENFORCED
ENGINE
ENGINES
ENGINE_ATTRIBUTE
ENUM
ERROR
ERRORS
ESCAPE
ESCAPED
EVENT
EVENTS
EVERY
EXCEPT
EXCHANGE
EXCLUDE
EXECUTE
EXISTS
EXIT
EXPANSION
EXPIRE
EXPLAIN
EXPORT
EXTENDED
EXTENT_SIZE
F
FACTOR
FAILED_LOGIN_ATTEMPTS
FALSE
FAST
FAULTS
FETCH
FIELDS
FILE
FILE_BLOCK_SIZE
FILTER
FINISH
FIRST
FIRST_VALUE
FIXED
FLOAT
FLOAT4
FLOAT8
FLUSH
FOLLOWING
FOLLOWS
FOR
FORCE
FOREIGN
FORMAT
FOUND
FROM
FULL
FULLTEXT
FUNCTION
G
GENERAL
GENERATED
GEOMCOLLECTION
GEOMETRY
GEOMETRYCOLLECTION
GET
GET_FORMAT
GET_MASTER_PUBLIC_KEY
GET_SOURCE_PUBLIC_KEY
GLOBAL
GRANT
GRANTS
GROUP
GROUPING
GROUPS
GROUP_REPLICATION
H
HANDLER
HASH
HAVING
HELP
HIGH_PRIORITY
HISTOGRAM
HISTORY
HOST
HOSTS
HOUR
HOUR_MICROSECOND
HOUR_MINUTE
HOUR_SECOND
I
IDENTIFIED
IF
IGNORE
IGNORE_SERVER_IDS
IMPORT
IN
INACTIVE
INDEX
INDEXES
INFILE
INITIAL
INITIAL_SIZE
INITIATE
INNER
INOUT
INSENSITIVE
INSERT
INSERT_METHOD
INSTALL
INSTANCE
INT
INT1
INT2
INT3
INT4
INT8
INTEGER
INTERVAL
INTO
INVISIBLE
INVOKER
IO
IO_AFTER_GTIDS
IO_BEFORE_GTIDS
IO_THREAD
IPC
IS
ISOLATION
ISSUER
ITERATE
J
JOIN
JSON
JSON_TABLE
JSON_VALUE
K
KEY
KEYRING
KEYS
KEY_BLOCK_SIZE
KILL
L
LAG
LANGUAGE
LAST
LAST_VALUE
LATERAL
LEAD
LEADING
LEAVE
LEAVES
LEFT
LESS
LEVEL
LIKE
LIMIT
LINEAR
LINES
LINESTRING
LIST
LOAD
LOCAL
LOCALTIME
LOCALTIMESTAMP
LOCK
LOCKED
LOCKS
LOGFILE
LOGS
LONG
LONGBLOB
LONGTEXT
LOOP
LOW_PRIORITY
M
MASTER
MASTER_AUTO_POSITION
MASTER_BIND
MASTER_COMPRESSION_ALGORITHMS
MASTER_CONNECT_RETRY
MASTER_DELAY
MASTER_HEARTBEAT_PERIOD
MASTER_HOST
MASTER_LOG_FILE
MASTER_LOG_POS
MASTER_PASSWORD
MASTER_PORT
MASTER_PUBLIC_KEY_PATH
MASTER_RETRY_COUNT
MASTER_SERVER_ID
MASTER_SSL
MASTER_SSL_CA
MASTER_SSL_CAPATH
MASTER_SSL_CERT
MASTER_SSL_CIPHER
MASTER_SSL_CRL
MASTER_SSL_CRLPATH
MASTER_SSL_KEY
MASTER_SSL_VERIFY_SERVER_CERT
MASTER_TLS_CIPHERSUITES
MASTER_TLS_VERSION
MASTER_USER
MASTER_ZSTD_COMPRESSION_LEVEL
MATCH
MAXVALUE
MAX_CONNECTIONS_PER_HOUR
MAX_QUERIES_PER_HOUR
MAX_ROWS
MAX_SIZE
MAX_UPDATES_PER_HOUR
MAX_USER_CONNECTIONS
MEDIUM
MEDIUMBLOB
MEDIUMINT
MEDIUMTEXT
MEMBER
MEMORY
MERGE
MESSAGE_TEXT
MICROSECOND
MIDDLEINT
MIGRATE
MINUTE
MINUTE_MICROSECOND
MINUTE_SECOND
MIN_ROWS
MOD
MODE
MODIFIES
MODIFY
MONTH
MULTILINESTRING
MULTIPOINT
MULTIPOLYGON
MUTEX
MYSQL_ERRNO
N
NAME
NAMES
NATIONAL
NATURAL
NCHAR
NDB
NDBCLUSTER
NESTED
NETWORK_NAMESPACE
NEVER
NEW
NEXT
NO
NODEGROUP
NONE
NOT
NOWAIT
NO_WAIT
NO_WRITE_TO_BINLOG
NTH_VALUE
NTILE
NULL
NULLS
NUMBER
NUMERIC
NVARCHAR
O
OF
OFF
OFFSET
OJ
OLD
ON
ONE
ONLY
OPEN
OPTIMIZE
OPTIMIZER_COSTS
OPTION
OPTIONAL
OPTIONALLY
OPTIONS
OR
ORDER
ORDINALITY
ORGANIZATION
OTHERS
OUT
OUTER
OUTFILE
OVER
OWNER
P
PACK_KEYS
PAGE
PARSER
PARTIAL
PARTITION
PARTITIONING
PARTITIONS
PASSWORD
PASSWORD_LOCK_TIME
PATH
PERCENT_RANK
PERSIST
PERSIST_ONLY
PHASE
PLUGIN
PLUGINS
PLUGIN_DIR
POINT
POLYGON
PORT
PRECEDES
PRECEDING
PRECISION
PREPARE
PRESERVE
PREV
PRIMARY
PRIVILEGES
PRIVILEGE_CHECKS_USER
PROCEDURE
PROCESS
PROCESSLIST
PROFILE
PROFILES
PROXY
PURGE
Q
QUARTER
QUERY
QUICK
R
RANDOM
RANGE
RANK
READ
READS
READ_ONLY
READ_WRITE
REAL
REBUILD
RECOVER
RECURSIVE
REDOFILE
REDO_BUFFER_SIZE
REDUNDANT
REFERENCE
REFERENCES
REGEXP
REGISTRATION
RELAY
RELAYLOG
RELAY_LOG_FILE
RELAY_LOG_POS
RELAY_THREAD
RELEASE
RELOAD
REMOTE
REMOVE
RENAME
REORGANIZE
REPAIR
REPEAT
REPEATABLE
REPLACE
REPLICA
REPLICAS
REPLICATE_DO_DB
REPLICATE_DO_TABLE
REPLICATE_IGNORE_DB
REPLICATE_IGNORE_TABLE
REPLICATE_REWRITE_DB
REPLICATE_WILD_DO_TABLE
REPLICATE_WILD_IGNORE_TABLE
REPLICATION
REQUIRE
REQUIRE_ROW_FORMAT
RESET
RESIGNAL
RESOURCE
RESPECT
RESTART
RESTORE
RESTRICT
RESUME
RETAIN
RETURN
RETURNED_SQLSTATE
RETURNING
RETURNS
REUSE
REVERSE
REVOKE
RIGHT
RLIKE
ROLE
ROLLBACK
ROLLUP
ROTATE
ROUTINE
ROW
ROWS
ROW_COUNT
ROW_FORMAT
ROW_NUMBER
RTREE
S
SAVEPOINT
SCHEDULE
SCHEMA
SCHEMAS
SCHEMA_NAME
SECOND
SECONDARY
SECONDARY_ENGINE
SECONDARY_ENGINE_ATTRIBUTE
SECONDARY_LOAD
SECONDARY_UNLOAD
SECOND_MICROSECOND
SECURITY
SELECT
    SENSITIVE
        SEPARATOR
    SERIAL
    SERIALIZABLE
    SERVER
    SESSION
SET
    SHARE
    SHOW
    SHUTDOWN
    SIGNAL
    SIGNED
    SIMPLE
    SKIP
    SLAVE
    SLOW
    SMALLINT
    SNAPSHOT
    SOCKET
    SOME
    SONAME
    SOUNDS
    SOURCE
    SOURCE_AUTO_POSITION
    SOURCE_BIND
    SOURCE_COMPRESSION_ALGORITHMS
    SOURCE_CONNECT_RETRY
    SOURCE_DELAY
    SOURCE_HEARTBEAT_PERIOD
    SOURCE_HOST
    SOURCE_LOG_FILE
    SOURCE_LOG_POS
    SOURCE_PASSWORD
    SOURCE_PORT
    SOURCE_PUBLIC_KEY_PATH
    SOURCE_RETRY_COUNT
    SOURCE_SSL
    SOURCE_SSL_CA
    SOURCE_SSL_CAPATH
    SOURCE_SSL_CERT
    SOURCE_SSL_CIPHER
    SOURCE_SSL_CRL
    SOURCE_SSL_CRLPATH
    SOURCE_SSL_KEY
    SOURCE_SSL_VERIFY_SERVER_CERT
    SOURCE_TLS_CIPHERSUITES
    SOURCE_TLS_VERSION
    SOURCE_USER
    SOURCE_ZSTD_COMPRESSION_LEVEL
    SPATIAL
    SPECIFIC
    SQL
    SQLEXCEPTION
    SQLSTATE
    SQLWARNING
    SQL_AFTER_GTIDS
    SQL_AFTER_MTS_GAPS
    SQL_BEFORE_GTIDS
    SQL_BIG_RESULT
    SQL_BUFFER_RESULT
    SQL_CACHE
    SQL_CALC_FOUND_ROWS
    SQL_NO_CACHE
    SQL_SMALL_RESULT
    SQL_THREAD
    SQL_TSI_DAY
    SQL_TSI_HOUR
    SQL_TSI_MINUTE
    SQL_TSI_MONTH
    SQL_TSI_QUARTER
    SQL_TSI_SECOND
    SQL_TSI_WEEK
    SQL_TSI_YEAR
    SRID
    SSL
    STACKED
START
    STARTING
    STARTS
    STATS_AUTO_RECALC
    STATS_PERSISTENT
    STATS_SAMPLE_PAGES
    STATUS
    STOP
    STORAGE
    STORED
    STRAIGHT_JOIN
    STREAM
    STRING
    SUBCLASS_ORIGIN
    SUBJECT
    SUBPARTITION
    SUBPARTITIONS
    SUPER
    SUSPEND
    SWAPS
    SWITCHES
    SYSTEM
    T
    TABLE
    TABLES
    TABLESPACE
    TABLE_CHECKSUM
    TABLE_NAME
    TEMPORARY
    TEMPTABLE
    TERMINATED
    TEXT
    THAN
    THEN
    THREAD_PRIORITY
    TIES
    TIME
    TIMESTAMP
    TIMESTAMPADD
    TIMESTAMPDIFF
    TINYBLOB
    TINYINT
    TINYTEXT
    TLS
    TO
    TRAILING
    TRANSACTION
    TRIGGER
    TRIGGERS
    TRUE
    TRUNCATE
    TYPE
    TYPES
    U
    UNBOUNDED
    UNCOMMITTED
    UNDEFINED
    UNDO
    UNDOFILE
    UNDO_BUFFER_SIZE
    UNICODE
    UNINSTALL
UNION
UNIQUE
UNKNOWN
UNLOCK
UNREGISTER
UNSIGNED
UNTIL
UPDATE
    UPGRADE
    USAGE
    USE
    USER
    USER_RESOURCES
    USE_FRM
    USING
    UTC_DATE
    UTC_TIME
    UTC_TIMESTAMP
    V
    VALIDATION
    VALUE
VALUES
    VARBINARY
    VARCHAR
    VARCHARACTER
    VARIABLES
    VARYING
    VCPU
    VIEW
    VIRTUAL
    VISIBLE
    W
    WAIT
    WARNINGS
    WEEK
    WEIGHT_STRING
    WHEN
WHERE
    WHILE
    WINDOW
WITH
    WITHOUT
    WORK
    WRAPPER
    WRITE
    X
    X509
    XA
    XID
    XML
    XOR
    Y
    YEAR
    YEAR_MONTH
    Z
    ZEROFILL
    ZONE
    A
    ACTIVE
    ADMIN
    ARRAY
    ATTRIBUTE
    AUTHENTICATION
    B
    BUCKETS
    C
    CHALLENGE_RESPONSE
    CLONE
    COMPONENT
    CUME_DIST
    D
    DEFINITION
    DENSE_RANK
    DESCRIPTION
    E
    EMPTY
    ENFORCED
    ENGINE_ATTRIBUTE
    EXCEPT
    EXCLUDE
    F
    FACTOR
    FAILED_LOGIN_ATTEMPTS
    FINISH
    FIRST_VALUE
    FOLLOWING
    G
    GEOMCOLLECTION
    GET_MASTER_PUBLIC_KEY
    GET_SOURCE_PUBLIC_KEY
    GROUPING
    GROUPS
    H
    HISTOGRAM
    HISTORY
    I
    INACTIVE
    INITIAL
    INITIATE
    INVISIBLE
    J
    JSON_TABLE
    JSON_VALUE
    K
    KEYRING
    L
    LAG
    LAST_VALUE
    LATERAL
    LEAD
    LOCKED
    M
    MASTER_COMPRESSION_ALGORITHMS
    MASTER_PUBLIC_KEY_PATH
    MASTER_TLS_CIPHERSUITES
    MASTER_ZSTD_COMPRESSION_LEVEL
    MEMBER
    N
    NESTED
    NETWORK_NAMESPACE
    NOWAIT
    NTH_VALUE
    NTILE
    NULLS
    O
    OF
    OFF
    OJ
    OLD
    OPTIONAL
    ORDINALITY
    ORGANIZATION
    OTHERS
    OVER
    P
    PASSWORD_LOCK_TIME
    PATH
    PERCENT_RANK
    PERSIST
    PERSIST_ONLY
    PRECEDING
    PRIVILEGE_CHECKS_USER
    PROCESS
    R
    RANDOM
    RANK
    RECURSIVE
    REFERENCE
    REGISTRATION
    REPLICA
    REPLICAS
    REQUIRE_ROW_FORMAT
    RESOURCE
    RESPECT
    RESTART
    RETAIN
    RETURNING
    REUSE
    ROLE
    ROW_NUMBER
    S
    SECONDARY
    SECONDARY_ENGINE
    SECONDARY_ENGINE_ATTRIBUTE
    SECONDARY_LOAD
    SECONDARY_UNLOAD
    SKIP
    SOURCE_AUTO_POSITION
    SOURCE_BIND
    SOURCE_COMPRESSION_ALGORITHMS
    SOURCE_CONNECT_RETRY
    SOURCE_DELAY
    SOURCE_HEARTBEAT_PERIOD
    SOURCE_HOST
    SOURCE_LOG_FILE
    SOURCE_LOG_POS
    SOURCE_PASSWORD
    SOURCE_PORT
    SOURCE_PUBLIC_KEY_PATH
    SOURCE_RETRY_COUNT
    SOURCE_SSL
    SOURCE_SSL_CA
    SOURCE_SSL_CAPATH
    SOURCE_SSL_CERT
    SOURCE_SSL_CIPHER
    SOURCE_SSL_CRL
    SOURCE_SSL_CRLPATH
    SOURCE_SSL_KEY
    SOURCE_SSL_VERIFY_SERVER_CERT
    SOURCE_TLS_CIPHERSUITES
    SOURCE_TLS_VERSION
    SOURCE_USER
    SOURCE_ZSTD_COMPRESSION_LEVEL
    SRID
    STREAM
    SYSTEM
    T
    THREAD_PRIORITY
    TIES
    TLS
    U
    UNBOUNDED
    UNREGISTER
    V
    VCPU
    VISIBLE
    W
    WINDOW
    Z
    ZONE

+ 3 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/message/SystemMessageDO.java

@ -35,6 +35,8 @@ public class SystemMessageDO extends UuidIdentityEntity {
     * 天气预报 995
     * 整点定时发送 996
     * 人工手动系统推送 999
     *
     * 类型详情见 base_system_message_type
     */
    private String type;
    /**
@ -240,7 +242,7 @@ public class SystemMessageDO extends UuidIdentityEntity {
        this.createTime = createTime;
    }
    @Column(name = "over")
    @Column(name = "is_over")
    public String getOver() {
        return over;
    }

+ 101 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseDrugsPlanDO.java

@ -0,0 +1,101 @@
package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
/**
 * 居民用药计划
 * Created by yeshijie on 2022/11/24.
 */
@Entity
@Table(name = "base_drugs_plan")
public class BaseDrugsPlanDO extends UuidIdentityEntityWithCreateTime {
    private String title;//标题默认 用药计划',
    private String patient;
    private String patientName;
    private String doctor;
    private String doctorName;
    private String type;//关联类型 1处方
    private String relationId;//关联id
    //用药明细
    private List<BaseDrugsPlanDetailDO> detailList;
    @Column(name = "title")
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    @Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "type")
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    @Column(name = "relation_id")
    public String getRelationId() {
        return relationId;
    }
    public void setRelationId(String relationId) {
        this.relationId = relationId;
    }
    @Transient
    public List<BaseDrugsPlanDetailDO> getDetailList() {
        return detailList;
    }
    public void setDetailList(List<BaseDrugsPlanDetailDO> detailList) {
        this.detailList = detailList;
    }
}

+ 385 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseDrugsPlanDetailDO.java

@ -0,0 +1,385 @@
package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 用药计划明细
 * Created by yeshijie on 2022/11/24.
 */
@Entity
@Table(name = "base_drugs_plan_detail")
public class BaseDrugsPlanDetailDO extends UuidIdentityEntityWithCreateTime {
    /**
     * 关联表base_drugs_plan id
     */
    private String planId;
    /**
     * 药品编号
     */
    private String drugNo;
    /**
     * 药品名称
     */
    private String drugName;
    /**
     * 库房号
     */
    private String dispDeposite;
    /**
     * 药量
     */
    private String dosage;
    /**
     *数量
     */
    private String quantity;
    /**
     *单位
     */
    private String unit;
    /**
     * 單位名稱
     */
    private String unitName;
    /**
     * 包装单位
     */
    private String packUnit;
    /**
     * 包装单位名称
     */
    private String packUnitName;
    /**
     * 用法
     */
    private String supplyCode;
    /**
     * 用法名稱
     */
    private String supplyName;
    /**
     * 天数
     */
    private String days;
    /**
     * 组号
     */
    private String frequency;
    /**
     * 药品收费码
     */
    private String serial;
    /**
     * 库房号
     */
    private String groupNo;
    /**
     * 规格
     */
    private String specification;
    /**
     * 1可用 0删除
     */
    private Integer del;
    /**
     * 频率
     */
    private String usageCode;
    /**
     * 頻率名稱
     */
    private String usageName;
    /**
     *包装价格
     */
    private Double packRetprice;
    /**
     * 中草药数量
     */
    private String herbalCount;
    /**
     * 中草药贴数
     */
    private String postCount;
    /**
     * 中药用法
     */
    private String comm;
    /**
     * 药品产地
     */
    private String drugPlace;
    /**
     * 药房包装
     */
    private Integer packQuantity;
    /**
     * 用法id
     */
    private Integer ypyf;
    @Column(name = "plan_id")
    public String getPlanId() {
        return planId;
    }
    public void setPlanId(String planId) {
        this.planId = planId;
    }
    @Column(name = "drug_no")
    public String getDrugNo() {
        return drugNo;
    }
    public void setDrugNo(String drugNo) {
        this.drugNo = drugNo;
    }
    @Column(name = "drug_name")
    public String getDrugName() {
        return drugName;
    }
    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }
    @Column(name = "disp_deposite")
    public String getDispDeposite() {
        return dispDeposite;
    }
    public void setDispDeposite(String dispDeposite) {
        this.dispDeposite = dispDeposite;
    }
    @Column(name = "dosage")
    public String getDosage() {
        return dosage;
    }
    public void setDosage(String dosage) {
        this.dosage = dosage;
    }
    @Column(name = "quantity")
    public String getQuantity() {
        return quantity;
    }
    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }
    @Column(name = "unit")
    public String getUnit() {
        return unit;
    }
    public void setUnit(String unit) {
        this.unit = unit;
    }
    @Column(name = "supply_code")
    public String getSupplyCode() {
        return supplyCode;
    }
    public void setSupplyCode(String supplyCode) {
        this.supplyCode = supplyCode;
    }
    @Column(name = "days")
    public String getDays() {
        return days;
    }
    public void setDays(String days) {
        this.days = days;
    }
    @Column(name = "frequency")
    public String getFrequency() {
        return frequency;
    }
    public void setFrequency(String frequency) {
        this.frequency = frequency;
    }
    @Column(name = "serial")
    public String getSerial() {
        return serial;
    }
    public void setSerial(String serial) {
        this.serial = serial;
    }
    @Column(name = "group_no")
    public String getGroupNo() {
        return groupNo;
    }
    public void setGroupNo(String groupNo) {
        this.groupNo = groupNo;
    }
    @Column(name = "specification")
    public String getSpecification() {
        return specification;
    }
    public void setSpecification(String specification) {
        this.specification = specification;
    }
    @Column(name = "del")
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    @Column(name = "unit_name")
    public String getUnitName() {
        return unitName;
    }
    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }
    @Column(name = "supply_name")
    public String getSupplyName() {
        return supplyName;
    }
    public void setSupplyName(String supplyName) {
        this.supplyName = supplyName;
    }
    @Column(name = "usage_code")
    public String getUsageCode() {
        return usageCode;
    }
    public void setUsageCode(String usageCode) {
        this.usageCode = usageCode;
    }
    @Column(name = "usage_name")
    public String getUsageName() {
        return usageName;
    }
    public void setUsageName(String usageName) {
        this.usageName = usageName;
    }
    @Column(name = "pack_unit")
    public String getPackUnit() {
        return packUnit;
    }
    public void setPackUnit(String packUnit) {
        this.packUnit = packUnit;
    }
    @Column(name = "pack_unit_name")
    public String getPackUnitName() {
        return packUnitName;
    }
    public void setPackUnitName(String packUnitName) {
        this.packUnitName = packUnitName;
    }
    @Column(name = "pack_retprice")
    public Double getPackRetprice() {
        return packRetprice;
    }
    public void setPackRetprice(Double packRetprice) {
        this.packRetprice = packRetprice;
    }
    @Column(name = "herbal_count")
    public String getHerbalCount() {
        return herbalCount;
    }
    public void setHerbalCount(String herbalCount) {
        this.herbalCount = herbalCount;
    }
    @Column(name = "post_count")
    public String getPostCount() {
        return postCount;
    }
    public void setPostCount(String postCount) {
        this.postCount = postCount;
    }
    @Column(name = "comm")
    public String getComm() {
        return comm;
    }
    public void setComm(String comm) {
        this.comm = comm;
    }
    @Column(name = "drug_place")
    public String getDrugPlace() {
        return drugPlace;
    }
    public void setDrugPlace(String drugPlace) {
        this.drugPlace = drugPlace;
    }
    @Column(name = "pack_quantity")
    public Integer getPackQuantity() {
        return packQuantity;
    }
    public void setPackQuantity(Integer packQuantity) {
        this.packQuantity = packQuantity;
    }
    @Column(name = "ypyf")
    public Integer getYpyf() {
        return ypyf;
    }
    public void setYpyf(Integer ypyf) {
        this.ypyf = ypyf;
    }
}

+ 1 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/BaseSuggestionDictController.java

@ -1,7 +1,6 @@
package com.yihu.jw.hospital.endpoint.hospital;
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
import com.yihu.jw.entity.hospital.suggest.BaseSuggestionDO;
import com.yihu.jw.entity.hospital.suggest.BaseSuggestionDictDO;
import com.yihu.jw.hospital.suggest.service.BaseSuggestionDictService;
import com.yihu.jw.restmodel.web.Envelop;

+ 77 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/DrugsPlanEndpoint.java

@ -0,0 +1,77 @@
package com.yihu.jw.hospital.endpoint.prescription;
import com.yihu.jw.hospital.prescription.service.DrugsPlanService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
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.*;
/**
 * Created by yeshijie on 2022/11/24.
 */
@RestController
@RequestMapping(value = "patient/drugsPlan")
@Api(value = "用药指导", tags = {"用药指导"})
public class DrugsPlanEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private DrugsPlanService drugsPlanService;
    @PostMapping(value = "createDrugsPlan")
    @ApiOperation(value = "手动生成用药计划")
    public Envelop createDrugsPlan(
            @ApiParam(name = "prescriptionId", value = "处方id")
            @RequestParam(value = "prescriptionId", required = true) String prescriptionId) {
        try {
            drugsPlanService.createDrugsPlan(prescriptionId);
            return success("获取成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @GetMapping(value = "findDrugsPlan")
    @ApiOperation(value = "获取居民今日的服药计划")
    public Envelop findDrugsPlan(
            @ApiParam(name = "patient", value = "居民id")
            @RequestParam(value = "patient", required = true) String patient) {
        try {
            return ListEnvelop.getSuccess("获取成功",drugsPlanService.findDrugsPlan(patient));
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
    @GetMapping(value = "findDrugsPlanMessage")
    @ApiOperation(value = "获取居民的今日用药计划消息")
    public Envelop findDrugsPlanMessage(
            @ApiParam(name = "patient", value = "居民id")
            @RequestParam(value = "patient", required = true) String patient) {
        try {
            return ListEnvelop.getSuccess("获取成功",drugsPlanService.findDrugsPlanMessage(patient));
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
    @GetMapping(value = "prescriptionList")
    @ApiOperation(value = "查询居民处方列表")
    public Envelop prescriptionList(
            @ApiParam(name = "patient", value = "居民id")
            @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "page", value = "第几页")
            @RequestParam(value = "page", required = true) Integer page,
            @ApiParam(name = "pagesize", value = "每页大小")
            @RequestParam(value = "pagesize", required = true) Integer pagesize) {
        try {
            return drugsPlanService.prescriptionList(patient,page,pagesize);
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
        }
    }
    
}