This commit is contained in:
liupanting
2025-02-24 15:25:23 +08:00
73 changed files with 1594 additions and 82 deletions

View File

@@ -132,6 +132,13 @@
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
</dependency> </dependency>
<!-- 中文汉字转换为首字母拼音包 -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -40,4 +40,9 @@ public class CacheConstants {
* 登录账户密码错误次数 redis key * 登录账户密码错误次数 redis key
*/ */
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
/**
* 超出上限,排番失败(时间:{}KEY{}
*/
public static final String ASSIGN_SEQ_FAILED = "排番失败(时间:{}KEY{},异常信息:{超出上限}";
} }

View File

@@ -3,6 +3,7 @@ package com.core.common.core.redis;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import com.core.common.exception.UtilException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.BoundSetOperations; import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.HashOperations;
@@ -240,4 +241,19 @@ public class RedisCache {
public Collection<String> keys(final String pattern) { public Collection<String> keys(final String pattern) {
return redisTemplate.keys(pattern); return redisTemplate.keys(pattern);
} }
/**
* 递增
*
* @param key 缓存Key
* @param delta 要增加的幅度(大于0)
* @return 递增后的值
*/
public long incr(String key, long delta) {
if (delta < 0L) {
throw new UtilException("递增因子必须大于0");
} else {
return this.redisTemplate.opsForValue().increment(key, delta);
}
}
} }

View File

