|
@@ -6,83 +6,26 @@ import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.NeoUtil;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
public class MedicineNode {
|
|
|
|
|
|
|
|
|
- public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine, MedicineRepository medicineRepository) {
|
|
|
+ public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine) {
|
|
|
DrugBillNeoDTO drugBillNeoDTO = new DrugBillNeoDTO();
|
|
|
NodeInfo nodeInfo = new NodeInfo();
|
|
|
|
|
|
- Set<Age> ages = medicine.getAge();
|
|
|
- for (Age age : ages) {
|
|
|
- NodeNeoDTO nodeNeoDTO = fillNodeNeoDTO(age, medicineRepository.getKeys());
|
|
|
- drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
|
|
|
- }
|
|
|
-
|
|
|
- Set<Group> groups = medicine.getGroup();
|
|
|
- for (Group group : groups) {
|
|
|
- NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
- nodeInfo.setName(group.getName());
|
|
|
- nodeInfo.setTypeval(Constants.group);
|
|
|
- drugBillNeoDTO.getGroup().add(nodeNeoDTO);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- Set<MedAllergen> medAllergens = medicine.getMedAllergens();
|
|
|
- for (MedAllergen medAllergen : medAllergens) {
|
|
|
- NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
- nodeInfo.setName(medAllergen.getName());
|
|
|
- nodeInfo.setTypeval(Constants.medallergen);
|
|
|
- drugBillNeoDTO.getAllergicmeds().add(nodeNeoDTO);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- Set<Disease> diseases = medicine.getDisease();
|
|
|
- for (Disease disease : diseases) {
|
|
|
- NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
- nodeInfo.setName(disease.getName());
|
|
|
- nodeInfo.setTypeval(Constants.disease);
|
|
|
- drugBillNeoDTO.getDisease().add(nodeNeoDTO);
|
|
|
- }
|
|
|
-
|
|
|
return drugBillNeoDTO;
|
|
|
}
|
|
|
|
|
|
|
|
|
- public NodeNeoDTO fillNodeNeoDTO(Age age, List<String> keys) {
|
|
|
- NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
- Integer range;
|
|
|
- BigDecimal max, min;
|
|
|
-
|
|
|
- nodeNeoDTO.setName(age.getName());
|
|
|
- for (String key : keys) {
|
|
|
- switch (key) {
|
|
|
- case "最大值":
|
|
|
- max = (age.getMaxval()==null)?null:new BigDecimal(age.getMaxval());
|
|
|
- nodeNeoDTO.setMax(max);
|
|
|
- break;
|
|
|
- case "最小值":
|
|
|
- min = (age.getMinval()==null)?null:new BigDecimal(age.getMinval());
|
|
|
- nodeNeoDTO.setMin(min);
|
|
|
- break;
|
|
|
- case "范围":
|
|
|
- range = (age.getRange()==null)?0:age.getRange();
|
|
|
- nodeNeoDTO.setValType(range);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return nodeNeoDTO;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 处理处方开单合理性
|
|
|
*/
|
|
|
- public List<BillNeoDTO> getMedicineBill(Map<String, String> medsterm, MedicineRepository medicineRepository) {
|
|
|
+ public List<BillNeoDTO> getDrugBill(Map<String, String> medsterm, MedicineRepository medicineRepository) {
|
|
|
List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
|
|
|
BillNeoDTO billNeoDTO;
|
|
|
|
|
@@ -102,7 +45,7 @@ public class MedicineNode {
|
|
|
medicine = medicineRepository.findByNameIs(medname);
|
|
|
|
|
|
if (medicine != null && medicine.size() > 0) {
|
|
|
- drugBillNeoDTO = MedicinetoDrugDTO(medicine.get(0), medicineRepository);
|
|
|
+ drugBillNeoDTO = MedicinetoDrugDTO(medicine.get(0));
|
|
|
|
|
|
billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
|
|
|
|