主业务添加代码
This commit is contained in:
parent
5d32a1105c
commit
f85f756f12
@ -165,4 +165,39 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
||||
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
||||
return Date.from(zdt.toInstant());
|
||||
}
|
||||
/**
|
||||
* 根据 Date 对象获取周几(周1-周7)
|
||||
* @param date 目标日期
|
||||
* @return 1-7
|
||||
*/
|
||||
public static int getWeekDay(Date date) {
|
||||
// Date 转 LocalDate(默认系统时区)
|
||||
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||
// 获取周索引:Monday=1,Sunday=7(更符合日常认知)
|
||||
return localDate.getDayOfWeek().getValue();
|
||||
}
|
||||
/**
|
||||
* 根据 Date 对象获取周几(中文)
|
||||
* @param date 目标日期
|
||||
* @return 中文周几(如 "周一"、"周日")
|
||||
*/
|
||||
public static String getWeekDayName(Date date) {
|
||||
// Date 转 LocalDate(默认系统时区)
|
||||
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||
// 获取周索引:Monday=1,Sunday=7(更符合日常认知)
|
||||
int weekIndex= localDate.getDayOfWeek().getValue();
|
||||
String[] weekDays = {"", "周一", "周二", "周三", "周四", "周五", "周六", "周日"};
|
||||
return weekDays[weekIndex];
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前时间(时分秒)
|
||||
* @param date
|
||||
* @param format HH:mm/HH:mm:ss/hh:mm:ss a
|
||||
* @return
|
||||
*/
|
||||
public static String time(Date date,String format) {
|
||||
SimpleDateFormat hourMinFormatter = new SimpleDateFormat("HH:mm");
|
||||
return hourMinFormatter.format(date);
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,55 @@ import java.util.Date;
|
||||
public interface LisWorkOperService {
|
||||
Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId);
|
||||
Result changePat(LabPat labPat);
|
||||
|
||||
/**
|
||||
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
|
||||
*
|
||||
* @param jyrq
|
||||
* @param yq
|
||||
* @param ybh
|
||||
* @return
|
||||
*/
|
||||
Result saveallresult(Date jyrq, String yq, String ybh);
|
||||
/**
|
||||
* 结果表补充申请单项目代码
|
||||
*
|
||||
* @param jyrq
|
||||
* @param yq
|
||||
* @param ybh
|
||||
*/
|
||||
void setItemSqxmdh(Date jyrq, String yq, String ybh);
|
||||
/**
|
||||
* 审核报告
|
||||
* @param jyrq
|
||||
* @param yq
|
||||
* @param ybh
|
||||
* @param hdys
|
||||
* @return
|
||||
*/
|
||||
Result confirm(Date jyrq, String yq, String ybh, String hdys);
|
||||
/**
|
||||
* 计算项目参考值结果异常标志
|
||||
*
|
||||
* @param jyrq
|
||||
* @param yq
|
||||
* @param ybh
|
||||
*/
|
||||
Result saverefs(Date jyrq, String yq, String ybh);
|
||||
/**
|
||||
* 计算项目增加及重新计算
|
||||
*
|
||||
* @param jyrq
|
||||
* @param yq
|
||||
* @param ybh
|
||||
*/
|
||||
Result calcsample(Date jyrq, String yq, String ybh);
|
||||
/**
|
||||
* 获取常用取值结果标志
|
||||
*
|
||||
* @param yq
|
||||
* @param xmdh
|
||||
* @param csjg
|
||||
* @return
|
||||
*/
|
||||
String getitemlmtflag(String yq, String xmdh, String csjg);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.czlis.liswork.service.impl;
|
||||
|
||||
|
||||
import com.czlis.common.core.domain.entity.lis.*;
|
||||
import com.czlis.common.utils.DateUtils;
|
||||
import com.czlis.common.utils.SecurityUtils;
|
||||
import com.czlis.common.utils.ServletUtils;
|
||||
import com.czlis.common.utils.StringUtils;
|
||||
@ -23,6 +24,7 @@ import com.czlis.liswork.pojo.DTO.ResultCalcDTO;
|
||||
import com.czlis.liswork.service.LisWorkOperService;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import lombok.val;
|
||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -264,6 +266,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
String f_check1 = commonUtil.getComOptValue(yq, "f_check1");
|
||||
if ("1".equals(f_check1)) return new Result("-1", "审核前必须先初审!");
|
||||
}
|
||||
if(checkWorkTime(labPat)==1)return new Result("-1", "核对医生不允许与检验医生相同!");
|
||||
String limit_brly = commonUtil.getHISOPT("limit_brly");
|
||||
String brly = labPat.getBrly();
|
||||
if ("1".equals(limit_brly) && (brly == null || "".equals(brly)))
|
||||
@ -548,6 +551,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
* @param jyrq
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Result saveallresult(Date jyrq, String yq, String ybh) {
|
||||
int finsh=1;
|
||||
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||
@ -581,7 +585,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
}
|
||||
return new Result("0", "保存成功!");
|
||||
}
|
||||
|
||||
//内部使用
|
||||
private int saveallresult(LabPat labPat) {
|
||||
Date jyrq = labPat.getJyrq();
|
||||
@ -607,7 +610,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh);
|
||||
return wjz;
|
||||
}
|
||||
|
||||
/**
|
||||
* 结果表补充申请单项目代码
|
||||
*
|
||||
@ -615,6 +617,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
* @param yq
|
||||
* @param ybh
|
||||
*/
|
||||
@Override
|
||||
public void setItemSqxmdh(Date jyrq, String yq, String ybh) {
|
||||
String sqh = commonUtil.getSqhByKey(jyrq, yq, ybh);
|
||||
if (sqh == null || "".equals(sqh)) {
|
||||
@ -622,7 +625,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
setItemSqxmdh(jyrq, yq, ybh, sqh);
|
||||
}
|
||||
}
|
||||
|
||||
//内部使用
|
||||
private void setItemSqxmdh(Date jyrq, String yq, String ybh, String sqh) {
|
||||
if (sqh != null && !"".equals(sqh)) {
|
||||
@ -635,7 +637,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目增加及重新计算
|
||||
*
|
||||
@ -643,12 +644,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
* @param yq
|
||||
* @param ybh
|
||||
*/
|
||||
@Override
|
||||
public Result calcsample(Date jyrq, String yq, String ybh) {
|
||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||
calcsample(labPat);
|
||||
return new Result("0", "保存成功!");
|
||||
}
|
||||
|
||||
//内部使用
|
||||
private void calcsample(LabPat labPat) {
|
||||
Date jyrq = labPat.getJyrq();
|
||||
@ -705,7 +706,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目参考值结果异常标志
|
||||
*
|
||||
@ -713,6 +713,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
* @param yq
|
||||
* @param ybh
|
||||
*/
|
||||
@Override
|
||||
public Result saverefs(Date jyrq, String yq, String ybh) {
|
||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||
int wjz = saverefs(labPat);
|
||||
@ -728,7 +729,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
return new Result("0", "保存成功!");
|
||||
}
|
||||
//内部使用
|
||||
|
||||
/**
|
||||
* 计算项目参考值结果异常标志(内部使用)
|
||||
*
|
||||
@ -799,7 +799,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 明细结果计算参考值异常标志危急值标志并更新
|
||||
*
|
||||
@ -915,7 +914,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
if (!"".equals(wjzflag)) wjz = 1;
|
||||
return wjz;
|
||||
}
|
||||
|
||||
/**
|
||||
* 特定条件危急值判断
|
||||
*
|
||||
@ -989,7 +987,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
if (lb_hasval) return 0;
|
||||
else return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取常用取值结果标志
|
||||
*
|
||||
@ -998,6 +995,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
* @param csjg
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String getitemlmtflag(String yq, String xmdh, String csjg) {
|
||||
String jgbz = "";
|
||||
if (csjg == null || csjg.isEmpty()) {
|
||||
@ -1017,4 +1015,43 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
}
|
||||
return jgbz;
|
||||
}
|
||||
|
||||
/**
|
||||
* 工作时间校验检验者审核者不允许相同 上班时间上午8点-12点下午2点到5点,周末不算
|
||||
* @param labPat
|
||||
* @return 返回0通过,返回1不允许相同
|
||||
*/
|
||||
private int checkWorkTime(LabPat labPat){
|
||||
String yhdh = labPat.getYhdh();
|
||||
String hdys = labPat.getHdys();
|
||||
if(yhdh==null || yhdh.isEmpty()) return 0;
|
||||
if(hdys==null || hdys.isEmpty()) return 0;
|
||||
if(!yhdh.equals(hdys)) return 0;
|
||||
String sb1=commonUtil.getHISOPT("SHTIME1");
|
||||
String sb2=commonUtil.getHISOPT("SHTIME2");
|
||||
String sb3=commonUtil.getHISOPT("SHTIME3");
|
||||
String sb4=commonUtil.getHISOPT("SHTIME4");
|
||||
if((sb1==null || sb1.isEmpty()) && (sb2==null || sb2.isEmpty()) && (sb3==null || sb3.isEmpty()) && (sb4==null || sb4.isEmpty())) return 0;
|
||||
Date currenttime=DateUtils.getNowDate();
|
||||
int weekDay = DateUtils.getWeekDay(currenttime);
|
||||
//周末不算
|
||||
if(weekDay==6 && weekDay==7) return 0;
|
||||
int lt_now= Integer.parseInt(DateUtils.time(currenttime,"HH:mm").replace(":", ""));
|
||||
if((sb1==null || sb1.isEmpty()) && (sb2==null || sb2.isEmpty())) {
|
||||
sb1 = sb1.replace(":", "");
|
||||
sb2 = sb2.replace(":", "");
|
||||
|
||||
if (LisUtil.isTureNumber(sb1) && LisUtil.isTureNumber(sb2)) {
|
||||
int nsb1 = Integer.parseInt(sb1);
|
||||
int nsb2 = Integer.parseInt(sb2);
|
||||
if (lt_now > nsb1 && lt_now < nsb2) return 1;
|
||||
}
|
||||
if (LisUtil.isTureNumber(sb3) && LisUtil.isTureNumber(sb4)) {
|
||||
int nsb3 = Integer.parseInt(sb3);
|
||||
int nsb4 = Integer.parseInt(sb4);
|
||||
if (lt_now > nsb3 && lt_now < nsb4) return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user