@@ -0,0 +1,42 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.core.common.enums;
import com.core.common.utils.StringUtils;
/**
* 采番前缀枚举
*
* @author zxy
* @date 2025-02-24
*/
public enum AssignSeqEnum {
/**
* 例子
*/
TEST("1", "例子", "TE");
private final String code;
private final String info;
private final String prefix;
AssignSeqEnum(String code, String info, String prefix) {
this.code = code;
this.info = info;
this.prefix = prefix;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
public String getPrefix() {
return prefix;
}
}

View File

@@ -0,0 +1,267 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.core.common.utils;
import java.util.ArrayList;
import java.util.List;
import com.core.common.constant.CacheConstants;
import com.core.common.core.redis.RedisCache;
import com.core.common.exception.UtilException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
/**
* 排番组件
*
* @author zxy
* @date 2024-11-29
*/
@Component
public final class AssignSeqUtil {
private final RedisCache redisCache;
// 缓存Key格式包含前缀
private static final String FORMAT_CACHE_KEY = "assign-seq:%s";
// 缓存Key格式包含前缀
private static final String FORMAT_CACHE_KEY_BY_DAY = "assign-seq:%s:%s";
// 默认序号长度
private static final int DEFAULT_SUFFIX_LENGTH = 8;
// 默认序号长度(每日重新排番)
private static final int DEFAULT_SUFFIX_LENGTH_DAY = 4;
// 编号格式前缀
private static final String FORMAT_SEQ_PREFIX = "%s%0";
// 编号格式前缀
private static final String FORMAT_SEQ_PREFIX_DAY = "%s%s%0";
// 编号格式后缀
private static final String FORMAT_SEQ_SUFFIX = "d";
// 失效时长48小时
private static final int EXPIRE_SECONDS = 172800;
private AssignSeqUtil(RedisCache redisCache) {
this.redisCache = redisCache;
}
private static final Logger log = LoggerFactory.getLogger(AssignSeqUtil.class);
/**
* 编号排番
*
* @param prefix 编号前缀
* @return 番号示例XXX00000001
*/
public String getSeq(String prefix) {
return this.getSeq(prefix, DEFAULT_SUFFIX_LENGTH);
}
/**
* 编号排番
*
* @param prefix 编号前缀
* @param seqLength 序号长度(去除前缀后位数)
* @return 番号示例XXX00000001
*/
public String getSeq(String prefix, int seqLength) {
return String.format(FORMAT_SEQ_PREFIX + seqLength + FORMAT_SEQ_SUFFIX, prefix, this.getSeqNo(prefix));
}
/**
* 编号排番(批量)
*
* @param prefix 编号前缀
* @param seqLength 序号长度(去除前缀后位数)
* @param count 排番数量
* @return 番号示例XXX00000001XXX00000002
*/
public List<String> getSeq(String prefix, int seqLength, int count) {
// 获取最新编号
int seqEnd = this.getSeqNoCore(String.format(FORMAT_CACHE_KEY, prefix), count);
// 返回番号集合
List<String> seqS = new ArrayList<>();
long seq = seqEnd - count + 1;
while (seq <= seqEnd) {
// 拼接番号
seqS.add(String.format(FORMAT_SEQ_PREFIX + seqLength + FORMAT_SEQ_SUFFIX, prefix, seq++));
}
return seqS;
}
/**
* 编号排番
*
* @param key 编号主键
* @return 番号示例XXX00000001
*/
public int getSeqNo(String key) {
return this.getSeqNoCore(String.format(FORMAT_CACHE_KEY, key), 1);
}
/**
* 编号排番(批量)
*
* @param key 编号主键
* @param count 排番数量
* @return 番号示例XXX00000001XXX00000002
*/
public List<Integer> getSeqNo(String key, int count) {
// 获取最新编号
int seqEnd = this.getSeqNoCore(String.format(FORMAT_CACHE_KEY, key), count);
// 返回番号集合
List<Integer> seqS = new ArrayList<>();
int seq = seqEnd - count + 1;
while (seq <= seqEnd) {
// 拼接番号
seqS.add(seq++);
}
return seqS;
}
/**
* 编号排番(每日重新排番)
*
* @param prefix 编号前缀
* @return 番号
*/
public String getSeqByDay(String prefix) {
return this.getSeqByDay(prefix, DEFAULT_SUFFIX_LENGTH_DAY);
}
/**
* 编号排番(每日重新排番)
*
* @param prefix 编号前缀
* @param seqLength 序号长度(去除前缀后位数)
* @return 番号
*/
public String getSeqByDay(String prefix, int seqLength) {
// 获取当前日期
String today = DateUtils.today();
// 获取最新编号
int seq = this.getSeqNoByDay(prefix, today, 1);
// 拼接番号并返回
return String.format(FORMAT_SEQ_PREFIX_DAY + seqLength + FORMAT_SEQ_SUFFIX, prefix, today, seq);
}
/**
* 编号排番(每日重新排番)(批量)
*
* @param prefix 编号前缀
* @param seqLength 序号长度(去除前缀后位数)
* @param count 排番数量
* @return 番号(最小值)
*/
public List<String> getSeqByDay(String prefix, int seqLength, int count) {
// 获取当前日期
String today = DateUtils.today();
// 获取最新编号
int seqEnd = this.getSeqNoByDay(prefix, today, count);
// 返回番号集合
List<String> seqS = new ArrayList<>();
long seq = seqEnd - count + 1;
while (seq <= seqEnd) {
// 拼接番号
seqS.add(String.format(FORMAT_SEQ_PREFIX_DAY + seqLength + FORMAT_SEQ_SUFFIX, prefix, today, seq++));
}
return seqS;
}
/**
* 编号排番(每日重新排番)
*
* @param prefix 编号前缀
* @return 番号
*/
public int getSeqNoByDay(String prefix) {
return this.getSeqNoByDay(prefix, DateUtils.today(), 1);
}
/**
* 编号排番(每日重新排番)(批量)
*
* @param prefix 编号前缀
* @param count 排番数量
* @return 番号(最小值)
*/
public List<Integer> getSeqNoByDay(String prefix, int count) {
// 获取当前日期
String today = DateUtils.today();
// 获取最新编号
int seqEnd = this.getSeqNoByDay(prefix, today, count);
// 返回番号集合
List<Integer> seqS = new ArrayList<>();
int seq = seqEnd - count + 1;
while (seq <= seqEnd) {
// 拼接番号
seqS.add(seq++);
}
return seqS;
}
/**
* 编号排番(每日重新排番)
*
* @param prefix 编号前缀
* @param date 序号长度(去除前缀后位数)
* @param count 排番数量
* @return 番号
*/
private int getSeqNoByDay(String prefix, String date, int count) {
// 拼接缓存Key包含当日日期
String cacheKeyByDay = String.format(FORMAT_CACHE_KEY_BY_DAY, prefix, date);
// 获取最新编号
int seq = this.getSeqNoCore(cacheKeyByDay, count);
// 当最小编号为1时设置保存期限
if (seq - count + 1 == 1) {
redisCache.expire(cacheKeyByDay, EXPIRE_SECONDS);
}
// 拼接番号并返回
return seq;
}
/**
* 编号排番(批量)
*
* @param cacheKey 缓存Key
* @param count 排番数量
* @return 番号示例XXX00000001XXX00000002
*/
private int getSeqNoCore(String cacheKey, int count) {
// 获取最新编号
long seq = redisCache.incr(cacheKey, count);
// 达到最大值时重置番号
if (seq >= Integer.MAX_VALUE) {
log.error(CacheConstants.ASSIGN_SEQ_FAILED, DateUtils.getStrYmdHmsRead(), cacheKey);
throw new UtilException("排番失败!");
}
// 番号返回
return (int)seq;
}
}

View File

@@ -0,0 +1,103 @@
package com.core.common.utils;
import net.sourceforge.pinyin4j.PinyinHelper;
/**
* 中文汉字转换为首字母拼音,五笔的工具类
*
* @author liuhr
* @date 2025/2/24
*/
public final class ChineseConvert {
/**
* 将中文汉字转换为首字母拼音
*
* @param chinese 汉字字符串
* @return 首字母拼音字符串
*/
public static String toPinyinFirstLetter(String chinese) {
if (chinese == null || chinese.isEmpty()) {
return "";
}
StringBuilder pinyin = new StringBuilder();
for (int i = 0; i < chinese.length(); i++) {
char c = chinese.charAt(i);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c);
if (pinyinArray != null) {
pinyin.append(pinyinArray[0].charAt(0));
} else {
pinyin.append(c); // 非汉字字符直接添加
}
}
return pinyin.toString();
}
// 汉字与五笔的对英关系
private static String[] WB = new String[] {
"A鞴鞲鞣鞫鞯鞔鞒鞑鞅靼銎跫綦翳蛩颟鹳鹋鸫鸢慝觐觋贳瓯戡檠迓甙忒弋撖摁廾蘼蘖蘩蘅蘧藿藜藁藓薰薷薹薅薜薮蕹薏薇薨薤蕻蕲蕃瞢蕺蕞蕤蕨蕈蕙蓼蓿蔻蕖蔺蔟蔹蓰蔸甍蔌蓣蓥蒗蒴蒹蒡蓠蒺蒿蓊蓓蒽蓦蓐蓍蓁葭萱蒎蒌葶葩葆萼葸蒉葺蒈蒇葳葙葚葑葜菡菰萦菀菅菪菹菸萃萏菟菔萆萑萸萜菖菽菝萋萘堇菘菥萁菁莼莺莨莞莘荻莸荽莩莶荼莅莜莓莪莠莴莳荸莰荮荭荪荬荩茛荨荥荦茳茺茭荠茗荀荟荃荇荏茯荞莛茱茴茼莒茈荜荛荑茜苕苠茕茔茆茚茑苓苻茌苘苒苴苜茇茏苤苷茉苡芤苎苄芟芪芡芴芩苁苌苋芮芷芘苣苊苈芰芾芸芫芙芗芑芎芄芨芊芏艿艽艹鄞郾邛劐蒯赜匾匮匦叵匚廿茁著芝蒸斟蔗蘸藻葬匝蕴苑芋荧营萤莹英荫茵艺颐医药尧燕雅牙芽鸦薛靴蓄芯薪邪鞋萧巷项匣熙昔芜巫卧蔚萎苇藤萄苔蓑蒜苏斯薯蔬世式甚芍苫莎散萨若蕊茹荣蓉茸戎惹鹊颧区擎芹勤莲荔莉蕾勒劳蓝莱葵匡苦恐苛勘菌巨菊鞠敬警茎荆靳芥藉戒节蕉匠蒋荐茧荚蓟基惑或获荤茄切翘鞘巧蔷其七欺期蒲菩葡莆萍苹匹蓬藕殴鸥欧孽蔫匿慕募幕暮墓某莫蘑摹蔑藐苗蒙萌茂茅莽茫芒蔓落萝芦菱黄荒划花葫菏荷邯菇苟共贡汞巩恭功攻工葛革戈甘芬匪菲芳范藩贰董东蒂荡葱茨臣茶茬草藏苍蔡菜菠鞭蔽蓖苯薄苞靶芭鞍艾蔼",
"B粜蚩颞聩聒聍聆聃耵骘孢孓孑屮隳凵勐鄹隰隗隍隈陴陲陬陧陟陔陉陂阼阽阪阱阡阢阝卺亟丞阻子孜坠职阵障陨院隅隐阴也耶阳逊限陷险隙卫陀陶孙祟隧随隋陕阮孺娶取了辽聊联孔聚阶降际聘陪聂陌孟陆陋陇隆陵函孩孤耿隔附防耳堕队陡耽聪除出耻承陈陛隘阿",
"C鍪蟊蝥颡矜皴鹬鹜甬瞀怼炱毵骧骥骣骢骠骟骝骛骖骓骒骐骊骈骅骁骀驿驺驸驷驵婺逡迨迳巯畚弁厶邰刭驻骤蚤允驭豫预予又勇恿以矣验驯熊戏驼驮通台双驶圣骚桑叁柔劝驱垒骏驹颈劲骄艰鸡骑骗能难牟矛马骆骡驴欢骇观对叠邓怠驰骋叉参驳巴",
"D鬣鬟鬓鬏鬈髹髭髻髫髯髦髡髟魇蹙趸翡舂蜚蜃虿耱耨耩耧耦耥耢耠耜耖耔耒鹩鹕鹌鸸鸪瓠礴礞礤礓磴礅磲磉磙磔碥碹碲碣碡碜碇碚碓碛硪硌硇硐硗硖硭硎砩砣砬砥砼砟砻砺砹砝砜砭斫砑砘砗砉砀矸矶恧恝焘斐飙欹腴挈臧戛彗尴尬尥尢匏耷奁夼劢酆劂剞刳赝靥厮厥厣厝厍仄嘏左奏鬃砖砧丈在砸耘愿原郁右友有尤硬页雁砚厌艳奄研压戌雄硝厢咸夏厦袭矽硒戊威万碗厅套碳态太泰碎肆硕爽耍戍寿石盛砷奢砂三辱确犬秦历砾励厉厘磊奎盔矿夸克磕砍厩韭兢礁硷碱慧灰磺牵砌契奇戚破砒碰硼砰裴耪碾奈耐面迈码碌垄聋龙硫磷胡厚耗夯硅顾故古辜龚耕感奉丰奋非矾而厄夺碟碉碘大达磋存磁蠢唇春础厨成辰厂碴厕布泵奔辈悲碑磅帮邦百耙碍",
"E雎貔貘貅貊貂豸豕繇鹞燹膦臁膻臊朦臌膪膣滕膑膈媵塍腧腭腽腼腩腠腱腚腙腓腌腈脲脘脬脞脶豚脒朕胼胲脎脍胭胴胱胫胝朐胗胍胙胂胛胪胩胨胧肷肭肫肱肽朊肼肜肟刖虢爰戤孚尕邈彡豳奚垡郛鼐助逐肘肿脂肢胀脏孕月用臃盈臆胰腋舀遥腰悬须胸腥胁腺县膝腕妥脱腿腆腾膛胎舜甩受胜膳腮乳脸肋腊胯爵脚胶及肌且腔脐脾鹏朋膨胚胖脓腻脑乃膜觅貌脉貉股胳肛肝腹腑脯服肤肺肥肪肚胆脆肠彩采膊脖豹胞膀肮胺爱",
"F鼋霾霰霭霪霎霏霈霁霆雯雳雩謦赭赧趱趑趔趄赳麴翥裘箐罄螫颢颉顸耋鹁盍瞽磬悫恚熹觳毂彀耄觏觌赍贲耆甏戟辇韬韫嫠遘逵逑懿鼙馨墀墚墉墁塬塥堠塄堙堞堀埭埽堍堋埝埤埸埯埴垸埒埙埚埘埕垠垴垧埏垲垌垤垭坳坶坭坨坻坼垆坫垅坩坂圻坜圯圮圹圳圪圬圩酃邗卦啬孛亓兀亍走专煮志址直支震真者赵增载哉栽运云越远袁垣元域雨壹堰严盐雪需墟幸协孝霄献现霞喜雾坞无斡未违韦顽土填替趟塘坦坛坍塔塌索寺霜士示十声赦墒丧韧壤却去趣趋求雷老垃坤亏款块垮坑壳坷考坎堪刊均救境井进劫截教嘉吉圾击魂卉墙乾起埔坡坪霹坯彭培霓南霉卖埋露零霖坏壶赫郝壕翰韩过圭规鼓垢埂赶干赴夫封坟坊二垛墩堆堵都动颠地堤戴寸矗翅赤城趁朝超场才裁埠勃博雹霸坝埃",
"G餮餍鳌鏊靓豉豇麸纛翮蠹螯虺聱鹉鹂忑欤敕赉戬戋軎殪殡殛殚殍殓殒殄殇殂殁獒橐瓒璩璨璞璋璇璁璀璎璜瑾瑭瑷瑙瑕瑗瑜瑁琚琛琬琮琰琨琥琦瑛琪琏珲珞珧珩琊顼珙珥珈珉珀玳玷珑珂珏玟玢玮玑玎骜遨逦逋忝墼垩鄢郦郅郏邳邴剌芈噩孬鬲亘丕卅丐琢赘珠致至殖政正整臻珍盏责枣遭再玉与盂于迂夷一瑶殃焉亚殉邢形型刑下五武吾王玩豌歪瓦屯吞天琐速素死束殊事蚀珊瑟瑞融球琼青琴裂列两璃丽理琅赖来开玖静晋柬歼颊夹棘霍惠妻平琵琶弄囊末灭玫麦玛琉玲琳烈还环画互瑚瑰更副甫敷否珐恶顿毒逗豆靛到殆带歹刺曹残蚕不玻丙表碧逼甭班斑熬敖",
"H虍瞿龌龊龉龈龇龆龅龃龀訾觜鹾粲虔颦颥鸬瞵瞰瞠瞟瞑瞌睽瞍睿睥睢睨睚睃睇睑睐眸眵眦眭眙眈眇盹眍眄盱砦忐氍觑觇赀攴遽壑矍卣乩丨紫桌卓瞩止睁贞战占瞻眨虞眼眩虚些瞎凸瞳眺瞬睡叔上龋眶肯卡具旧睛睫瞧歧颇频皮盼虐睦目瞄眠眯瞒虑虏卤颅卢龄虎睹督鼎盯点瞪此雌瞅齿柴餐睬步卜彪",
"I鲨鲎鎏鋈裟淼泶沓懑氅挲尜娑逍灞灏瀵瀹瀛瀣瀚濯濠濞濮濡濂澶澹澧濉濑潺潼潲潸澌澍澉漩漉漪潴潋漶漯滹漕漤潇潆潢溟滂溏滏溴滗溷溻溽溧溥滢漭滠溘溱滟湄渥渲湔湓溆湟溲湫湎湮渫涮渌涫渖淙淝淦渑淠涿渎淞淅淇渚浣浼浠浜涔涓浞涠涞浯涑洳浔浒浏洚洵洮浍洫洎洙洄洇浈浃洌洧洹泾泯泓沱泮泫泺泖泠沲泗泱泸泷沭泔泐沩沆汶汴汩汨沌沔沐沅沣汊汜汔氵喾凼黉鼗渍滓淄滋注洲治滞汁浙兆沼涨掌漳湛沾渣泽澡源渊浴誉渔渝淤游油涌泳淫溢沂液耀漾洋演淹涯汛学汹兴泻泄肖小淆消削湘涎洗汐溪污沃涡温渭潍汪湾洼湍涂汀添涕淘逃滔涛烫淌棠堂汤潭滩汰溯水漱淑湿省渗沈深涉少裳尚赏汕沙涩洒润汝溶染雀渠泅清沁潦粱梁涟沥漓泪涝浪滥澜溃渴浚觉沮举酒浸津洁浇江涧溅渐尖济脊汲激活混浑汇辉浅潜洽泣汽沏柒漆瀑浦婆泼漂澎沛泡潘派湃沤浓泞涅溺泥淖漠沫渺泌没漫满洛沦滦滤潞漏流溜淋劣涣淮滑沪湖洪鸿涸河浩汉汗涵海光灌沽沟港溉涪浮汾沸泛法洱渡洞淀滇涤滴党当淡淬淳滁池澄沉尘澈潮敞常尝测沧泊渤波滨濒澳",
"J蠼蠛蠊蟾蠓蠖蟮蟠蟪蟛蟀蟑蟓蟋螳螵螬蟥螃螗螭螅螈蟆蟒螨螓蝙蝤蝼蝣蝓螋蝮蝌蝰蝠蝻蝾蝽蜢螂蜿蜷蜩蜱蜴蝈蜾蜮蜥蜞蜻蜣蜉蜍蜊蜈蛸蛑蛘蛟蛴蛞蜓蛐蛳蛭蛲蛱蚴蛏蛉蚯蚱蚺蚰蛎蚵蛄蚶蚓蚪蚣蚧蚝蚬蚋蚍蚨虻虼虮虬煦曩曦曜曛暾暝暧暌暄晷晗晡晖晏晁晔晟昵昱昴曷炅昀昕昃杲昙昊旰旯戥韪暹遢夥勖刂禺昨最蛀蛛蜘照昭早晕曰遇愚蛹映影蝇易蚁曳野蜒蚜星蝎歇晓显贤暇虾晰晤蜗蚊旺晚蛙蜕题剔帅墅竖曙暑是时师肾申蛇晌晒蠕日蛆晴晾量里览蜡昆颗景晶紧鉴坚监晦蛔晃蝗曝暖螟明冕盟昧冒曼蚂螺临蝴虹旱果滚归蛊蛤蜂遏蛾蝶电旦虫匙晨畅昌蝉暴蚌昂暗",
"K饕鼍黾躞躜躐躔躏躅蹴蹯蹼蹶蹰蹊蹒蹑蹂蹁蹉踱踽踵踹蹀踺踯踣踮踬踟踝踔跽踉跤跻跹跣跸跷跬跆跛跏跎跞跚跗跖跄趺趼趿趵颚鹭鹗戢璐囔嚯嚓嚅噼噻噫噱噤嚆噔噌噜噙噢噍嘬噗嘹噘嘭嘧嘀嗾嘣嘤嘁嘌嘈嘞嗤嗵嗨嗍嗌嗳嗲嗥嗯嗄嗝嗦嗔嗬嗫嗑嘟嗉嗷嗪喙喔喽嗟喑嗖啾喟喁喈喹喱喃嗒喋啜唰唳啷啶啵啖唷唼啐唿啕啁啭啉喵喏啧唪唧唑唏唣唢哳唔哽唠哧唛哞哏哝咤咪咩哜哚哙哌咿咻哕咣呲哔哓咦咧哒咴哂咭哐咝呦呶咄咛咚呤呱呷咔咂吲吣呙呗吡呃呖呔呓呒呋吆吖吒叻叨叩叽叱卟郢嘴足踪啄嘱咒忠盅中只趾吱咋喳噪躁咱郧跃员喻吁咏踊哟吟邑遗叶噎咬唁咽哑呀勋喧嘘嗅兄啸嚣哮响吓吸嘻吴呜嗡吻喂味唯哇唾吐听跳嚏啼蹄踢叹踏蹋唆虽嗽嗣嘶顺吮噬嗜史呻哨啥嗓嚷哩啦喇旷跨哭口吭啃咳咯咖喀鹃踞距咀叫嚼践呛遣器品啤喷呸跑咆趴啪呕哦啮呢呐哪鸣吗嘛骂吕路咙另唤患哗唬呼吼喉哄哼嘿喝呵号嚎喊哈贵跪剐咕跟嘎噶咐吩吠啡鄂跺哆蹲吨叮跌吊叼蹬蹈呆蹿吹串喘川躇踌吃逞呈吵嘲唱蹭踩哺别鄙蹦跋吧叭唉哎啊",
"L黯黪黥黩黢黟黠黝黜錾袈罾羁罹罱罴罨詈罟罡罘疃畹畛畈畋畎畀町辚辘辏辎辍辋辄辂辁轾轼轺轹轷轸轶轵轳轲轱轭轫椠嬲迦圜圉圊圄囿囹囫囵囡囝囗勰哿罪浊转轴置辙罩辗斩轧暂圆园辕因鸭轩辖胃畏围团图田四思蜀署输软圈囚轻辆连力累困界较轿驾架甲加辑畸回堑黔畦圃毗畔男默墨皿逻罗轮略轰黑贺国辊轨固辅辐罚恩囤畴车边办罢",
"M髑髌髋髂髅髀髁骼骺骶鹘骷骰骱罂颛鹦殳飚飕飓飑胄觊赙赕赇赈赆赅贻贶遄迥巅嶷嶝嶙嶂嵴嵩嵊嵫嵝嵯嵛嵬崽崴崾嵘崆崞崤崮崦崧崃崂峥峋峤峒峄岷峁岣岫岬岽岢岵岜岚岑岘岈岖岐岍屺岌幡幞幛幔幄帷帼帻帱帔帙帏兕夙罔冂剀刿赚贮周峙帜帧账帐崭赠贼则赃峪屿邮由婴屹鸯央岩崖峡巍网彤同帖贴炭岁髓赎赊赡删山肉冉曲岿凯峻巾见贱几贿幌凰峭嵌岂崎赔帕内帽赂岭骸骨购岗刚冈赋幅凤风峰贩凡帆峨剁朵赌雕典迪丹崔赐幢崇册财贬崩贝败凹盎岸",
"N鐾羿襞胥疋鹨鹛愍熨擘甓檗璧嬖羼屦屣孱屙屐咫尻遐戕爿懵懔憷憧憔憬慵慊愫愎愀惴愣愕愦愠悴惚惆惘惝悱悻惬悛悌悒悃悝悭悚悖恽恪恂恺恻恹恸怡怿怊怫怩怍怏怛怦怵怙忸忭忪怆怅忾忤忡怄忮怃忏忖忉忄嵋崛奘巽乜昼怔展憎悦羽愉忧翌翼异忆乙已迅恤性惺心忻屑懈习犀惜悟屋慰尉尾惟惋臀屠恬屉惕巳司刷属书疏收恃屎虱尸慎慑屈情怜懒愧快慷慨剧惧局居惊尽届忌悸己悔恢恍惶怯悄恰屏譬屁劈怕懦尿尼恼悯民眉忙慢买屡履戮慌怀恒恨悍憾憨惯怪敢改愤飞发惰恫懂刁殿惦翟悼导蛋惮翠戳丑尺迟忱层惨惭怖避臂壁辟必懊",
"O糨糗糅糈糍糌糇糁粽粼粞粝粑敉籼黼黻黹灬爝燧燔燠熠熵熳熘煺煸煊煅煨煜煳焱焯焖焓焐烊烨炫炷烀炻炝炖炜炀遴燮郯邺剡籽灼烛粘炸燥灶凿糟业焰炎烟烯熄烷烃糖烁数烧煽熔燃炔料燎粮炼粒类烙烂烤炕糠炬炯粳精烬火烩煌粕炮糯米迷煤炉娄焕糊烘焊糕烽粪粉烦断灯粹粗锤炊炽炒糙灿炳焙爆",
"P衤窳窭皲襻襦襁褶褫褴褊褛褓褙褡裰裾裨裼褚裱裥裣裎裢裉袼袷裆袢袂衿衽衲衩窨窬窠窦窕窈窆窀穹穸鸩禳禧禚禊禅祺祧祯祠祗祢祚祓祜祛祉祆祀礻邃逭辶謇蹇寰褰寮寤搴骞甯宸宥宓宕宄宀廴郓冥冢冖剜祖宗字祝宙窒之寨窄宅宰灾冤裕寓宇寅宜揖窑宴穴宣袖写宵祥宪窝宛完袜褪突袒它宿宋守视室实审神社衫赛塞褥冗容裙穷寝寥帘礼牢窥宽裤窟寇空客军究窘襟窖家寂寄祸豁窃窍祁祈袍农宁寞幂密蜜寐裸禄窿宦宏鹤褐罕寒害冠官褂寡宫割富袱福额定祷窜窗穿初宠衬察补宾被宝袄案安",
"Q鳢鳟鳝鳜鳙鳗鳕鳔鳓鳐鳏鳎鳍鳋鳊鳇鳆鳅鳄鲽鲼鲻鲺鲷鲶鲵鲴鲳鲲鲱鲰鲮鲭鲫鲩鲧鲦鲥鲣鲢鲡鲠鲟鲛鲚鲕鲔鲒鲑鲐鲋稣鲈鲇鲆鲅鲂鱿鑫觯觫觥觚觞觖斛袅鹱鸱鸲锺镳镲镱镯镬镫镪镩镨镧镦镥镤镢镡镝镟镞镛镙镘镗镖镔镓镒镏镎镌镉镆镅镄锵镂锿锾锼锸锷锶锴锲锱锬锩锫锪锢锟锞锝锛锘锖锕锔锓锒锏锎锍锊锉锇锆锂锃铿铽铼铹铷铵铴铳铯铮铫铩铪铨铧铥铤铢铠铟铞铛铘铙铗铖铕铒铑铐铎铍铌铋铊铉铈铄钿钽钼钺钹钸钷钶钴钲钰钯钬钭钪钫钤钣钜钛钚钕钗钔钐钏钍钌钊钋钇钆钅盥眢欷肴橥桀枭玺邂遛逖迩馕馔馓馑馐馍馊馇馄馀饽饷饴饬饫饪饩饨饧饣夤飧舛獾獯獬獠獗獍獐猱猸猬猥猹猢猕猝猞猊猡猓猗狻狺猃狳猁狷狴狲狩狯狨狒狍狎狁狃犸犷犴犰犭弑鬯劬奂刍郗郇郄邸邬凫匐訇匍勹刎刈氐爻丌钻邹锥铸猪皱钟炙争狰镇针锗詹铡匀钥怨猿鸳狱鱼犹铀迎印饮银逸铱旬锈匈凶猩锌蟹销象镶馅鲜锨狭铣夕希锡勿乌钨危外鸵兔铜铁锑獭锁饲氏饰狮勺煞刹杀色鳃锐饶然卿镣链镰吏鲤狸镭乐狼馈狂钧句锯狙灸久镜鲸锦金解饺角狡铰饯键钾急饥昏钦锹欠钳钱铅钎铺刨钮狞镍镊鸟馁钠名铭勉免猛锰镁贸卯铆锚猫馒锣卵铝鲁留馏铃猎猾狐忽猴狠锅龟逛馆够狗勾钩铬镐钢钙负孵锋饭犯钒饵尔儿饿多钝锻镀独兜锭钉钓甸狄岛错匆触雏锄钞猖铲馋猜铂钵狈钡鲍饱包镑",
"R魑魍魈魉魃魅踅絷罅缶蜇颀鹎鸷瓞皤皓皎皈敫氲氪氤氩氡氚氙氘氕搿掰贽遑逅攮攥攉擢擤擗擐擀撺撙撸撷摺摭撄摞搡搦搌搠搛搋摅掾揆摒揎揞揄揿揠揸揲掼掮捩掊掬捭掴掎捺捱揶掭捃捋挹拶挢拮拗拚拊抻抟扪扌郫邾卮揍拙捉撞撰拽爪抓拄朱质制掷挚指执拯挣振蛰哲折找招摘扎择皂攒岳援拥殷抑掖摇邀氧扬掩押欣卸携挟掀舞捂握挝皖挽挖拓托拖推投捅挺挑提掏搪探摊抬挞所损擞搜撕拴摔抒授手势逝誓拭拾失摄捎擅扫搔撒揉扔热扰攘缺泉邱丘氰氢擒撂撩擂捞揽拦拉扩括捆魁挎扣抠控拷抗扛看揩掘抉攫撅捐据拒拘揪近斤捷接揭搅捡拣技挤挥皇撬抢扦掐气扑迫魄乒拼撇披批捧抨抛乓排拍爬挪扭牛拧捏捻撵年拈拟挠氖拇抹摸抿描抡掠氯掳搂拢拎换护后捍撼氦鬼罐拐挂瓜拱搁搞皋缸抚氟拂扶氛返反扼掇遁盾抖迭掉垫掂抵的捣挡氮掸担打搭挫措搓撮摧捶揣搐抽斥持撑掣撤扯抄掺搀拆搽插操擦捕帛搏拨播兵摈膘卑报抱拌扮扳搬拜摆白把拔扒捌翱按氨皑挨",
"S醺醴醵醯醮醭醪醣醢醑醍醐醅醌酹酴酲酾酽酯酩酰酡酢酤酏酎酐酊覃皙懋檫檩檐檑橼橘樨樽橹檎樵橛樾橄槲樘樗槭樯槿榍槠榕槟槁榱槔榭榫榻榧榛楹楣楦榉槎榈榇槌椴楸榀楫榄楝楂楠椹楱椐棣楗椁椋棰椤棹椟棼楮棂桫梓桷桴梏梵栩桉桧桁桦桕栝梃桤桄桢桎桡桠栳栲柽柁栎柢枸柃栀柝枳柚枵柙栌枰柩栊柘栉柰杼杷枋枞枨杵枧枘杳杪枇枥杩杈杞杓杌鄄剽柞醉棕酌椎桩柱株植枝枕甄杖樟栈榨栅札酝榆酉樱椅椰要样杨酗朽杏醒械楔校橡想相檄西析梧桅枉椭桶酮桐梯桃檀酞梭酸粟酥松栓树述术梳枢柿梢杉森榷醛权栗李楞棱酪榔栏婪框酷枯可棵柯楷禁杰桔酵椒槛检贾枷极机桥橇枪棋栖朴票瓢飘棚配攀柠酿木模棉醚梦檬酶梅枚麓楼柳榴林桓槐横核杭酣棍柜桂棺构梗根格歌哥杠柑杆概覆枫焚酚樊杜栋顶丁档村醋醇椿椽楚橱酬橙郴查槽材柄彬标本杯棒榜梆板柏",
"T齄鼾鼽黧鳘雒艨艟艚艏艋艉艄舾舴舳舻舸舫舨舯舭舣舢舡衄臬籀籁簸簦簪簟簋簖簏篼篾簌篪篦篥篚篝篌篁篑箴箫箢箜箪箅箨箝箬箸箧箦筱筲筢筻筮筠筝筌筵筅筚筘笞笾笳笤笥笠笱笮笙笪笸筇笏笫笊笕笄笃笈竽竺舐螽鹄鸹穰馥黏穑稷稹稔稞稂稃嵇稆秫秣秭秕雉矬矧眚憩愆歃牖牒牍攵氆氇毽毳毪犒犏犍犋犄牿牾牯牦牝昝榘逶逄迤迮迕夂衢徼徵徭徨徜徙徕後徉徇徂彷彳岙鄱郜籴汆劓睾毓胤囟夭乇丿纂租自篆筑竹舟重种稚秩智知征毡乍怎造赞粤御禹釉役移秧衍延衙循熏血选徐秀行衅笑向箱香舷衔先系悉息稀牺务物午我稳魏委微往颓徒秃透筒艇廷条舔甜特躺毯笋穗算艘私税黍释适矢剩升牲甥生身射舌稍扇筛入壬躯秋利篱黎犁梨篮筐筷科靠矩咎径筋街秸矫舰箭简笺稼季籍箕积稽秽徽簧乔签迁千迄乞片篇篷磐盘徘牌穆牧牡敏秒秘每么毛箩乱律篓笼徊乎衡很和禾航管乖刮箍躬各告稿篙秆竿复符逢繁翻番乏筏鹅舵躲短犊冬丢第笛敌等得德稻待答篡簇囱辞垂船处臭筹愁稠秤惩程乘称彻长策舱簿舶箔秉币彼笔鼻笨惫备版般稗笆奥矮",
"U鲞蹩翦粢羲羰羯羧羟羝竦翊癯癫癖癜癔癞癍瘳瘾癃瘵瘿瘰瘭癀瘠瘢瘼瘛瘙瘕瘘瘥瘊瘗瘌瘅瘀瘐痿痼痱瘃痧痫痤痦痨痣痍痖痂痃疰疱痄疸疴疳疣疬疝疠疖疔疒鹣鹚鹈鹇蠲戆恣恙飒歆旮甑瓿猷槊桊孳妾遒丬阚阙阗阖阕阒阏阍阌阋阊阈阆阄阃闾闼闶闵闳闱闫闩啻鄯鄣邶凇冼冽冱冫衮兖夔冁馘遵尊总姿资咨兹着准状壮妆装痔郑症疹瘴彰章站闸曾韵阅痈音益毅意疫冶养痒羊疡彦沿阎颜阉丫癣羞新辛效翔羡闲问闻瘟头痛童剃誊疼痰瘫遂塑送朔兽瘦首韶商善闪闰瘸券拳痊酋亲疗凉立痢冷兰阑辣阔况竣决卷眷疽疚净竞竟靖痉疥竭郊交酱奖桨浆将将姜减剪兼煎间冀疾羌歉前凄普剖瓶瞥痞疲旁叛判疟凝逆闹闽闷门美六瘤凌羚凛豢痪痕阂闺关羹阁疙羔赣盖冯疯阀兑端痘斗冻凋奠递弟帝盗道郸单瘩瘁凑次瓷慈疵闯疮冲痴阐产差部并病冰瘪憋鳖辫辩辨弊敝闭痹迸背北半瓣疤癌",
"V鼷鼹鼯鼬鼢暨艮舄舁臾鸠聿肀邕甾巛驽孥孀嬷嬗嬉嫜嫘嫦嫖嫱嫣媸嫔嫒媲嫫媾婷媛媪胬婵婢娼婕婊婧婀娓娣娴娲娉娌姹姘姣姝娆娅姗妯妲姒妤妞妫姊妗妣妪妩妍妃妁弩彐邋逯帑叟劭馗帚召杂娱尹姻姨姚妖巡寻婿絮旭姓嫌媳婉丸娃退迢她肃恕鼠始婶娠邵嫂如妊刃忍群隶姥恳垦郡君娟舅臼九姐剿娇建奸嫁妓既嫉即姬婚毁女怒努奴娘妮嫩奶娜那姆妙娩媚妹媒妈录灵好姑妇妨娥妒嫡刀逮巢剥",
"W黛雠隽隼隹翕翎衾颔颌鹪鹆鸺畲龛恁爨煲歙毹牮觎瓴戗璺岱坌郐兮龠俎佥佘氽仝儋儇僮僦僬僭儆僖傺傩傧傥偻偬偎偈偕偃偾倨倥倌倜俾倭倮倏倬俳偌倩俸俟俑俜俣俚俅俪俨俦侔侬佼侪佻佾侏侃侉侑佴佶伽伲佗佟佝佚攸佧佞伫伉伧伥仵佤伢仳伛仞仫仡仨仂仉仃亻劁坐作做佐仔追住众仲侄值侦仗债欲愈逾俞余舆佑悠优佣亿倚仪伊依爷仰佯叙修休信斜像仙侠侮伍瓮翁位伪伟途偷停体倘贪他僳俗颂怂耸似伺舒售侍仕使食什伸舍伤傻僧伞儒仍任人仁全倾禽侵僚敛俩俐例傈儡佬傀侩俊倔倦俱仅今介借侥焦僵剑健件俭价假佳祭伎集货伙会俏侨仟企仆凭贫偏僻盆佩偶您念你倪拿命们仑伦侣令领伶赁鳞邻化华候侯盒合何含刽癸谷估公供个鸽父阜付傅斧釜俯俘伏佛忿份分仿伐俄段侗爹佃低凳登倒但袋贷代傣催促丛从创传储仇侈倡偿豺岔侧仓伯饼便倍堡保傍伴颁佰爸八傲俺",
"X飨糸蠡颍鸶鸨犟畿幺缵缳缲缱缰缯缭缬缫缪缧缦缥缤缣缢缡缟缛缜缙缗缒缑缏缌缋缈缇缃缂缁绾绻绺绶缍绲绱绯绮绫绨绡绠绛绗绔绐绌绋绉绂绁绀纾纰纭纩纨纥纣纡纟鬻弼艴弭弪彘彖辔匕组纵综缀粥终纸旨织张绽约缘幼幽颖缨引绎肄彝疑绚续绪绣乡线弦纤细毋纹纬维统绦缩绥丝绳绅绍缮纱弱绒纫绕顷练缆绝绢纠经结皆绞缴疆缄纪继级缉绩绘强纽纳母缅绵弥络纶绿缕幻缓弧红弘贯弓给纲缚弗缝纷费纺缎缔弹绰纯绸弛缠编毖毙毕比绷绑绊",
"Y麟麝鏖麒麋麈麇麂縻麾麽饔銮綮翩颏颃鹫鹧鹑鸾憝扉扈扃戽戾旖旒旎旌旃旄旆於斓齑膂肓昶栾娈膺廪廨廛廑廒赓庳庾庵庹庠庥庖庋庑庀奕弈壅塾劾邡邙邝谶谵谳谲谯谮谫谪谧谥谡谠谟谝谘谛谙谖谕谔谒谑谏谌谇谄谂谀诿诼诹诶诳诰诮诩诨诤诠诟诜诙诘诖诔诓诒诎诏诋诃诂讷讵讴讪讧讦讠羸蠃嬴禀裒脔亵袤亳亠座诅族卒谆庄主诛诸诌州衷证诊这遮肇斋诈育语诱永雍庸赢应鹰译谊议诣义裔亦衣夜谣谚言讶讯训询玄旋畜序许谢谐享详襄席误诬紊文谓为妄忘望亡弯庭亭讨唐谈谭诉诵讼说谁衰庶熟孰试市识诗施设认让瓤庆请廖谅亮良恋廉离朗郎廊谰廓库课刻亢康诀就京谨诫讲肩记计剂讥迹诲讳谎敲谴谦讫弃启旗齐谱评烹庞诺亩谋魔摩磨谬庙谜糜靡氓盲谩蛮麻论孪挛峦率旅鹿庐刘吝话户亨毫豪亥裹郭诡广雇庚膏高该讣腐府讽废诽放访房方讹敦度读订谍调店底诞词床充诚颤谗诧斌遍卞变扁庇褒谤哀",
"@#%…&*()—;:”’?《》,。、~={}','|"};
/**
* 将中文汉字转换为首字母笔
*
* @param chinese 汉字字符串
* @return 首字五笔音字符串
*/
public static String toWBFirstLetter(String chinese) {
StringBuffer result = new StringBuffer();
// 用char循环取得每一个String的 字符
for (int i = 0; i < chinese.length(); i++) {
char temp1 = chinese.charAt(i);
int asciicode = (int)temp1;
// 如果是254以内的ASCII 表示是西文字母和字符,直接显示,无需翻译
if (asciicode >= 1 && asciicode <= 254) {
result.append(temp1);
} else {
// 循环遍历汉字五笔的字库(按照五笔首字符字符分组)
for (int j = 0; j < WB.length; j++) {
char[] dbTmp = WB[j].toCharArray();
// 循环遍历每个英文字母的字库
for (int k = 1; k < dbTmp.length; k++) {
// 找到
if ((int)temp1 == (int)dbTmp[k]) {
// 如果在WB最后一行表明是中文标点符号直接显示否则显示对应的五笔首字母(该行的第1个字符)
if (j == WB.length - 1) {
result.append(dbTmp[k]);
} else {
result.append(dbTmp[0]);
}
break;
}
}
}
}
}
return result.toString();
}
}

