|
@@ -174,6 +174,11 @@ public class DTPService {
|
|
|
pd.put("createdBy", getSysUser().getUserId());
|
|
|
pd.put("createTime", DateUtils.getTime());
|
|
|
pd.put("drugQuantity", drugQuantity);
|
|
|
+ String gender = (String) pd.get("gender");//获取性别
|
|
|
+ if (StringUtils.isEmpty(gender)) {
|
|
|
+ pd.put("gender", 2);//2等于未知性别
|
|
|
+ }
|
|
|
+ //String age = (String) pd.get("age");//
|
|
|
int result = daoSupport.save("DTPCFDJMapper.insertPrescriptionRegistration", pd);
|
|
|
if(resultDrug>0 && result>0){
|
|
|
returnPageData.put("code", 200);
|
|
@@ -328,112 +333,7 @@ public class DTPService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 处方登记 添加
|
|
|
- *
|
|
|
- * @param pd
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public PageData saveCFDJ(final PageData pd) throws Exception {
|
|
|
- PageData returnPageData = new PageData();
|
|
|
- Object drugList = pd.get("drugData");//获取药品信息列表
|
|
|
- Integer drugsLinkId = IdUtils.get10randomNumber();//生成处方与药品关联的编号
|
|
|
- Integer prescriptionNumber = IdUtils.get10randomNumber();//生成处方单号
|
|
|
- List<PageData> addList = new ArrayList<>();
|
|
|
- int resultDrug=0;
|
|
|
- int drugQuantity=0;
|
|
|
- try {
|
|
|
- if (StringUtils.isNotNull(drugList)) {
|
|
|
- // 将 JSON 字符串转换为 List<Map<String, Object>>
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
- List<Map<String, Object>> rowsdrugList = objectMapper.readValue(drugList.toString(), List.class);
|
|
|
- drugQuantity = rowsdrugList.size();//处方取药数量
|
|
|
- // 遍历列表并调用插入数据接口
|
|
|
- if (rowsdrugList.size() > 0) {
|
|
|
- for (Map<String, Object> lxr : rowsdrugList) {
|
|
|
- PageData pageData = new PageData();
|
|
|
-
|
|
|
- // 设置固定或默认值
|
|
|
- pageData.put("createdBy", getSysUser().getLoginName());
|
|
|
- pageData.put("createdTime", DateUtils.getTime());
|
|
|
- pageData.put("storeId", getSysUser().getDeptId());
|
|
|
-
|
|
|
- // 从 lxr 获取数据并映射到数据库字段
|
|
|
- pageData.put("mdmCode", lxr.get("mdmCode"));
|
|
|
- pageData.put("productName", lxr.get("productName"));
|
|
|
- pageData.put("genericName", lxr.get("genericName"));
|
|
|
- pageData.put("specification", lxr.get("specification"));
|
|
|
- pageData.put("manufacturerShortName", lxr.get("manufacturerShortName"));
|
|
|
- pageData.put("administrationMethod", lxr.get("administrationMethod"));
|
|
|
- pageData.put("packageQuantity", lxr.get("packageQuantity"));//处方取药数量(包装数)输入框的值
|
|
|
- pageData.put("singleDoseValue", lxr.get("singleDoseValue"));//处方单次剂量数值 输入框的值
|
|
|
- pageData.put("singleDoseUnit", lxr.get("singleDoseUnit"));//处方单次剂量单位
|
|
|
- pageData.put("dosageFrequency", lxr.get("dosageFrequency"));//规范用药频次
|
|
|
- pageData.put("dosageFrequencyDays", lxr.get("dosageFrequencyDays"));//用药频次换算使用天数 下拉带出来的 要去字典的value
|
|
|
- if(lxr.get("dvalueDays")!=null){
|
|
|
- pageData.put("dvalueDays", lxr.get("dvalueDays"));
|
|
|
- }else {
|
|
|
- pageData.put("dvalueDays", 0);
|
|
|
- }
|
|
|
|
|
|
- // 添加其他可能需要的字段(如果有的话)
|
|
|
- pageData.put("medicationRoute", lxr.get("medicationRoute"));
|
|
|
- //pageData.put("sales", lxr.get("sales"));
|
|
|
- pageData.put("prescriptionNumber", prescriptionNumber);
|
|
|
- pageData.put("drugsLinkId", drugsLinkId);
|
|
|
- pageData.put("prescriptionDate", DateUtils.getTime());
|
|
|
- pageData.put("hospital", lxr.get("hospital"));
|
|
|
- pageData.put("prescribingDoctor", lxr.get("prescribingDoctor"));
|
|
|
- pageData.put("department", lxr.get("department"));
|
|
|
- pageData.put("attendingPhysician", lxr.get("attendingPhysician"));
|
|
|
- pageData.put("clinicalDiagnosis", lxr.get("clinicalDiagnosis"));
|
|
|
- pageData.put("registrant", lxr.get("registrant"));
|
|
|
- pageData.put("registrationDate", DateUtils.getTime());
|
|
|
-// pageData.put("saleDate", lxr.get("saleDate"));
|
|
|
-// pageData.put("pharmacyName", lxr.get("pharmacyName"));
|
|
|
-// pageData.put("updatedBy", lxr.get("updatedBy"));
|
|
|
-// pageData.put("updatedTime", lxr.get("updatedTime"));
|
|
|
-// pageData.put("remarks", lxr.get("remarks"));
|
|
|
- addList.add(pageData);
|
|
|
- resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecordNew", pageData);
|
|
|
- }
|
|
|
-// final HashMap<String, Object> addMap = new HashMap<String, Object>();
|
|
|
-// addMap.put("dataList", addList);
|
|
|
-// resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecord", addMap);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 从表单数据填充
|
|
|
- pd.put("drugsLinkId", drugsLinkId); // 处方与药品关联的唯一编码
|
|
|
- pd.put("storeId", getSysUser().getDeptId());
|
|
|
- pd.put("storeName", getSysUser().getDeptId()); // 假设 getDeptName() 可以获取部门名称
|
|
|
- pd.put("createdBy", getSysUser().getUserId());
|
|
|
- pd.put("createTime", DateUtils.getTime());
|
|
|
- pd.put("status", 5);//5待订单销售
|
|
|
- pd.put("registrationDate", DateUtils.getTime());
|
|
|
- pd.put("drugQuantity", drugQuantity);
|
|
|
- String registrant = (String) pd.get("registrant");
|
|
|
- if(StringUtils.isEmpty(registrant)){
|
|
|
- pd.put("registrant", getSysUser().getLoginName());
|
|
|
- }
|
|
|
- int result = daoSupport.save("DTPCFDJMapper.insertPrescriptionRegistration", pd);
|
|
|
- if(resultDrug>0 && result>0){
|
|
|
- returnPageData.put("code", 200);
|
|
|
- returnPageData.put("prescriptionNumber", prescriptionNumber);
|
|
|
- returnPageData.put("drugsLinkId", drugsLinkId);
|
|
|
- return returnPageData;
|
|
|
- }else {
|
|
|
- returnPageData.put("msg", "天添加败");
|
|
|
- returnPageData.put("code", 300);
|
|
|
- return returnPageData;
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 处方删除
|
|
@@ -641,10 +541,145 @@ public class DTPService {
|
|
|
pd.put("storeId", getSysUser().getDeptId());
|
|
|
return (List<PageData>) daoSupport.findForList("DTPMapper.HospitalList", pd);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处方登记 添加
|
|
|
+ * @param pd
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public PageData saveCFDJ(final PageData pd) throws Exception {
|
|
|
+ PageData returnPageData = new PageData();
|
|
|
+ Object drugList = pd.get("drugData");//获取药品信息列表
|
|
|
+ Integer drugsLinkId = IdUtils.get10randomNumber();//生成处方与药品关联的编号
|
|
|
+ Integer prescriptionNumber = IdUtils.get10randomNumber();//生成处方单号
|
|
|
+ String patientId=null;
|
|
|
+ String patientIdif = (String) pd.get("patientId");
|
|
|
+ if(StringUtils.isNotEmpty(patientIdif)){
|
|
|
+ patientId = patientIdif;
|
|
|
+ }
|
|
|
+ List<PageData> addList = new ArrayList<>();
|
|
|
+ int resultDrug=0;
|
|
|
+ int drugQuantity=0;
|
|
|
+ try {
|
|
|
+ if (StringUtils.isNotNull(drugList)) {
|
|
|
+ // 将 JSON 字符串转换为 List<Map<String, Object>>
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ List<Map<String, Object>> rowsdrugList = objectMapper.readValue(drugList.toString(), List.class);
|
|
|
+ drugQuantity = rowsdrugList.size();//处方取药数量
|
|
|
+ // 遍历列表并调用插入数据接口
|
|
|
+ if (rowsdrugList.size() > 0) {
|
|
|
+ for (Map<String, Object> lxr : rowsdrugList) {
|
|
|
+ PageData pageData = new PageData();
|
|
|
+
|
|
|
+ // 设置固定或默认值
|
|
|
+ pageData.put("createdBy", getSysUser().getLoginName());
|
|
|
+ pageData.put("createdTime", DateUtils.getTime());
|
|
|
+ pageData.put("storeId", getSysUser().getDeptId());
|
|
|
+ if (StringUtils.isNotEmpty(patientId)) {
|
|
|
+ pageData.put("patientId", patientId);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 从 lxr 获取数据并映射到数据库字段
|
|
|
+ pageData.put("mdmCode", lxr.get("mdmCode"));
|
|
|
+ pageData.put("productName", lxr.get("productName"));
|
|
|
+ pageData.put("genericName", lxr.get("genericName"));
|
|
|
+ pageData.put("specification", lxr.get("specification"));
|
|
|
+ pageData.put("manufacturerShortName", lxr.get("manufacturerShortName"));
|
|
|
+ pageData.put("administrationMethod", lxr.get("administrationMethod"));
|
|
|
+ pageData.put("packageQuantity", lxr.get("packageQuantity"));//处方取药数量(包装数)输入框的值
|
|
|
+ pageData.put("singleDoseValue", lxr.get("singleDoseValue"));//处方单次剂量数值 输入框的值
|
|
|
+ pageData.put("singleDoseUnit", lxr.get("singleDoseUnit"));//处方单次剂量单位
|
|
|
+ pageData.put("dosageFrequency", lxr.get("dosageFrequency"));//规范用药频次
|
|
|
+ pageData.put("dosageFrequencyDays", lxr.get("dosageFrequencyDays"));//用药频次换算使用天数 下拉带出来的 要去字典的value
|
|
|
+ if(lxr.get("dvalueDays")!=null){
|
|
|
+ pageData.put("dvalueDays", lxr.get("dvalueDays"));
|
|
|
+ }else {
|
|
|
+ pageData.put("dvalueDays", 0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加其他可能需要的字段(如果有的话)
|
|
|
+ pageData.put("medicationRoute", lxr.get("medicationRoute"));
|
|
|
+ //pageData.put("sales", lxr.get("sales"));
|
|
|
+ pageData.put("prescriptionNumber", prescriptionNumber);
|
|
|
+ pageData.put("drugsLinkId", drugsLinkId);
|
|
|
+ pageData.put("prescriptionDate", DateUtils.getTime());
|
|
|
+ pageData.put("hospital", lxr.get("hospital"));
|
|
|
+
|
|
|
+ pageData.put("prescribingDoctor", lxr.get("prescribingDoctor"));
|
|
|
+ pageData.put("department", lxr.get("department"));
|
|
|
+ pageData.put("attendingPhysician", lxr.get("attendingPhysician"));
|
|
|
+ pageData.put("clinicalDiagnosis", lxr.get("clinicalDiagnosis"));
|
|
|
+ pageData.put("registrant", lxr.get("registrant"));
|
|
|
+ pageData.put("registrationDate", DateUtils.getTime());
|
|
|
+// pageData.put("saleDate", lxr.get("saleDate"));
|
|
|
+// pageData.put("pharmacyName", lxr.get("pharmacyName"));
|
|
|
+// pageData.put("updatedBy", lxr.get("updatedBy"));
|
|
|
+// pageData.put("updatedTime", lxr.get("updatedTime"));
|
|
|
+// pageData.put("remarks", lxr.get("remarks"));
|
|
|
+ addList.add(pageData);
|
|
|
+ resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecordNew", pageData);
|
|
|
+ }
|
|
|
+// final HashMap<String, Object> addMap = new HashMap<String, Object>();
|
|
|
+// addMap.put("dataList", addList);
|
|
|
+// resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecord", addMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 从表单数据填充
|
|
|
+ pd.put("drugsLinkId", drugsLinkId); // 处方与药品关联的唯一编码
|
|
|
+ pd.put("prescriptionNumber", prescriptionNumber);
|
|
|
+ pd.put("storeId", getSysUser().getDeptId());
|
|
|
+ pd.put("storeName", getSysUser().getDeptId()); // 假设 getDeptName() 可以获取部门名称
|
|
|
+ pd.put("createdBy", getSysUser().getUserId());
|
|
|
+ pd.put("createTime", DateUtils.getTime());
|
|
|
+ pd.put("status", 5);//5待订单销售
|
|
|
+ pd.put("registrationDate", DateUtils.getTime());
|
|
|
+ pd.put("drugQuantity", drugQuantity);
|
|
|
+
|
|
|
+ if(StringUtils.isNotEmpty(pd.get("reviewStatus").toString())){
|
|
|
+ pd.put("reviewStatus", 1);
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(pd.get("reviewingName").toString())){
|
|
|
+ pd.put("reviewingName", "系统");
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(pd.get("remarks").toString())){
|
|
|
+ pd.put("remarks", "系统审核");
|
|
|
+ }
|
|
|
+ String registrant = (String) pd.get("registrant");
|
|
|
+ if(StringUtils.isEmpty(registrant)){
|
|
|
+ pd.put("registrant", getSysUser().getLoginName());
|
|
|
+ }
|
|
|
+ int result = daoSupport.save("DTPCFDJMapper.insertPrescriptionRegistration", pd);
|
|
|
+ if(resultDrug>0 && result>0){
|
|
|
+ returnPageData.put("code", 200);
|
|
|
+ returnPageData.put("prescriptionNumber", prescriptionNumber);
|
|
|
+ returnPageData.put("drugsLinkId", drugsLinkId);
|
|
|
+ return returnPageData;
|
|
|
+ }else {
|
|
|
+ returnPageData.put("msg", "天添加败");
|
|
|
+ returnPageData.put("code", 300);
|
|
|
+ return returnPageData;
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 处方登记修改更新
|
|
|
+ * @param pd
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public int updateCFDJ(final PageData pd) throws Exception {
|
|
|
PageData pd3=new PageData();
|
|
|
try {
|
|
|
+ String patientId=null;
|
|
|
+ String patientIdif = (String) pd.get("patientId");
|
|
|
+ if(StringUtils.isNotEmpty(patientIdif)){
|
|
|
+ patientId = patientIdif;
|
|
|
+ }
|
|
|
pd3.put("id",pd.get("id"));
|
|
|
PageData pd1= (PageData) daoSupport.findForObject("DTPCFDJMapper.selectOneById", pd3);
|
|
|
String status = (String) pd.get("status");
|
|
@@ -654,7 +689,7 @@ public class DTPService {
|
|
|
|
|
|
if (status.equals("4")) {//4待处方登记
|
|
|
onlyId = IdUtils.get10randomNumber();//如果是先销售后登记来做的修改处方信息 生成处方单号
|
|
|
- flag=true;
|
|
|
+ flag=true;//为先销售后登记
|
|
|
if (StringUtils.isEmpty(prescriptionImageUrl)) {//3待确认信息
|
|
|
status="2";//待上传处方
|
|
|
}else {
|
|
@@ -690,7 +725,9 @@ public class DTPService {
|
|
|
pageData.put("createdBy", getSysUser().getLoginName());
|
|
|
pageData.put("createdTime", DateUtils.getTime());
|
|
|
pageData.put("storeId", getSysUser().getDeptId());
|
|
|
-
|
|
|
+ if (StringUtils.isNotEmpty(patientId)) {
|
|
|
+ pageData.put("patientId", patientId);
|
|
|
+ }
|
|
|
// 从 lxr 获取数据并映射到数据库字段
|
|
|
pageData.put("mdmCode", lxr.get("mdmCode"));
|
|
|
pageData.put("productName", lxr.get("productName"));
|
|
@@ -752,6 +789,11 @@ public class DTPService {
|
|
|
}
|
|
|
}
|
|
|
pd.put("drugQuantity", drugQuantity);
|
|
|
+
|
|
|
+ if (StringUtils.isNull(pd.get("reviewingName")) && StringUtils.isNull(pd.get("reviewStatus"))){
|
|
|
+ pd.put("reviewingName", "系统默认");
|
|
|
+ pd.put("reviewStatus", 1);//处方审核状态:0:审核不通过;1:审核通过;2: 待审核;默认 1: "审核通过";
|
|
|
+ }
|
|
|
// 患者信息
|
|
|
if (StringUtils.isNotNull(pd.get("gender"))){
|
|
|
String gender = pd.get("gender").toString();
|
|
@@ -763,6 +805,9 @@ public class DTPService {
|
|
|
pd.put("gender", "3");
|
|
|
}
|
|
|
}
|
|
|
+ if (StringUtils.isNull(pd.get("registrant"))){
|
|
|
+ pd.put("registrant", getSysUser().getLoginName());
|
|
|
+ }
|
|
|
return daoSupport.save("DTPCFDJMapper.updatePrescriptionRegistration", pd);
|
|
|
|
|
|
|
|
@@ -774,24 +819,24 @@ public class DTPService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取ICD疾病信息
|
|
|
+ * 获取ICD所有疾病信息
|
|
|
* @param pd
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public List<PageData> typeDate(PageData pd) throws Exception{
|
|
|
+ public List<PageData> searchICD11(PageData pd) throws Exception{
|
|
|
if (pd==null || pd.size()==0){
|
|
|
pd.put("dict_key","ICD11");
|
|
|
}
|
|
|
return (List<PageData>) daoSupport.findForList("TypeDateMapper.getICD11_Date", pd);
|
|
|
}
|
|
|
/**
|
|
|
- * 获取ICD疾病信息
|
|
|
+ * 获取ICD疾病信息根据id
|
|
|
* @param pd
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public List<PageData> typeDate2(PageData pd) throws Exception{
|
|
|
- return (List<PageData>) daoSupport.findForList("TypeDateMapper.getICD11_Date2", pd);
|
|
|
+ public PageData searchICD11Object(PageData pd) throws Exception{
|
|
|
+ return (PageData) daoSupport.findForObject("TypeDateMapper.getICD11_Date", pd);
|
|
|
}
|
|
|
}
|