|
@@ -88,7 +88,7 @@ public class GenerateYzService {
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public ResultVo<String> generateYpOrZl(GenerateYzVo param) {
|
|
|
+ public ResultVo<Set<String>> generateYpOrZl(GenerateYzVo param) {
|
|
|
//这里只查前后两天的
|
|
|
Date now = new Date();
|
|
|
AssertUtil.isnotBlank(param.getWardCode(), "病室不能为空");
|
|
@@ -210,7 +210,7 @@ public class GenerateYzService {
|
|
|
Set<BigDecimal> collect = param.getYzActOccs().stream().map(obj -> Convert.toBigDecimal(obj.getActOrderNoStr()).abs()).collect(Collectors.toSet());
|
|
|
List<List<BigDecimal>> split = CollUtil.split(collect, 50);
|
|
|
for(List<BigDecimal> item : split){
|
|
|
- String yzActNos = CollUtil.join(collect, ",");
|
|
|
+ String yzActNos = CollUtil.join(item, ",");
|
|
|
log.info("修改执行时间的医嘱={}",yzActNos);
|
|
|
dao.updateYzActOrderPerformanceTime(yzActNos, DateUtil.parseDate(param.getYzDate()));
|
|
|
}
|
|
@@ -222,9 +222,8 @@ public class GenerateYzService {
|
|
|
yzZyPatientFeeDao.updateChargeStatus(param.getWardCode());
|
|
|
yzZyPatientFeeDao.updateChargeStatusAndOrderCount(param.getWardCode());
|
|
|
yzActOccDao.updateStatusFlag(param.getWardCode());
|
|
|
- String ypOrZlFlagStr = NumberEnum.ONE.getCode().equals(param.getYpOrZlFlag()) ? "生成药品" : "生成诊疗";
|
|
|
- String message = CollUtil.isNotEmpty(param.getWarMessage()) ? ypOrZlFlagStr+"成功,警告信息:"+CollUtil.join(param.getWarMessage(), ";") : ypOrZlFlagStr+"成功!";
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE,message);
|
|
|
+ String ypOrZlFlagStr = NumberEnum.ONE.getCode().equals(param.getYpOrZlFlag()) ? "生成药品成功" : "生成诊疗成功";
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE,ypOrZlFlagStr,param.getWarMessage());
|
|
|
}
|
|
|
|
|
|
private void removeData(GenerateYzVo param, ZyActpatient zyActpatient) {
|
|
@@ -451,6 +450,13 @@ public class GenerateYzService {
|
|
|
}
|
|
|
|
|
|
private void changeOrderStatus(YzActOrder item, String ldCurrent,GenerateYzVo param) {
|
|
|
+ if(CollUtil.isNotEmpty(param.getWarMessageActOrders())){
|
|
|
+ for(String actOrderStr : param.getWarMessageActOrders()){
|
|
|
+ if(actOrderStr.equals(item.getActOrderNoStr())){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//置STATUS_FLAG状态;2 :确认 3 :第一次执行 4 : 执行 5 :停止
|
|
|
if(NumberEnum.TWO.getCode().equals(item.getStatusFlag())){
|
|
|
item.setStatusFlag(NumberEnum.ThREE.getCode());
|
|
@@ -563,17 +569,19 @@ public class GenerateYzService {
|
|
|
}
|
|
|
else {
|
|
|
if(ypZdDictVo == null || StrUtil.isBlank(ypZdDictVo.getName()) || Convert.toBigDecimal(ypZdDictVo.getPackRetprice(),BigDecimal.ZERO).compareTo(BigDecimal.ZERO) == 0){
|
|
|
- String message = StrUtil.format("床号={},医嘱号={}, 医嘱名={}:药品编码,GROUP_NO 为{},{}的医嘱找不到原药品纪录,请通知药房!",
|
|
|
- yzActOrder.getBedNo(), yzActOrder.getActOrderNo(), yzActOrder.getOrderName(), yzActOrder.getOrderCode(), yzActOrder.getGroupNo());
|
|
|
+ String message = StrUtil.format("床号={},医嘱号={}, 医嘱名={}:药品编码,GROUP_NO 为{},{},医嘱时间={},的医嘱找不到原药品纪录,请通知药房!",
|
|
|
+ yzActOrder.getBedNo(), yzActOrder.getActOrderNo(), yzActOrder.getOrderName(), yzActOrder.getOrderCode(), yzActOrder.getGroupNo(),DateUtil.formatDateTime(occTime));
|
|
|
log.error("生成药品错误消息:{}",message);
|
|
|
param.getWarMessage().add(message);
|
|
|
+ param.getWarMessageActOrders().add(yzActOrder.getActOrderNoStr());
|
|
|
return;
|
|
|
}
|
|
|
//禁用
|
|
|
else if(KF.equals(drugFlag) && NumberEnum.ONE.getCode().equals(ypZdDictVo.getVisibleFlag())){
|
|
|
- String message = StrUtil.format("床号={},医嘱号={}, 医嘱名={}:药品编码,GROUP_NO 为{},{}的药品药房已禁用,请更改此医嘱!", yzActOrder.getBedNo(), yzActOrder.getActOrderNo(), yzActOrder.getOrderName(), yzActOrder.getOrderCode(), yzActOrder.getGroupNo());
|
|
|
+ String message = StrUtil.format("床号={},医嘱号={}, 医嘱名={}:药品编码,GROUP_NO 为{},{},医嘱时间={}的药品药房已禁用,请更改此医嘱!", yzActOrder.getBedNo(), yzActOrder.getActOrderNo(), yzActOrder.getOrderName(), yzActOrder.getOrderCode(), yzActOrder.getGroupNo(),DateUtil.formatDateTime(occTime));
|
|
|
log.error("生成药品错误消息:{}",message);
|
|
|
param.getWarMessage().add(message);
|
|
|
+ param.getWarMessageActOrders().add(yzActOrder.getActOrderNoStr());
|
|
|
return;
|
|
|
}
|
|
|
else {
|
|
@@ -971,7 +979,7 @@ public class GenerateYzService {
|
|
|
**/
|
|
|
private static YzZyPatientFee convert2YzZyPatientFee(ZyActpatient zyActpatient, YzActOrder yzActOrder, ZdChargeItem zdChargeItem, Date occTime,GenerateYzVo param) {
|
|
|
List<String> yjDeptCodes = param.getYjDeptCodes();
|
|
|
- String execUnit = StrUtil.isNotBlank(zdChargeItem.getExecUnit()) ? zdChargeItem.getExecUnit() : yzActOrder.getExecUnit();
|
|
|
+ String execUnit = yzActOrder.getExecUnit();
|
|
|
String chargeStatus = "1";
|
|
|
if(execUnit != null && CollUtil.isNotEmpty(yjDeptCodes)){
|
|
|
if(yjDeptCodes.stream().anyMatch(obj -> obj.equals(execUnit))){
|