View File

@@ -22,8 +22,12 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static String YYYYMMDD = "yyyyMMdd";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
public static String YMDHMS_FOR_READ = "yyyy年MM月dd日 HH时mm分ss秒";
private static String[] parsePatterns = private static String[] parsePatterns =
{"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss",
"yyyy/MM/dd HH:mm", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; "yyyy/MM/dd HH:mm", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
@@ -90,6 +94,25 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
return DateFormatUtils.format(now, "yyyyMMdd"); return DateFormatUtils.format(now, "yyyyMMdd");
} }
/**
* 获取当日日期
*
* @return 当日日期
*/
public static final String today()
{
return dateTimeNow(YYYYMMDD);
}
/**
* 获取当日日期(可读)
* @return
*/
public static final String getStrYmdHmsRead()
{
return dateTimeNow(YMDHMS_FOR_READ);
}
/** /**
* 日期型字符串转化为日期 格式 * 日期型字符串转化为日期 格式
*/ */

View File

@@ -4,10 +4,14 @@
package com.openhis.web.datadictionary.controller; package com.openhis.web.datadictionary.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.core.common.enums.AssignSeqEnum;
import com.core.common.utils.AssignSeqUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -22,14 +26,11 @@ import com.openhis.administration.domain.ChargeItemDefApp;
import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.domain.ChargeItemDefinition;
import com.openhis.administration.service.IChargeItemDefAppService; import com.openhis.administration.service.IChargeItemDefAppService;
import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.administration.service.IChargeItemDefinitionService;
import com.openhis.administration.service.IDeviceDefinitionService;
import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.medication.service.IMedicationDefinitionService;
import com.openhis.web.datadictionary.dto.ChargeItemDefPageDto; import com.openhis.web.datadictionary.dto.ChargeItemDefPageDto;
import com.openhis.web.datadictionary.dto.ItemDefSearchParam; import com.openhis.web.datadictionary.dto.ItemDefSearchParam;
import com.openhis.web.datadictionary.dto.ItemDefinitionDto; import com.openhis.web.datadictionary.dto.ItemDefinitionDto;
import com.openhis.web.datadictionary.mapper.ChargeItemDefSearchMapper; import com.openhis.web.datadictionary.mapper.ChargeItemDefSearchMapper;
import com.openhis.workflow.service.IActivityDefinitionService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -50,12 +51,14 @@ public class ItemDefinitionController {
private IChargeItemDefAppService chargeItemDefAppService; private IChargeItemDefAppService chargeItemDefAppService;
@Autowired(required = false) @Autowired(required = false)
private ChargeItemDefSearchMapper chargeItemDefSearchMapper; private ChargeItemDefSearchMapper chargeItemDefSearchMapper;
// @Autowired(required = false)
// private IMedicationDefinitionService medicationDefinitionService;
// @Autowired(required = false)
// private IDeviceDefinitionService deviceDefinitionService;
// @Autowired(required = false)
// private IActivityDefinitionService activityDefinitionService;
@Autowired(required = false) @Autowired(required = false)
private IMedicationDefinitionService medicationDefinitionService; private AssignSeqUtil assignSeqUtil;
@Autowired(required = false)
private IDeviceDefinitionService deviceDefinitionService;
@Autowired(required = false)
private IActivityDefinitionService activityDefinitionService;
/** /**
* 项目定价列表 * 项目定价列表
@@ -130,8 +133,10 @@ public class ItemDefinitionController {
} }
// 通过 DefinitionType 区分药品定价/器具定价/手术定价 // 通过 DefinitionType 区分药品定价/器具定价/手术定价
if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) { if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) {
//获取定价列表
chargeItemDefinitionList = chargeItemDefinitionList =
chargeItemDefSearchMapper.getMedList(itemDefSearchParam, pageNo, pageSize, skipCount); chargeItemDefSearchMapper.getMedList(itemDefSearchParam, pageNo, pageSize, skipCount);
//设置分页条件
chargeItemDefinitionPage.setSize(pageSize); chargeItemDefinitionPage.setSize(pageSize);
chargeItemDefinitionPage.setCurrent(pageNo); chargeItemDefinitionPage.setCurrent(pageNo);
if (chargeItemDefinitionList.size() > 0) { if (chargeItemDefinitionList.size() > 0) {
@@ -141,10 +146,13 @@ public class ItemDefinitionController {
chargeItemDefinitionPage.setTotal(0); chargeItemDefinitionPage.setTotal(0);
chargeItemDefinitionPage.setRecords(new ArrayList<>()); chargeItemDefinitionPage.setRecords(new ArrayList<>());
} }
return R.ok(chargeItemDefinitionPage); return R.ok(chargeItemDefinitionPage,
MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
} else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) { } else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) {
//获取定价列表
chargeItemDefinitionList = chargeItemDefinitionList =
chargeItemDefSearchMapper.getDevList(itemDefSearchParam, pageNo, pageSize, skipCount); chargeItemDefSearchMapper.getDevList(itemDefSearchParam, pageNo, pageSize, skipCount);
//设置分页条件
chargeItemDefinitionPage.setSize(pageSize); chargeItemDefinitionPage.setSize(pageSize);
chargeItemDefinitionPage.setCurrent(pageNo); chargeItemDefinitionPage.setCurrent(pageNo);
if (chargeItemDefinitionList.size() > 0) { if (chargeItemDefinitionList.size() > 0) {
@@ -154,10 +162,13 @@ public class ItemDefinitionController {
chargeItemDefinitionPage.setTotal(0); chargeItemDefinitionPage.setTotal(0);
chargeItemDefinitionPage.setRecords(new ArrayList<>()); chargeItemDefinitionPage.setRecords(new ArrayList<>());
} }
return R.ok(chargeItemDefinitionPage); return R.ok(chargeItemDefinitionPage,
MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
} else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) { } else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) {
//获取定价列表
chargeItemDefinitionList = chargeItemDefinitionList =
chargeItemDefSearchMapper.getActList(itemDefSearchParam, pageNo, pageSize, skipCount); chargeItemDefSearchMapper.getActList(itemDefSearchParam, pageNo, pageSize, skipCount);
//设置分页条件
chargeItemDefinitionPage.setSize(pageSize); chargeItemDefinitionPage.setSize(pageSize);
chargeItemDefinitionPage.setCurrent(pageNo); chargeItemDefinitionPage.setCurrent(pageNo);
if (chargeItemDefinitionList.size() > 0) { if (chargeItemDefinitionList.size() > 0) {
@@ -167,9 +178,10 @@ public class ItemDefinitionController {
chargeItemDefinitionPage.setTotal(0); chargeItemDefinitionPage.setTotal(0);
chargeItemDefinitionPage.setRecords(new ArrayList<>()); chargeItemDefinitionPage.setRecords(new ArrayList<>());
} }
return R.ok(chargeItemDefinitionPage); return R.ok(chargeItemDefinitionPage,
MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
} else { } else {
return R.ok(); return R.ok(new Page<>(), MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
} }
} }
@@ -185,7 +197,7 @@ public class ItemDefinitionController {
ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition();
BeanUtils.copyProperties(itemDefinitionDto, chargeItemDefinition); BeanUtils.copyProperties(itemDefinitionDto, chargeItemDefinition);
if (!chargeItemDefinitionService.updateById(chargeItemDefinition)) { if (!chargeItemDefinitionService.updateById(chargeItemDefinition)) {
return R.fail(); return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
} }
// 更新收费项目adm_charge_item_def_app // 更新收费项目adm_charge_item_def_app
@@ -197,4 +209,45 @@ public class ItemDefinitionController {
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"费用定价"})) ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"费用定价"}))
: R.fail(PromptMsgConstant.Common.M00007, null); : R.fail(PromptMsgConstant.Common.M00007, null);
} }
/**
* 采番测试(例子,非常规代码,请勿调用)
*
* @return 采番测试结果
*/
@GetMapping(value = "/test-assign")
public R<?> getTestAssign() {
// 基础采番
String code = assignSeqUtil.getSeq(AssignSeqEnum.TEST.getPrefix());
// 控制长度采番(seqLength: 总长度)
String code1 = assignSeqUtil.getSeq(AssignSeqEnum.TEST.getPrefix(),8);
// 控制长度批量采番
List<String> code2 = assignSeqUtil.getSeq(AssignSeqEnum.TEST.getPrefix(),8,3);
// 获取编号
Integer code3 = assignSeqUtil.getSeqNo(AssignSeqEnum.TEST.getPrefix());
// 批量获取编号
List<Integer> code4 = assignSeqUtil.getSeqNo(AssignSeqEnum.TEST.getPrefix(),3);
// 每日采番
String code5 = assignSeqUtil.getSeqByDay(AssignSeqEnum.TEST.getPrefix());
// 每日按长度采番(seqLength: 日期后的数字位数)
String code6 = assignSeqUtil.getSeqByDay(AssignSeqEnum.TEST.getPrefix(),8);
// 每日批量采番
List<String> code7 = assignSeqUtil.getSeqByDay(AssignSeqEnum.TEST.getPrefix(),8,3);
// 每日获取编号
Integer code8 = assignSeqUtil.getSeqNoByDay(AssignSeqEnum.TEST.getPrefix());
// 每日批量获取编号
List<Integer> code9 = assignSeqUtil.getSeqNoByDay(AssignSeqEnum.TEST.getPrefix(),3);
Map<String, Object> map = new HashMap<>();
map.put("code",code);
map.put("code1",code1);
map.put("code2",code2);
map.put("code3",code3);
map.put("code4",code4);
map.put("code5",code5);
map.put("code6",code6);
map.put("code7",code7);
map.put("code8",code8);
map.put("code9",code9);
return R.ok(map);
}
} }

