|
@@ -1,6 +1,7 @@
|
|
|
package com.diagbot.process;
|
|
|
|
|
|
import com.diagbot.biz.push.entity.Item;
|
|
|
+import com.diagbot.biz.push.entity.Pacs;
|
|
|
import com.diagbot.dto.BillMsg;
|
|
|
import com.diagbot.dto.BillNeoDTO;
|
|
|
import com.diagbot.dto.BillNeoMaxDTO;
|
|
@@ -27,6 +28,7 @@ import com.diagbot.rule.VitalRule;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.CoreUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
+import com.diagbot.util.StringUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
@@ -159,6 +161,28 @@ public class BillProcess {
|
|
|
System.out.println(billNeoMaxDTO);
|
|
|
billNeoMaxDTOList.add(billNeoMaxDTO);
|
|
|
}
|
|
|
+
|
|
|
+ // 辅检开单项时间赋值,用于规则【无需重复开单项】
|
|
|
+ // 由于mark之前返回的billNeoDTOList没有时间字段,就用辅检开单的原始数据name和uniqueName两个字段相同时
|
|
|
+ // 进行赋值。可能会存在多个相同的开单项,时间需要分别赋值:处理方式是时间只用一次,刚好可以对上
|
|
|
+ if (ListUtil.isNotEmpty(billNeoMaxDTOList) && ListUtil.isNotEmpty(wordCrfDTO.getPacsOrder())) {
|
|
|
+ List<Integer> useList = new ArrayList<>();
|
|
|
+ for (int i = 0; i < billNeoMaxDTOList.size(); i++) {
|
|
|
+ BillNeoMaxDTO billNeoMaxDTO = billNeoMaxDTOList.get(i);
|
|
|
+ for (int j = 0; j < wordCrfDTO.getPacsOrder().size(); j++) {
|
|
|
+ Pacs pacs = wordCrfDTO.getPacsOrder().get(j);
|
|
|
+ if (StringUtil.isNotBlank(pacs.getName()) && StringUtil.isNotBlank(pacs.getUniqueName())
|
|
|
+ && pacs.getName().equals(billNeoMaxDTO.getOrderName())
|
|
|
+ && pacs.getUniqueName().equals(billNeoMaxDTO.getOrderStandName())) {
|
|
|
+ if (!useList.contains(j)) { // 判断使用标识
|
|
|
+ billNeoMaxDTO.setDateValue(pacs.getDateValue());
|
|
|
+ useList.add(j);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
processRule(billNeoMaxDTOList, wordCrfDTO, res);
|
|
|
}
|
|
|
|