血液品种合并,优化
This commit is contained in:
parent
f22d0b1382
commit
55c63173e2
@ -23,6 +23,7 @@ import com.czblood.busBloodbank.pojo.VO.BloodOutQueryVO;
|
||||
import com.czblood.busBloodbank.service.BloodOutService;
|
||||
import com.czblood.busBloodbank.utils.BloodOutUtil;
|
||||
import com.czblood.busBloodbank.utils.MatchBloodUtil;
|
||||
import com.czblood.busBloodbank.utils.MergeArrayUtil;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.core.domain.entity.SysUser;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -62,7 +63,6 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
ReportUtil reportUtil;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Result queryOne(String applyNo, String moreSign) {
|
||||
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(applyNo);
|
||||
@ -90,7 +90,8 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
@Override
|
||||
public Result queryWaitInfo() {
|
||||
List<Map<String, Object>> queryWaitInfoList = bloodOutMapper.queryWaitInfo();
|
||||
return new Result("0","操作成功",queryWaitInfoList);
|
||||
List<Map<String, Object>> finalList = MergeArrayUtil.mergeArray(queryWaitInfoList, "bill_no", "blood_breed");
|
||||
return new Result("0", "操作成功", finalList);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -186,7 +187,9 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
if (checkSign.equals("Y")) return new Result("-1", "该单据已经通过审核,不能作修改!");
|
||||
bloodOutUtil.updateBloodOutInfo(bloodOutInfoVO);
|
||||
}
|
||||
return new Result("0","保存成功!",newBillNo);
|
||||
|
||||
if(billNo.isEmpty()) billNo = newBillNo;
|
||||
return new Result("0", "保存成功!", billNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -386,6 +389,7 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
|
||||
/**
|
||||
* 判断血液是否已经出库
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Result checkOnOut(String bloodNo, String productNo) {
|
||||
@ -425,7 +429,8 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
if (matchBloodList.isEmpty()) return new Result("-1", "该血液尚未配血,或者所配的血液不是给该病患,请检查!");
|
||||
String canSend = BloodBankUtil.isBank(matchBloodList.get(0).get("can_send"));
|
||||
String result = BloodBankUtil.isBank(matchBloodList.get(0).get("result"));
|
||||
if(canSend.equals("") || canSend.equals("N")) return new Result("-1","该血液的配血结果为:"+result+",不能发血!");
|
||||
if (canSend.equals("") || canSend.equals("N"))
|
||||
return new Result("-1", "该血液的配血结果为:" + result + ",不能发血!");
|
||||
bloodOutInfoDTO.setCheck_method(BloodBankUtil.isBank(matchBloodList.get(0).get("check_method")));
|
||||
bloodOutInfoDTO.setMatch_method(BloodBankUtil.isBank(matchBloodList.get(0).get("match_method")));
|
||||
bloodOutInfoDTO.setResult(result);
|
||||
@ -454,6 +459,7 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
|
||||
/**
|
||||
* 通知护士取血
|
||||
*
|
||||
* @param billNo
|
||||
*/
|
||||
public Result notifyBloodOut(String billNo) {
|
||||
|
||||
@ -13,11 +13,14 @@ import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO;
|
||||
import com.czblood.busBloodbank.service.CheckBloodTypeService;
|
||||
import com.czblood.busBloodbank.utils.CheckBloodTypeUtil;
|
||||
import com.czblood.busBloodbank.utils.MergeArrayUtil;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.core.page.TableDataInfo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -46,7 +49,9 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService {
|
||||
String bbjszhxxfh = bloodBankUtil.getParameterValue("BBJSZHXXFH");
|
||||
if (bbjszhxxfh.equals("Y")) xxfh = 1;
|
||||
List<Map<String, Object>> mapList = checkBloodTypeMapper.queryWaitInfo(xxfh);
|
||||
return new Result("0","获取数据成功!",mapList);
|
||||
//根据单据编号合并血液品种
|
||||
List<Map<String, Object>> finalList = MergeArrayUtil.mergeArray(mapList, "bill_no", "blood_breed");
|
||||
return new Result("0", "获取数据成功!", finalList);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -64,6 +69,7 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService {
|
||||
|
||||
/**
|
||||
* 保存数据
|
||||
*
|
||||
* @param xkCheckBloodtypeVO
|
||||
* @return
|
||||
*/
|
||||
|
||||
@ -16,6 +16,7 @@ import com.czblood.busBloodbank.pojo.VO.MatchBloodStockQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
||||
import com.czblood.busBloodbank.service.MatchBloodService;
|
||||
import com.czblood.busBloodbank.utils.MatchBloodUtil;
|
||||
import com.czblood.busBloodbank.utils.MergeArrayUtil;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -50,7 +51,8 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
||||
@Override
|
||||
public Result queryWaitInfo() {
|
||||
List<Map<String, Object>> mapList = matchBloodMapper.queryWaitInfo();
|
||||
return new Result("0","获取数据成功!",mapList);
|
||||
List<Map<String, Object>> finalList = MergeArrayUtil.mergeArray(mapList, "bill_no", "blood_breed");
|
||||
return new Result("0", "获取数据成功!", finalList);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -67,11 +69,13 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
||||
case "S":
|
||||
return new Result("-1", "该申请单已经追加配血,可直接在临床发血中发血!");
|
||||
case "D":
|
||||
if(matchBloodMapper.checkMatchBloodNotOut(billNo) > 0) return new Result("-1","检测到该申请单尚有配好的血液未出库,请先出库再进行配血!");
|
||||
if (matchBloodMapper.checkMatchBloodNotOut(billNo) > 0)
|
||||
return new Result("-1", "检测到该申请单尚有配好的血液未出库,请先出库再进行配血!");
|
||||
case "BD":
|
||||
return new Result("-1", "该申请单为补单,若要配血,请先复核血型!");
|
||||
case "B":
|
||||
if(matchBloodMapper.queryCheckBloodTypeCount(billNo) <= 0) return new Result("-1","该申请单尚未复核血型,请先复核血型!");
|
||||
if (matchBloodMapper.queryCheckBloodTypeCount(billNo) <= 0)
|
||||
return new Result("-1", "该申请单尚未复核血型,请先复核血型!");
|
||||
case "A":
|
||||
return new Result("-1", "该申请单尚未审核,请先审核!");
|
||||
}
|
||||
@ -213,7 +217,7 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
||||
Result result1 = BloodInterfaceUtil.invokeBloodInterface(matchBloodTypeRequest);
|
||||
if (!result1.getCode().equals("0")) return result1;
|
||||
|
||||
return new Result("0","保存成功!");
|
||||
return new Result("0", "保存成功!", billNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
package com.czblood.busBloodbank.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/*
|
||||
* 根据字段去重合并数据
|
||||
* @param list 数据源
|
||||
* @param field 去重字段
|
||||
* @param mergeField 合并字段
|
||||
* */
|
||||
public class MergeArrayUtil {
|
||||
public static List<Map<String, Object>> mergeArray(List<Map<String, Object>> list, String field, String mergeField) {
|
||||
Map<String, Map<String, Object>> resultMap = new HashMap<>();
|
||||
|
||||
for (Map<String, Object> item : list) {
|
||||
String billNo = (String) item.get(field);
|
||||
|
||||
// 如果该数据还不存在,直接存入
|
||||
if (!resultMap.containsKey(billNo)) {
|
||||
List<String> breedList = new ArrayList<>();
|
||||
breedList.add((String) item.get(mergeField));
|
||||
item.put(mergeField, breedList);
|
||||
resultMap.put(billNo, new HashMap<>(item));
|
||||
} else {
|
||||
// 已经存在,取出旧对象
|
||||
Map<String, Object> existMap = resultMap.get(billNo);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> breedList = (List<String>) existMap.get(mergeField);
|
||||
breedList.add((String) item.get(mergeField));
|
||||
existMap.put(mergeField, breedList);
|
||||
}
|
||||
}
|
||||
return new ArrayList<>(resultMap.values());
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.czblood.start;
|
||||
|
||||
import com.czblood.bus.mapper.XKHosInfoMapper;
|
||||
import com.czblood.bus.pojo.XkHosInfo;
|
||||
//import com.czblood.bus.mapper.XKHosInfoMapper;
|
||||
//import com.czblood.bus.pojo.XkHosInfo;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@ -11,13 +11,13 @@ import java.util.List;
|
||||
@SpringBootTest
|
||||
public class SpringBootAllTest {
|
||||
|
||||
@Resource
|
||||
XKHosInfoMapper xkHosInfoMapper;
|
||||
// @Resource
|
||||
// XKHosInfoMapper xkHosInfoMapper;
|
||||
|
||||
@Test
|
||||
public void test1(){
|
||||
XkHosInfo xkHosInfo = new XkHosInfo();
|
||||
List<XkHosInfo> xkHosInfoList = xkHosInfoMapper.query(xkHosInfo);
|
||||
System.out.println(xkHosInfoList);
|
||||
}
|
||||
// @Test
|
||||
// public void test1(){
|
||||
// XkHosInfo xkHosInfo = new XkHosInfo();
|
||||
// List<XkHosInfo> xkHosInfoList = xkHosInfoMapper.query(xkHosInfo);
|
||||
// System.out.println(xkHosInfoList);
|
||||
// }
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user