View File

@@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
public class ItemDefSearchParam { public class ItemDefSearchParam {
/** 定价类型 */ /** 定价类型 */
private String DefinitionType; private String definitionType;
/** 定价项目 */ /** 定价项目 */
private String chargeItem; private String chargeItem;
/** 模糊搜索条件 */ /** 模糊搜索条件 */

View File

@@ -0,0 +1,4 @@
package com.openhis.web.inpatientManage.Assembler;
public class AdmissionAssembler {
}

View File

@@ -0,0 +1,27 @@
package com.openhis.web.inpatientManage.controller;
import com.openhis.administration.service.IEncounterService;
import com.openhis.administration.service.IPatientService;
import com.openhis.web.inpatientManage.dto.AdmissionDto;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/inpatient-manage")
@Slf4j
@AllArgsConstructor
public class AdmissionController {
private final IEncounterService encounterService;
private final IPatientService patientService;
//办理入院
@PostMapping("admission")
public void addSupplyRequest(@Validated @RequestBody AdmissionDto admission) {
}
}

View File

@@ -0,0 +1,4 @@
package com.openhis.web.inpatientManage.dto;
public class AdmissionDto {
}

View File

@@ -0,0 +1,4 @@
package com.openhis.web.inpatientManage.dto;
public class AdmissionInitPageDto {
}

View File

@@ -48,6 +48,7 @@ import lombok.extern.slf4j.Slf4j;
@RequestMapping("/inventory-manage-purchase") @RequestMapping("/inventory-manage-purchase")
@Slf4j @Slf4j
public class PurchaseInventoryController { public class PurchaseInventoryController {
@Autowired @Autowired
private ISupplyRequestService supplyRequestService; private ISupplyRequestService supplyRequestService;
@Autowired @Autowired

View File

@@ -34,4 +34,12 @@ no.view.permission=您没有查看数据的权限,请联系管理员添加权
apl.common.M00001={0}添加成功
apl.common.M00002={0}保存成功 apl.common.M00002={0}保存成功
apl.common.M00003={0}已经存在
apl.common.M00004={0}操作成功
apl.common.M00005={0}删除成功
apl.common.M00006=操作失败,该数据已被他人删除,请刷新后重试
apl.common.M00007=操作失败,该数据已被他人更改,请刷新后重试
apl.common.M00008=请勿重复提交
apl.common.M00009=查询成功

View File

@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.datadictionary.mapper.ChargeItemDefSearchMapper"> <mapper namespace="com.openhis.web.datadictionary.mapper.ChargeItemDefSearchMapper">
<select id="getMedList" resultType="com.openhis.web.datadictionary.dto.ChargeItemDefPageDto"> <select id="getMedList" resultType="com.openhis.web.datadictionary.dto.ChargeItemDefPageDto">
@@ -73,7 +71,7 @@
<if test="itemDefSearchParam.getStatusEnum() != null"> <if test="itemDefSearchParam.getStatusEnum() != null">
AND T5.status_enum = #{itemDefSearchParam.statusEnum} AND T5.status_enum = #{itemDefSearchParam.statusEnum}
</if> </if>
<if test="itemDefSearchParam.getCategoryCode() != null"> <if test="itemDefSearchParam.getChargeItem() != null">
AND T5.category_code = #{itemDefSearchParam.chargeItem} AND T5.category_code = #{itemDefSearchParam.chargeItem}
</if> </if>
</where> </where>
@@ -151,7 +149,7 @@
<if test="itemDefSearchParam.getStatusEnum() != null"> <if test="itemDefSearchParam.getStatusEnum() != null">
AND T5.status_enum = #{itemDefSearchParam.statusEnum} AND T5.status_enum = #{itemDefSearchParam.statusEnum}
</if> </if>
<if test="itemDefSearchParam.getCategoryCode() != null"> <if test="itemDefSearchParam.getChargeItem() != null">
AND T5.category_code = #{itemDefSearchParam.chargeItem} AND T5.category_code = #{itemDefSearchParam.chargeItem}
</if> </if>
</where> </where>
@@ -225,7 +223,7 @@
<if test="itemDefSearchParam.getStatusEnum() != null"> <if test="itemDefSearchParam.getStatusEnum() != null">
AND T5.status_enum = #{itemDefSearchParam.statusEnum} AND T5.status_enum = #{itemDefSearchParam.statusEnum}
</if> </if>
<if test="itemDefSearchParam.getCategoryCode() != null"> <if test="itemDefSearchParam.getChargeItem() != null">
AND T5.category_code = #{itemDefSearchParam.chargeItem} AND T5.category_code = #{itemDefSearchParam.chargeItem}
</if> </if>
</where> </where>

View File

@@ -41,6 +41,10 @@ public interface PromptMsgConstant {
* 请勿重复提交 * 请勿重复提交
*/ */
String M00008 = "apl.common.M00008"; String M00008 = "apl.common.M00008";
/**
* 查询成功
*/
String M00009 = "apl.common.M00009";
} }

View File

@@ -0,0 +1,14 @@
package com.openhis.common.constant;
/**
* 表名常量
*
* @author system
*/
public class TableNameConstants {
/**
* 服务管理
*/
public static final String ADM_HEALTHCARE_SERVICE = "adm_healthcare_service";
}

View File

@@ -0,0 +1,27 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AccountBillingStatus {
OPEN (1, "open", "可用"),
CARECOMPLETE_NOTBILLED(2, "carecomplete-notbilled", "已出院未结账"),
CLOSED_BADDEBT(3, "closed-baddebt", "坏账"),
CLOSED_VOIDED(4, "closed-voided", "不再记账"),
CLOSED_COMPLETED(5, "closed-completed", "已结账"),
CLOSED_COMBINED(6, "closed-combined", "已合并");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,25 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AccountStatus {
ACTIVE (1, "active", "有效"),
INACTIVE(2, "inactive", "无效"),
ERROR(3, "entered-in-error", "错误"),
ON_HOLD(4, "on-hold", "冻结"),
UNKNOWN(5, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ActPriority {
ASAP(1, "A", "尽快,仅次于紧急状况后的最高优先级。"),
CALLBACK_RESULTS(2, "CR", "结果一出应立即通知申请者即使是初步结果。在HL7 2.3版的报告优先级中为'C'。)"),
ELECTIVE(3, "EL", "对患者有益但不是生存所必需的。"),
EMERGENCY(4, "EM", "一种未预见的情况组合或由此产生的需要立即采取行动的状态。"),
PREOP(5, "P", "表示某项服务将在计划手术之前执行。在订购服务并使用术前优先级时,会检查执行服务所需的时间。下达订单时,可以生成一条消息,指示所需的服务时间,以避免与计划手术的时间冲突。"),
AS_NEEDED(6, "PRN", "'按需'订单应附带构成需求的描述。此描述由作为先决条件的观察服务谓词表示。"),
ROUTINE(7, "R", "常规服务,在正常工作时间进行。"),
RUSH_REPORTING(8, "RR", "应尽快准备并发送报告。"),
STAT(9, "S", "最高优先级(例如,紧急情况)。"),
TIMING_CRITICAL(10, "T", "尽可能接近请求的时间至关重要(例如,对于通过抗菌水平)。"),
USE_AS_DIRECTED(11, "UD", "药物应按处方者的指示使用。"),
URGENT(12, "UR", "需要迅速采取行动。"),
CALLBACK_FOR_SCHEDULING(13, "CS", "填写者应联系申请者或目标以安排服务。在HL7 2.3版的TQ-优先级组件中为'C'。)"),
CALLBACK_PLACER_FOR_SCHEDULING(14, "CSP", "填写者应联系申请者以安排服务。在HL7 2.3版的TQ-优先级组件中为'C'。)"),
CONTACT_RECIPIENT_FOR_SCHEDULING(15, "CSR", "填写者应联系服务接受者目标以安排服务。在HL7 2.3版的TQ-优先级组件中为'C'。)");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,18 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AdministrativeGender {
MALE(1, "male", "男性"),
FEMALE(2, "female", "女性"),
OTHER(3, "other", "其他"),
UNKNOWN(9, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,28 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ChargeItemStatus {
PLANNED (1, "planned", "待收费"),
BILLABLE(2, "billable", "待结算"),
NOT_BILLABLE(3, "not-billable", "不可收费"),
ABORTED(4, "aborted", "终止"),
BILLED (5, "billed ", "已结算"),
ERROR(6, "entered-in-error", "错误"),
UNKNOWN(7, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,19 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ClaimType {
INSTITUTIONAL(1, "Institutional", "医院、诊所和通常的住院索赔。"),
ORAL(2, "Oral", "牙科、假牙和口腔卫生索赔。"),
PHARMACY(3, "Pharmacy", "药品和服务的药店索赔。"),
PROFESSIONAL(4, "Professional", "通常是来自医生、心理学家、脊椎治疗师、物理治疗师、言语病理学家、康复专家、咨询师的门诊索赔。"),
VISION(5, "Vision", "视力索赔,包括专业服务和产品,如眼镜和隐形眼镜。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,18 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ClaimUse {
CLAIM(1, "claim", "治疗已完成,这代表服务的索赔。"),
PREAUTHORIZATION(2, "preauthorization", "治疗已提议,这代表服务的预授权。"),
PREDETERMINATION(3, "predetermination", "治疗已提议,这代表服务的预决定。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,16 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionCategory {
PROBLEM(1, "problem-list-item", "问题列表"),
DIAGNOSIS(2, "encounter-diagnosis", "就诊诊断");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,22 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionClinicalStatus {
ACTIVE(1, "ACTIVE", "活跃The disease is currently active."),
RECURRENCE(2, "RECURRENCE", "复发The disease has recurred after a period of remission."),
RELAPSE(3, "RELAPSE", "再发The disease has relapsed after a period of improvement."),
INACTIVE(4, "INACTIVE", "不活跃The disease is currently inactive."),
REMISSION(5, "REMISSION", "体验复发风险The disease is in remission."),
RESOLVED(6, "RESOLVED", "康复The disease has been resolved."),
UNKNOWN(7, "UNKNOWN", "位置The disease status is unknown.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,20 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionDefinitionSource {
DISEASE_AND_DIAGNOSIS(1, "01", "疾病与诊断"),
CHRONIC_DISEASE_DIAGNOSIS_CATALOG(2, "02", "特慢病诊断目录"),
DIAGNOSIS_BY_DISEASE_CATALOG(3, "03", "按病种目录付费诊断"),
DAY_SURGERY_TREATMENT_DISEASE(4, "04", "日间手术治疗病种"),
TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS(5, "05", "中医诊断"),
TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG(6, "06", "中医证候目录");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,17 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionSeverity {
SEVERE(1, "severe", "严重的"),
MIDGRADE(2, "midgrade", "中等的"),
MILD(3, "mild", "温和的");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,21 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionVerificationStatus {
UNCONFIRMED(1, "UNCONFIRMED", "未确诊The disease status is unconfirmed."),
PROVISIONAL(2, "PROVISIONAL", "疑似诊断The disease status is provisional."),
DIFFERENTIAL(3, "DIFFERENTIAL", "多个诊断选项之一The diagnosis is one of several possibilities."),
CONFIRMED(4, "CONFIRMED", "已确诊The disease status has been confirmed."),
REFUTED(5, "REFUTED", "已排除The disease status has been refuted."),
ENTERED_IN_ERROR(6, "ENTERED_IN_ERROR", "The disease status was entered in error.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,24 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceCategory {
ACTIVE (1, "active", "有源的"),
COMMUNICATING(2, "communicating", "通讯类"),
HOMEUSE(3, "communicating", "非院内使用"),
IMPLANTABLE(4, "implantable", "植入类"),
IN_VITRO(5, "in-vitro", "试管类"),
POINT_OF_CARE(6, "point-of-care", "床旁类"),
SINGLE_USE(7, "single-use", "单次消耗类"),
REUSABLE(8, "reusable", "可重用的"),
SOFTWARE(9, "software", "软件类"),
DME(10, "dme", "治疗设备");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,28 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceSafety {
Magnetic_Resonance_Conditional(1, "C106046", "在MR环境中已证明安全的设备在定义条件下。至少应解决静态磁场、切换梯度磁场和射频场的条件。可能需要包括物品特定配置在内的其他条件。参见ASTM F2503"),
Magnetic_Resonance_Safe(2, "C106045", "该设备在暴露于任何MR环境时不会造成已知危害。MR安全物品由非导电、非金属和非磁性材料组成。请参阅ASTM F2503"),
Magnetic_Resonance_Unsafe(3, "C106047", "对患者、医务人员或MR环境内其他人员构成不可接受风险的设备。参见ASTM F2503"),
LABELING_DOES_NOT_CONTAIN_MRI_SAFETY_INFORMATION(4, "C113844", "标签者未在标签中提供使用设备在磁共振MR环境中的安全信息"),
LABELED_AS_CONTAINING_NATURAL_RUBBER_LATEX(5, "C101673", "该设备标签表明天然橡胶乳胶是其成分之一。"),
NOT_MADE_WITH_NATURAL_RUBBER_LATEX(6, "C106038", "该产品的材料组成不含有天然橡胶乳胶。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,19 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceStatus {
ACTIVE (1, "active", "有效"),
INACTIVE(2, "inactive", "无效"),
ERROR(3, "entered-in-error", "错误");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,26 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterClass {
IMP(1, "IMP", "住院"),
AMB(2, "AMB", "门诊"),
OBSENC(3, "OBSENC", "留观"),
EMER(4, "EMER", "急诊"),
VR(5, "VR", "线上"),
HH(6, "HH", "家庭");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,22 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterLocationStatus {
PLANNED(1, "planned", "已安排"),
ACTIVE(2, "active", "使用中"),
RESERVED(3, "reserved", "已保留"),
COMPLETED(4, "completed", "已用完");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterStatus {
PLANNED(1, "draft", "已安排"),
IN_PROGRESS(2, "in-progress", "进行中"),
ON_HOLD(3, "on-hold", "暂离"),
DISCHARGED(4, "on-discharged", "诊毕,出院"),
COMPLETED(5, "completed", "完成,已结算"),
CANCELLED(6, "cancelled", "已取消"),
DISCONTINUED(7, "discontinued", "已中断"),
IN_ERROR(8, "entered-in-error", "错误"),
UNKNOWN(9, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,25 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterSubjectStatus {
PLANNED(1, "arrived", "已到达"),
TRIAGED(2, "triaged", "已分诊"),
RECEIVING_CARE(3, "receiving-care", "已看诊"),
ON_LEAVE(4, "on-leave", "已离开"),
DEPARTED(5, "departed", "已完成");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,18 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterType {
INITIAL(1, "initial", "初诊"),
FOLLOW_UP(2, "follow-up", "复诊");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,76 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/*代码值 代码名称 对应7.28医疗类别med_type 在2203接口用到此信息
25 异地住院
26 单病种住院
27 自主就医
81 意外伤害门诊
15 特药
28 日间手术
61 照护保险
11 普通门诊
12 门诊挂号
13 急诊
14 门诊慢特病
990404 门诊特检特治(限吉林市)
21 普通住院
22 外伤住院
23 转外诊治住院
24 急诊转住院
41 定点药店购药
51 生育门诊
52 生育住院
5212 生育新生儿费用
16 中医特色门诊
29 起付线治疗
9107 体检
3101 低自付住院
3102 低自付门诊
140104 门诊慢病
140201 门诊特病
2114 舒缓疗护住院*/
@Getter
@AllArgsConstructor
public enum EncounterYbClass {
// 住院服务
ORDINARY_HOSPITALIZATION(21, "21" , "普通住院"),
FOREIGN_HOSPITALIZATION(25,"25", "异地住院"),
SINGLE_DIAGNOSIS_HOSPITALIZATION(26,"26", "单病种住院"),
INJURY_HOSPITALIZATION(22,"22", "外伤住院"),
TRANSFER_HOSPITALIZATION(23,"23", "转外诊治住院"),
EMERGENCY_TRANSFER_HOSPITALIZATION(24,"24", "急诊转住院"),
PALLIATIVE_CARE_HOSPITALIZATION(2114,"2114", "舒缓疗护住院"),
LOW_COPAY_HOSPITALIZATION(3101,"3101", "低自付住院"),
// 门诊服务
ORDINARY_OUTPATIENT(11,"11", "普通门诊"),
OUTPATIENT_REGISTRATION(12,"12", "门诊挂号"),
EMERGENCY(13,"13", "急诊"),
CHRONIC_SPECIAL_OUTPATIENT(14,"14", "门诊慢特病"),
SPECIAL_MEDICATION(15,"15", "特药"),
TRADITIONAL_CHINESE_MEDICINE_OUTPATIENT(16,"16", "中医特色门诊"),
OUTPATIENT_SPECIAL_EXAMINATION_TREATMENT(990404,"990404", "门诊特检特治(限吉林市)"),
CHRONIC_DISEASE_OUTPATIENT(140104,"140104", "门诊慢病"),
SPECIAL_DISEASE_OUTPATIENT(140201,"140201", "门诊特病"),
LOW_COPAY_OUTPATIENT(3102,"3102", "低自付门诊"),
// 其他服务
SELF_MEDICATION(27,"27", "自主就医"),
ACCIDENTAL_INJURY_OUTPATIENT(81,"81", "意外伤害门诊"),
DAY_SURGERY(28,"28", "日间手术"),
NURSING_INSURANCE(61,"61", "照护保险"),
PHARMACY_PURCHASE(41,"41", "定点药店购药"),
MATERNITY_OUTPATIENT(51,"51", "生育门诊"),
MATERNITY_HOSPITALIZATION(52,"52", "生育住院"),
MATERNITY_NEWBORN_COST(5212,"5212", "生育新生儿费用"),
DEDUCTIBLE_TREATMENT(29,"29", "起付线治疗"),
PHYSICAL_EXAMINATION(9107,"9107", "体检");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,24 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EventStatus {
PREPARATION(1, "PREP", "Preparation stage, gathering resources and planning."),
IN_PROGRESS(2, "IP", "Task is currently being worked on."),
NOT_DONE(3, "ND", "Task has not been completed."),
ON_HOLD(4, "OH", "Task is temporarily paused."),
STOPPED(5, "ST", "Task has been stopped."),
COMPLETED(6, "CMP", "Task has been completed."),
ENTERED_IN_ERROR(7, "EIE", "Task status was entered in error."),
UNKNOWN(8, "UNK", "Task status is unknown.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,19 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum FinancialResourceStatus {
ACTIVE(1, "ACTIVE", "The status is active."),
CANCELLED(2, "CANCELLED", "The status has been cancelled."),
DRAFT(3, "DRAFT", "The status is in draft mode."),
IN_ERROR(4, "ENTERED_IN_ERROR", "The status was entered in error.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,24 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum InvoiceStatus {
DRAFT(1, "draft", "发票已经准备好了,但尚未定稿。"),
ISSUED(2, "issued", "发票已定稿并发给了收款人。"),
BALANCED(2, "balanced", "发票已结清/完全付清了。"),
CANCELLED(2, "cancelled", "这张发票作废了。"),
ERROR(3, "entered-in-error", "这张发票在开出去之前就被确定为是填错了的。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,20 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationBedStatus {
C (1, "C", "关闭"),
H (2, "H", "整理"),
O (3, "O", "占用"),
U (4, "U", "空闲"),
K (5, "K", "污染"),
I (6, "I", "隔离");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationForm {
SITE(1, "si", "集合点A collection of buildings or other locations such as a site or a campus."),
BUILDING(2, "bu", "建筑Any Building or structure. This may contain rooms, corridors, wings, etc. It might not have walls, or a roof, but is considered a defined/allocated space."),
WING(3, "wi", "连廊A Wing within a Building, this often contains levels, rooms and corridors."),
WARD(4, "wa", "病区A Ward is a section of a medical facility that may contain rooms and other types of location."),
LEVEL(5, "lvl", "楼层A Level in a multi-level Building/Structure."),
CORRIDOR(6, "co", "走廊Any corridor within a Building, that may connect rooms."),
ROOM(7, "ro", "诊室A space that is allocated as a room, it may have walls/roof etc., but does not require these."),
BED(8, "bd", "床A space that is allocated for sleeping/laying on. This is not the physical bed/trolley that may be moved about, but the space it may occupy."),
VEHICLE(9, "ve", "运输工具A means of transportation."),
HOUSE(10, "ho", "病房A residential dwelling. Usually used to reference a location that a person/patient may reside."),
CABINET(11, "ca", "库房A container that can store goods, equipment, medications or other items."),
ROAD(12, "rd", "路A defined path to travel between 2 points that has a known name."),
AREA(13, "area", "区域A defined physical boundary of something, such as a flood risk zone, region, postcode"),
JURISDICTION(14, "jdn", "适用范围A wide scope that covers a conceptual domain, such as a Nation (Country wide community or Federal Government - e.g. Ministry of Health), Province or State (community or Government), Business (throughout the enterprise), Nation with a business scope of an agency (e.g. CDC, FDA etc.) or a Business segment (UK Pharmacy), not just an physical boundary"),
VIRTUAL(15, "vi", "虚拟A location that is virtual in nature, such as a conference call or virtual meeting space");
// PHARMACY(16, "ph", "药房"),
// PHARMACY_WINDOW(17, "phw", "发药窗口"),
// PHARMACY_TABLE(18, "dt", "摆药台"),
// NURSE_STATION(19, "ns", "护士站"),
// PERSON_STORE(20, "ps", "个人储物柜"),
// DOCTOR_TABLE(21, "dt", "医生诊台");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,18 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationMode {
INSTANCE (1, "instance", "具体"),
KIND(2, "Kind", "种类");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,19 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationStatus {
ACTIVE (1, "active", "有效"),
INACTIVE(2, "inactive", "无效"),
SUSPENDED(3, "suspended", "临时关闭");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,24 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum MaritalStatus {
UNMARRIED(10, "10", "未婚"),
MARRIED(20, "20", "已婚"),
FIRST_MARRIAGE(21, "21", "初婚"),
SECOND_MARRIAGE(22, "22", "再婚"),
REMARRIED(23, "23", "复婚"),
WIDOWED(30, "30", "丧偶"),
DIVORCED(40, "40", "离婚"),
UNSPECIFIED(90, "90", "未说明的婚姻状况");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,27 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OccupationType {
STATE_CIVIL_SERVANT(11, "11", "国家公务员"),
PROFESSIONAL(13, "13", "专业技术人员"),
CLERK(17, "17", "职员"),
BUSINESS_MANAGER(21, "21", "企业管理人员"),
WORKER(24, "24", "工人"),
FARMER(27, "27", "农民"),
STUDENT(31, "31", "学生"),
ACTIVE_MILITARY(37, "37", "现役军人"),
FREELANCER(51, "51", "自由职业者"),
SELF_EMPLOYED(54, "54", "个体经营者"),
UNEMPLOYED(70, "70", "无业人员"),
RETIREE(80, "80", "退(离)休人员"),
OTHER(90, "90", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,23 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OrganizationClass {
CLINIC(1, "clinic", "门诊"),
INPATIENT(2, "inpatient", "住院"),
PHARMACY(3, "pharmacy", "药房"),
STORAGE(4, "storage", "库房"),
FIN(5, "fin", "财务"),
NS(6, "ns", "护士站"),
MANAGER(7, "manager", "管理部门"),
SUPPORT(8, "support", "后勤部门"),
OTHER(9, "other", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,50 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OrganizationType {
// Healthcare Provider
HEALTHCARE_PROVIDER(1, "Healthcare Provider", "An organization that provides healthcare services."),
// Hospital Department
HOSPITAL_DEPARTMENT(2, "Hospital Department", "A department or ward within a hospital (Generally is not applicable to top level organizations)"),
// Organizational team
ORGANIZATIONAL_TEAM(3, "Organizational team", "An organizational team is usually a grouping of practitioners that perform a specific function within an organization (which could be a top level organization, or a department)."),
// Government
GOVERNMENT(4, "Government", "A political body, often used when including organization records for government bodies such as a Federal Government, State or Local Government."),
// Insurance Company
INSURANCE_COMPANY(5, "Insurance Company", "A company that provides insurance to its subscribers that may include healthcare related policies."),
// Payer
PAYER(6, "Payer", "A company, charity, or governmental organization, which processes claims and/or issues payments to providers on behalf of patients or groups of patients."),
// Educational Institute
EDUCATIONAL_INSTITUTE(7, "Educational Institute", "An educational institution that provides education or research facilities."),
// Religious Institution
RELIGIOUS_INSTITUTION(8, "Religious Institution", "An organization that is identified as a part of a religious institution."),
// Clinical Research Sponsor
CLINICAL_RESEARCH_SPONSOR(9, "Clinical Research Sponsor", "An organization that is identified as a Pharmaceutical/Clinical Research Sponsor."),
// Community Group
COMMUNITY_GROUP(10, "Community Group", "An un-incorporated community group."),
// Non-Healthcare Business or Corporation
NON_HEALTHCARE_BUSINESS(11, "Non-Healthcare Business or Corporation", "An organization that is a registered business or corporation but not identified by other types."),
// Network
NETWORK(12, "Network", "A healthcare provider insurance network");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,25 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ProcedureCategory {
PSYCHIATRY(1, "24642003", "精神疗法A procedure or service related to psychiatry."),
COUNSELLING(2, "409063005", "咨询A form of advice or guidance, typically provided by a professional."),
EDUCATION(3, "409073007", "宣教The process of imparting or acquiring general knowledge, developing the powers of reasoning and judgment, and generally of preparing oneself or others intellectually for mature life."),
SURGICAL(4, "387713003", "手术A procedure involving a surgical operation."),
LABORATORY(5, "15220000", "化验A test performed in a laboratory setting to obtain information about the health of a patient."),
IMAGING(6, "363679005", "影像A procedure that involves the use of imaging technology to visualize internal structures of the body."),
MEASUREMENT(7, "122869004", "测量The action or process of measuring something."),
MANIPULATION(8, "46947000", "治疗A therapeutic procedure involving the manipulation of the spine or other parts of the body to alleviate pain or discomfort."),
SOCIAL_SERVICE(9, "410606002", "社会相关A procedure related to providing social services.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,23 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum PublicationStatus {
DRAFT(1, "draft", "草稿"),
ACTIVE(2, "active", "有效"),
RETIRED(3, "retired", "停用"),
UNKNOWN(4, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,18 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum SupplierType {
DRAFT(1, "1", "生产商"),
ACTIVE(2, "2", "供应商");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -1,13 +1,14 @@
package com.openhis.administration.domain; package com.openhis.administration.domain;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.AccountBillingStatus;
import com.openhis.common.enums.AccountStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -29,10 +30,10 @@ public class Account extends HisBaseEntity {
private Long id; private Long id;
/** 状态枚举 */ /** 状态枚举 */
private Integer statusEnum; private AccountStatus statusEnum;
/** 结账状态枚举 */ /** 结账状态枚举 */
private Integer billingStatusEnum; private AccountBillingStatus billingStatusEnum;
/** 账户类型编码 */ /** 账户类型编码 */
private String typeCode; private String typeCode;

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.ChargeItemStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -29,7 +30,7 @@ public class ChargeItem extends HisBaseEntity {
private Long id; private Long id;
/** 状态 */ /** 状态 */
private Integer statusEnum; private ChargeItemStatus statusEnum;
/** 层级 */ /** 层级 */
private String busNo; private String busNo;
@@ -106,6 +107,9 @@ public class ChargeItem extends HisBaseEntity {
/** 索赔结果 */ /** 索赔结果 */
private Integer claimStateEnum; private Integer claimStateEnum;
/** 打印次数 */
private Integer printCount;
/** 关联账户ID */ /** 关联账户ID */
private Long accountId; private Long accountId;

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.PublicationStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -35,7 +36,7 @@ public class ChargeItemDefinition extends HisBaseEntity {
private String title; private String title;
/** 状态 */ /** 状态 */
private Integer statusEnum; private PublicationStatus statusEnum;
/** 机构编码 */ /** 机构编码 */
private String orgCode; private String orgCode;
@@ -66,6 +67,4 @@ public class ChargeItemDefinition extends HisBaseEntity {
/** 基础价格 */ /** 基础价格 */
private BigDecimal price; private BigDecimal price;
} }

View File

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.DeviceCategory;
import com.openhis.common.enums.DeviceSafety;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -68,10 +70,10 @@ public class Device extends HisBaseEntity {
private String partNumber; private String partNumber;
/** 器材种类 */ /** 器材种类 */
private Integer categoryEnum; private DeviceCategory categoryEnum;
/** 器材类型 */ /** 器材类型 */
private Integer typeEnum; private String typeCode;
/** 器材版本 */ /** 器材版本 */
private String version; private String version;
@@ -89,7 +91,7 @@ public class Device extends HisBaseEntity {
private String support; private String support;
/** 器材安全 */ /** 器材安全 */
private Integer safetyEnum; private DeviceSafety safetyEnum;
} }

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.DeviceCategory;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -41,10 +42,10 @@ public class DeviceDefinition extends HisBaseEntity {
private String wbStr; private String wbStr;
/** 器材分类 */ /** 器材分类 */
private String deviceCode; private DeviceCategory categoryEnum;
/** 器材种类 */ /** 器材种类 */
private String deviceTypeCode; private String typeCode;
/** 包装单位 */ /** 包装单位 */
private String unitCode; private String unitCode;

View File

@@ -1,6 +1,5 @@
package com.openhis.administration.domain; package com.openhis.administration.domain;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
@@ -8,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.*;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -16,7 +16,6 @@ import lombok.experimental.Accessors;
* 就诊管理Entity实体 * 就诊管理Entity实体
* *
* @author system * @author system
* @date 2025-02-20
*/ */
@Data @Data
@TableName("adm_encounter") @TableName("adm_encounter")
@@ -38,10 +37,10 @@ public class Encounter extends HisBaseEntity {
private String busNo; private String busNo;
/** 状态编码 */ /** 状态编码 */
private String statusCode; private EncounterStatus statusEnum;
/** 类别编码 */ /** 类别编码 */
private Integer classEnum; private EncounterClass classEnum;
/** 类别医保编码 */ /** 类别医保编码 */
private Integer ybClassEnum; private Integer ybClassEnum;
@@ -50,16 +49,16 @@ public class Encounter extends HisBaseEntity {
private String classJson; private String classJson;
/** 优先级编码 */ /** 优先级编码 */
private Integer priorityEnum; private ActPriority priorityEnum;
/** 分类编码 */ /** 分类编码 */
private Integer typeEnum; private EncounterType typeEnum;
/** 服务ID */ /** 服务ID */
private Long serviceTypeId; private Long serviceTypeId;
/** 就诊对象状态 */ /** 就诊对象状态 */
private Integer subjectStatusEnum; private EncounterSubjectStatus subjectStatusEnum;
/** 开始时间 */ /** 开始时间 */
private Date startTime; private Date startTime;

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.EncounterLocationStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -35,7 +36,7 @@ public class EncounterLocation extends HisBaseEntity {
private Long locationId; private Long locationId;
/** 状态枚举 */ /** 状态枚举 */
private Integer statusEnum; private EncounterLocationStatus statusEnum;
/** 物理形式枚举 */ /** 物理形式枚举 */
private Integer formEnum; private Integer formEnum;

View File

@@ -0,0 +1,19 @@
package com.openhis.administration.domain;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum IdentifierUse {
USUAL(1, "USUAL", "Usual item"),
OFFICIAL(2, "OFFICIAL", "Official item"),
TEMP(3, "TEMP", "Temporary item"),
SECONDARY(4, "SECONDARY", "Secondary item"),
OLD(5, "OLD", "Old item");
@EnumValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.InvoiceStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -32,7 +33,7 @@ public class Invoice extends HisBaseEntity {
private Long patientId; private Long patientId;
/** 状态 */ /** 状态 */
private Integer statusEnum; private InvoiceStatus statusEnum;
/** 类别 */ /** 类别 */
private String typeCode; private String typeCode;

View File

@@ -8,6 +8,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.LocationBedStatus;
import com.openhis.common.enums.LocationForm;
import com.openhis.common.enums.LocationMode;
import com.openhis.common.enums.LocationStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -35,13 +39,16 @@ public class Location extends HisBaseEntity {
private String name; private String name;
/** 状态编码 */ /** 状态编码 */
private Integer statusEnum; private LocationStatus statusEnum;
/** 操作状态 */ /** 操作状态 */
private Integer operationalEnum; private LocationBedStatus operationalEnum;
/** 模式编码 */ /** 模式编码 */
private Integer modeEnum; private LocationMode modeEnum;
/** 模式编码 */
private String typeCode;
/** 功能编码 */ /** 功能编码 */
private String typeJson; private String typeJson;
@@ -53,7 +60,7 @@ public class Location extends HisBaseEntity {
private String wbStr; private String wbStr;
/** 物理形式枚举 */ /** 物理形式枚举 */
private String formEnum; private LocationForm formEnum;
/** 机构编码 */ /** 机构编码 */
private Long organizationId; private Long organizationId;

View File

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.OrganizationClass;
import com.openhis.common.enums.OrganizationType;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -38,10 +40,10 @@ public class Organization extends HisBaseEntity {
private Integer activeFlag; private Integer activeFlag;
/** 机构类型枚举 */ /** 机构类型枚举 */
private Integer typeEnum; private OrganizationType typeEnum;
/** 机构分类枚举 */ /** 机构分类枚举 */
private Integer classEnum; private OrganizationClass classEnum;
/** 拼音码 */ /** 拼音码 */
private String pyStr; private String pyStr;

View File

@@ -8,6 +8,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.AdministrativeGender;
import com.openhis.common.enums.MaritalStatus;
import com.openhis.common.enums.OccupationType;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -44,7 +47,7 @@ public class Patient extends HisBaseEntity {
private String busNo; private String busNo;
/** 性别编码 */ /** 性别编码 */
private Integer genderEnum; private AdministrativeGender genderEnum;
/** 生日 */ /** 生日 */
private Date birthDate; private Date birthDate;
@@ -53,10 +56,10 @@ public class Patient extends HisBaseEntity {
private Date deceasedDate; private Date deceasedDate;
/** 婚姻状态 */ /** 婚姻状态 */
private Integer maritalStatusEnum; private MaritalStatus maritalStatusEnum;
/** 职业编码 */ /** 职业编码 */
private Integer prfsEnum; private OccupationType prfsEnum;
/** 电话 */ /** 电话 */
private String phone; private String phone;

View File

@@ -35,7 +35,7 @@ public class PatientIdentifier extends HisBaseEntity {
private String identifierNo; private String identifierNo;
/** 标识状态枚举 */ /** 标识状态枚举 */
private Integer stateEnum; private IdentifierUse stateEnum;
/** 有效时间Start */ /** 有效时间Start */
private Date startTime; private Date startTime;

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.AdministrativeGender;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -38,7 +39,7 @@ public class Practitioner extends HisBaseEntity {
private String nameJson; private String nameJson;
/** 性别编码 */ /** 性别编码 */
private Integer genderEnum; private AdministrativeGender genderEnum;
/** 生日 */ /** 生日 */
private Date birthDate; private Date birthDate;

View File

@@ -58,5 +58,4 @@ public class Supplier extends HisBaseEntity {
/** 机构编号 */ /** 机构编号 */
private Long orgId; private Long orgId;
} }

View File

@@ -29,7 +29,7 @@ public class ChargeItemServiceImpl extends ServiceImpl<ChargeItemMapper, ChargeI
@Override @Override
public boolean saveChargeItem(ChargeItem chargeItem) { public boolean saveChargeItem(ChargeItem chargeItem) {
// 假设此处有业务相关处理 // 假设此处有业务相关处理
if (chargeItem.getCode() == null) { if (chargeItem.getBusNo() == null) {
return false; return false;
} }
return chargeItemMapper.insert(chargeItem) > 0; return chargeItemMapper.insert(chargeItem) > 0;

View File

@@ -8,6 +8,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.ConditionCategory;
import com.openhis.common.enums.ConditionClinicalStatus;
import com.openhis.common.enums.ConditionSeverity;
import com.openhis.common.enums.ConditionVerificationStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -29,16 +33,16 @@ public class Condition extends HisBaseEntity {
private Long id; private Long id;
/** 验证状态 */ /** 验证状态 */
private Integer verificationStatusEnum; private ConditionVerificationStatus verificationStatusEnum;
/** 临床特征 */ /** 临床特征 */
private Integer clinicalStatusEnum; private ConditionClinicalStatus clinicalStatusEnum;
/** 分类 */ /** 分类 */
private Integer categoryEnum; private ConditionCategory categoryEnum;
/** 严重程度 */ /** 严重程度 */
private Integer severityEnum; private ConditionSeverity severityEnum;
/** 疾病或诊断编码 */ /** 疾病或诊断编码 */
private String busNo; private String busNo;

View File

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.ConditionDefinitionSource;
import com.openhis.common.enums.PublicationStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -29,7 +31,7 @@ public class ConditionDefinition extends HisBaseEntity {
private Long id; private Long id;
/** 所属分类 */ /** 所属分类 */
private Integer sourceEnum; private ConditionDefinitionSource sourceEnum;
/** 编码 */ /** 编码 */
private String condition_code; private String condition_code;
@@ -59,7 +61,7 @@ public class ConditionDefinition extends HisBaseEntity {
private Integer ybMatchFlag; private Integer ybMatchFlag;
/** 状态 */ /** 状态 */
private Integer statusEnum; private PublicationStatus statusEnum;
} }

View File

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.EventStatus;
import com.openhis.common.enums.ProcedureCategory;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -35,13 +37,13 @@ public class Procedure extends HisBaseEntity {
private Long baseMedReqId; private Long baseMedReqId;
/** 当前状态 */ /** 当前状态 */
private Integer statusEnum; private EventStatus statusEnum;
/** 当前状态原因 */ /** 当前状态原因 */
private String statusReasonText; private String statusReasonText;
/** 分类 */ /** 分类 */
private Integer categoryEnum; private ProcedureCategory categoryEnum;
/** 手术编码 */ /** 手术编码 */
private String procedureCode; private String procedureCode;

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.ClaimUse;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -41,7 +42,7 @@ public class Claim extends HisBaseEntity {
private String subtypeCode; private String subtypeCode;
/** 用途 */ /** 用途 */
private Integer useEnum; private ClaimUse useEnum;
/** 索赔指向 */ /** 索赔指向 */
private Integer insurerEnum; private Integer insurerEnum;