Explorar el Código

智业接口修改

yeshijie hace 7 años
padre
commit
2b84d54061

+ 2 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/controller/PrescriptionController.java

@ -121,6 +121,7 @@ public class PrescriptionController extends BaseController{
									@RequestParam(value = "doctor",required = true) String doctor)
	{
		try {
			doctor = "hxmD201703150222";
			String re = prescriptionService.getRecipeTemplate(doctor);
			return Result.success("处方模板获取接口!",re);
@ -142,7 +143,7 @@ public class PrescriptionController extends BaseController{
								@RequestParam(value = "applyTimeEnd",required = false) String applyTimeEnd)
	{
		try {
//			cardNo = "D40612663";
			cardNo = "D40612663";
			String re = prescriptionService.getLastRecipe(cardNo,recipeNo,applyTimeFrom,applyTimeEnd);
			return Result.success("调阅历史处方接口!",re);

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 60 - 70
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionService.java


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 48 - 51
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/adapter/PresModeAdapter.java


+ 79 - 47
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -1,5 +1,6 @@
package com.yihu.wlyy.service.app.consult;
import com.yihu.wlyy.adapter.PresModeAdapter;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.consult.ConsultTeamDoctor;
@ -35,6 +36,7 @@ import com.yihu.wlyy.service.app.prescription.PrescriptionInfoService;
import com.yihu.wlyy.service.app.prescription.PrescriptionLogService;
import com.yihu.wlyy.service.app.talk.TalkGroupService;
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
import com.yihu.wlyy.service.third.jw.ZyDictService;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
@ -133,6 +135,10 @@ public class ConsultTeamService extends ConsultService {
    private JwPrescriptionService jwPrescriptionService;
    @Autowired
    private PrescriptionInfoService prescriptionInfoService;
    @Autowired
    private PresModeAdapter presModeAdapter;
    @Autowired
    private ZyDictService zyDictService;
    Map<Integer, String> relations = new HashMap<>();
@ -1024,11 +1030,10 @@ public class ConsultTeamService extends ConsultService {
     * @param reason
     * @return
     */
    public String savePrescription(Prescription prescription,String jwCode,Doctor doctor,Patient p,ConsultTeam ct,String reason) throws Exception{
        String re = "";
    public void savePrescription(Prescription prescription,String jwCode,Doctor doctor,Patient p,ConsultTeam ct,String reason) throws Exception{
        //获取智业处方详细
//        String response = jwPrescriptionService.getRecipe(jwCode,p.getSsc());
//        JSONObject jsonObject =
        String response = jwPrescriptionService.getRecipe(jwCode,p.getSsc());
        com.alibaba.fastjson.JSONObject jsonObject = presModeAdapter.modelToSinglePrescription(response);
        //续方主表
        prescription.setCode(getCode());
@ -1049,51 +1054,68 @@ public class ConsultTeamService extends ConsultService {
        prescription.setType(PrescriptionLog.PrescriptionLogType.create.getValue());
        prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.revieweding.getValue());
        prescription.setConsult(ct.getConsult());
        //保存智业的医生信息
        Map<String,Object> map = zyDictService.findJwDoctorByDoctor(doctor.getCode());
        if(map!=null){
            prescription.setJwDoctorCode(map.get("jw_doctor").toString());
            prescription.setJwHospital(map.get("jw_doctor_hospital").toString());
        }
        prescriptionDao.save(prescription);
        //保存续方药品(处方)信息
        PrescriptionInfo prescriptionInfo = new PrescriptionInfo();
        prescriptionInfo.setPrescriptionCode(prescription.getCode());
        prescriptionInfo.setCode(getCode());
        prescriptionInfo.setDel(1);
        prescriptionInfo.setDirection("口服");//药品用法
        prescriptionInfo.setDrugCode("药品code");//药品code
        prescriptionInfo.setDrugName("药品名称");//药品名称
        prescriptionInfo.setDrugRate("每次1.25mg    q.d.");//吃药频率
        prescriptionInfo.setDrugFormat("2.5mg*80片/盒");//药品规格
        prescriptionInfo.setNum(10);//药品数目
        prescriptionInfo.setPrice(10);//药品单价
        prescriptionInfo.setIsRefrigerate(0);//是否冷藏 1是 0否
        prescriptionInfo.setJwSubCode("");//智业子处方号
        prescriptionInfo.setDrugNumUnit("");//数量单位编码
        prescriptionInfo.setDrugNumUnitName("");//数量单位名称
        prescriptionInfo.setCost(1);//金额
        prescriptionInfo.setCharge(0);//自付
        prescriptionInfo.setBindFlag("0");//成组标志, 0.非成组,1.成组
        prescriptionInfo.setDayCount(2);//用药天数
        prescriptionInfo.setDrugUsage("");//用药方法编码
        prescriptionInfo.setUsageName("");//用药方法名称
        prescriptionInfo.setPhysicDose("");//用药剂量
        prescriptionInfo.setPhysicDoseUnit("");//剂量单位编码
        prescriptionInfo.setPhysicDoseUnitName("");//剂量单位名称
        prescriptionInfo.setPhysicAmount("");//用药总量
        prescriptionInfo.setPhysicAmountUnit("");//总量单位编码
        prescriptionInfo.setPhysicAmountUnitName("");//总量单位名称
        prescriptionInfo.setPhysicInjectPlace("");//注射地点编码
        prescriptionInfo.setPhysicInjectPlaceName("");//注射地点名称
        prescriptionInfo.setPhysicSkinTest("");//注射地点名称
        prescriptionInfo.setPhysicSkinTestName("");//皮试类型名称
        prescriptionInfo.setRemark("");//备注
        prescriptionInfoDao.save(prescriptionInfo);
        com.alibaba.fastjson.JSONArray infos = jsonObject.getJSONArray("prescriptionInfo");
        for(int i=0;i<infos.size();i++){
            com.alibaba.fastjson.JSONObject info = infos.getJSONObject(i);
            PrescriptionInfo prescriptionInfo = new PrescriptionInfo();
            prescriptionInfo.setPrescriptionCode(prescription.getCode());
            prescriptionInfo.setCode(getCode());
            prescriptionInfo.setDel(1);
            prescriptionInfo.setDirection(info.getString("USAGE_NAME"));//药品用法
            prescriptionInfo.setDrugCode(info.getString("drugCode"));//药品code
            prescriptionInfo.setDrugName(info.getString("drugName"));//药品名称
            prescriptionInfo.setDrugRate(info.getString("drugRate"));//吃药频率
            prescriptionInfo.setDrugFormat(info.getString("drugFormat"));//药品规格
            prescriptionInfo.setNum(doubleToInt(info.getDouble("num")));//药品数目
            prescriptionInfo.setPrice(doubleToInt(info.getDouble("price")));//药品单价
            prescriptionInfo.setIsRefrigerate(0);//是否冷藏 1是 0否
            prescriptionInfo.setJwSubCode("");//智业子处方号
            prescriptionInfo.setDrugNumUnit(info.getString("drugNumUnit"));//数量单位编码
            prescriptionInfo.setDrugNumUnitName(info.getString("drugNumUnitName"));//数量单位名称
            prescriptionInfo.setCost(doubleToInt(info.getDouble("cost")));//金额
            prescriptionInfo.setCharge(doubleToInt(info.getDouble("charge")));//自付
            prescriptionInfo.setBindFlag(info.getString("bindFlag"));//成组标志, 0.非成组,1.成组
            prescriptionInfo.setDayCount(info.getInteger("dayCount"));//用药天数
            prescriptionInfo.setDrugUsage(info.getString("drugUsage"));//用药方法编码
            prescriptionInfo.setUsageName(info.getString("usageName"));//用药方法名称
            prescriptionInfo.setPhysicDose(info.getString("physicDose"));//用药剂量
            prescriptionInfo.setPhysicDoseUnit(info.getString("physicDoseUnit"));//剂量单位编码
            prescriptionInfo.setPhysicDoseUnitName(info.getString("physicDoseUnitName"));//剂量单位名称
            prescriptionInfo.setPhysicAmount(info.getString("physicAmount"));//用药总量
            prescriptionInfo.setPhysicAmountUnit(info.getString("physicAmount"));//总量单位编码
            prescriptionInfo.setPhysicAmountUnitName(info.getString("physicAmountUnitName"));//总量单位名称
            prescriptionInfo.setPhysicInjectPlace(info.getString("physicInjectPlace"));//注射地点编码
            prescriptionInfo.setPhysicInjectPlaceName(info.getString("physicInjectPlaceName"));//注射地点名称
            prescriptionInfo.setPhysicSkinTest(info.getString("physicSkinTest"));//注射地点名称
            prescriptionInfo.setPhysicSkinTestName(info.getString("physicSkinTestName"));//皮试类型名称
            prescriptionInfo.setRemark(info.getString("Remark"));//备注
            prescriptionInfoDao.save(prescriptionInfo);
        }
        //保存续方疾病类型
        PrescriptionDiagnosis diagnosis = new PrescriptionDiagnosis();
        diagnosis.setCode("1");
        diagnosis.setPrescriptionCode(prescription.getCode());
        diagnosis.setCreateTime(new Date());
        diagnosis.setName("高血压");
        diagnosis.setUpdateTime(new Date());
        prescriptionDiagnosisDao.save(diagnosis);
        com.alibaba.fastjson.JSONArray jaDiagnosis = jsonObject.getJSONArray("prescriptionDt");
        for (Iterator iterator = jaDiagnosis.iterator(); iterator.hasNext();) {
            com.alibaba.fastjson.JSONObject json = (com.alibaba.fastjson.JSONObject) iterator.next();
            PrescriptionDiagnosis diagnosis = new PrescriptionDiagnosis();
            diagnosis.setCode(json.getString("code"));
            diagnosis.setPrescriptionCode(prescription.getCode());
            diagnosis.setCreateTime(new Date());
            diagnosis.setName(json.getString("name"));
            diagnosis.setHealthProblemName(json.getString("healthProblemName"));
            diagnosis.setHealthProblem(json.getString("healthProblem"));
            diagnosis.setUpdateTime(new Date());
            prescriptionDiagnosisDao.save(diagnosis);
        }
        //保存审核信息
        PrescriptionReviewed reviewed = new PrescriptionReviewed();
@ -1107,11 +1129,21 @@ public class ConsultTeamService extends ConsultService {
        reviewed.setHospitalName(prescription.getHospitalName());
        prescriptionReviewedDao.save(reviewed);
        re +=diagnosis.getName();
        //添加保存日志
        prescriptionLogService.addLog(prescription, PrescriptionLog.PrescriptionLogType.create.getValue(),1,1);
        return re;
    }
    /**
     * double*100转int
     * @param d
     * @return
     */
    private Integer doubleToInt(Double d){
        if(d==null){
            return 0;
        }
        return new Double(d*100).intValue();
    }
    /**

+ 1 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java

@ -27,7 +27,6 @@ import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@ -1061,7 +1060,7 @@ public class PrescriptionInfoService extends BaseService {
     */
    public com.alibaba.fastjson.JSONArray getPrescriptionTemp(String doctor)throws Exception{
        String rp = jwPrescriptionService.getRecipeTemplate(doctor);
        com.alibaba.fastjson.JSONArray rs =  presModeAdapter.modeToPrescription(rp);
        com.alibaba.fastjson.JSONArray rs =  presModeAdapter.modeTopresInfo(rp);
        return rs;
    }
}

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionInfoController.java

@ -345,7 +345,8 @@ public class PrescriptionInfoController extends BaseController{
    @ApiOperation(value = "获取调整处方模板")
    public String getPrescriptionTemp(){
        try {
            return write(200, "操作成功!", "data",prescriptionInfoService.getPrescriptionTemp(getUID()));
//            return write(200, "操作成功!", "data",prescriptionInfoService.getPrescriptionTemp(getUID()));
            return write(200, "操作成功!", "data",prescriptionInfoService.getPrescriptionTemp("1"));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败!");