yeshijie 7 лет назад
Родитель
Сommit
854b3306b2

+ 23 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/patient/prescription/PrescriptionInfo.java

@ -5,6 +5,7 @@ import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
 * Created by Administrator on 2017/7/21.
@ -49,6 +50,10 @@ public class PrescriptionInfo extends IdEntity{
    private String physicSkinTestName;//皮试类型名称
    private String remark;//备注
    //非数据库字段
    private Integer dispQuantityUntuckFlag;//门诊数量可拆标志 0不可拆,1可拆
    private Integer dispPackUntuckFlag;//门诊包装可拆标志 0不可拆,1可拆
    @Column(name = "code",unique = true , nullable=false)
    public String getCode() {
        return code;
@ -320,4 +325,22 @@ public class PrescriptionInfo extends IdEntity{
    public void setSubjectClass(String subjectClass) {
        this.subjectClass = subjectClass;
    }
    @Transient
    public Integer getDispQuantityUntuckFlag() {
        return dispQuantityUntuckFlag;
    }
    public void setDispQuantityUntuckFlag(Integer dispQuantityUntuckFlag) {
        this.dispQuantityUntuckFlag = dispQuantityUntuckFlag;
    }
    @Transient
    public Integer getDispPackUntuckFlag() {
        return dispPackUntuckFlag;
    }
    public void setDispPackUntuckFlag(Integer dispPackUntuckFlag) {
        this.dispPackUntuckFlag = dispPackUntuckFlag;
    }
}

+ 19 - 3
common/common-entity/src/main/java/com/yihu/wlyy/entity/zydict/ZyIvOrgPhysicAllotDict.java

@ -4,9 +4,6 @@ import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;
/**
@ -21,6 +18,8 @@ public class ZyIvOrgPhysicAllotDict extends IdEntity implements java.io.Serializ
	private String orgCode;//机构编码
	private String physicCode;//药品代码
	private Integer dispQuantityUntuckFlag;//门诊数量可拆标志 0不可拆,1可拆
	private Integer dispPackUntuckFlag;//门诊包装可拆标志 0不可拆,1可拆
	// Constructors
@ -53,4 +52,21 @@ public class ZyIvOrgPhysicAllotDict extends IdEntity implements java.io.Serializ
		this.physicCode = physicCode;
	}
	@Column(name = "disp_quantity_untuck_flag")
	public Integer getDispQuantityUntuckFlag() {
		return dispQuantityUntuckFlag;
	}
	public void setDispQuantityUntuckFlag(Integer dispQuantityUntuckFlag) {
		this.dispQuantityUntuckFlag = dispQuantityUntuckFlag;
	}
	@Column(name = "disp_pack_untuck_flag")
	public Integer getDispPackUntuckFlag() {
		return dispPackUntuckFlag;
	}
	public void setDispPackUntuckFlag(Integer dispPackUntuckFlag) {
		this.dispPackUntuckFlag = dispPackUntuckFlag;
	}
}

+ 19 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/entity/zydict/ZyIvOrgPhysicAllotDict.java

@ -19,7 +19,8 @@ public class ZyIvOrgPhysicAllotDict extends IdEntity implements java.io.Serializ
	private String orgCode;//机构编码
	private String physicCode;//药品代码
	private String dispQuantityUntuckFlag;//门诊数量可拆标志
	private String dispPackUntuckFlag;//门诊包装可拆标志
	// Constructors
	/** default constructor */
@ -51,4 +52,21 @@ public class ZyIvOrgPhysicAllotDict extends IdEntity implements java.io.Serializ
		this.physicCode = physicCode;
	}
	@Column(name = "disp_quantity_untuck_flag")
	public String getDispQuantityUntuckFlag() {
		return dispQuantityUntuckFlag;
	}
	public void setDispQuantityUntuckFlag(String dispQuantityUntuckFlag) {
		this.dispQuantityUntuckFlag = dispQuantityUntuckFlag;
	}
	@Column(name = "disp_pack_untuck_flag")
	public String getDispPackUntuckFlag() {
		return dispPackUntuckFlag;
	}
	public void setDispPackUntuckFlag(String dispPackUntuckFlag) {
		this.dispPackUntuckFlag = dispPackUntuckFlag;
	}
}

+ 5 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java

@ -118,6 +118,11 @@ public class PrescriptionService extends BaseService {
                    String re = JSONArray.fromObject(list).toString();
                    redisTemplate.opsForValue().set(key,re,180, TimeUnit.DAYS);
                }
                Prescription prescription = prescriptionDao.findByCode(prescriptionCode);
                if(messageService.getMessageNoticeSettingByMessageType(prescription.getDoctor(),"1", MessageNoticeSetting.MessageTypeEnum.prescriptionSwitch.getValue())){
                    String content = "您有一条新的续方订单线下调整已完成!";
                    pushMsgTask.put(prescription.getDoctor(), MessageType.MESSAGE_TYPE_PRESCRIPTION_WAIT_TAKE_DRUG.D_P_WRD.name(), MessageType.MESSAGE_TYPE_PRESCRIPTION_WAIT_TAKE_DRUG.续方消息.name(), content, prescription.getCode());
                }
            }
        }
        catch (Exception ex) {

+ 11 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/adapter/PresModeAdapter.java

@ -17,6 +17,7 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2017/8/10.
@ -26,9 +27,10 @@ public class PresModeAdapter {
    private static Logger logger = LoggerFactory.getLogger(PresModeAdapter.class);
    @Autowired
    private Icd10DictServcie icd10DictServcie;
    @Autowired
    private ZyDictService zyDictService;
    @Autowired
    private Icd10DictServcie icd10DictServcie;
    /**
     * 处方模板适配器
@ -36,7 +38,7 @@ public class PresModeAdapter {
     * @return
     * @throws Exception
     */
    public JSONArray modeTopresInfo(String json){
    public JSONArray modeTopresInfo(String json,String doctor){
        try{
            JSONObject oldJson = JSONObject.parseObject(json);
            if(oldJson.getInteger("status")!=200){
@ -93,6 +95,12 @@ public class PresModeAdapter {
                            prescriptionInfo.setPhysicInjectPlaceName("");//注射地点名称
                            prescriptionInfo.setPhysicSkinTest(info.getString("PHYSIC_SKIN_TEST"));//皮试类型名称
                            prescriptionInfo.setPhysicSkinTestName(info.getString("PHYSIC_SKIN_TEST_NAME"));//皮试类型名称
                            //获取可拆标志
                            List<Map<String, Object>> list = zyDictService.findDispDictByCode(doctor,info.getString("ITEM_CODE"));
                            if(list!=null&&list.size()>0){
                                prescriptionInfo.setDispPackUntuckFlag(Integer.valueOf(list.get(0).get("dispPackUntuckFlag").toString()));
                                prescriptionInfo.setDispQuantityUntuckFlag(Integer.valueOf(list.get(0).get("dispQuantityUntuckFlag").toString()));
                            }
                            is.add(prescriptionInfo);
                        }
                        m.put("prescriptionInfo",is);

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

@ -21,9 +21,9 @@ import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.app.message.MessageService;
import com.yihu.wlyy.service.system.Icd10DictServcie;
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
import com.yihu.wlyy.service.third.jw.ZyDictService;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.util.ImUtill;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
@ -115,6 +115,8 @@ public class PrescriptionInfoService extends BaseService {
	private HttpClientUtil httpClientUtil;
    @Autowired
    private MessageService messageService;
    @Autowired
    private ZyDictService zyDictService;
    private static final Logger logger = LoggerFactory.getLogger(PrescriptionInfoService.class);
@ -889,6 +891,14 @@ public class PrescriptionInfoService extends BaseService {
    public com.alibaba.fastjson.JSONObject getContinuedPrescriptionAsDoctor(String code) {
        Prescription prescription = prescriptionDao.findByCode(code);
        List<PrescriptionInfo> prescriptionInfos = prescriptionInfoDao.findByPrescriptionCode(code);
        //获取药品可拆标志
        prescriptionInfos.forEach(info->{
            List<Map<String,Object>> list = zyDictService.findDispDictByCode(prescription.getDoctor(),info.getDrugCode());
            if(list!=null&&list.size()>0){
                info.setDispPackUntuckFlag(Integer.valueOf(list.get(0).get("dispPackUntuckFlag").toString()));
                info.setDispQuantityUntuckFlag(Integer.valueOf(list.get(0).get("dispQuantityUntuckFlag").toString()));
            }
        });
        PrescriptionReviewed reviewed = prescriptionReviewedDao.findByPrescriptionCode(code);
        List<PrescriptionAdjust> prescriptionAdjusts = prescriptionAdjustDao.findByPrescriptionCodeOrderByIdDesc(code);
        com.alibaba.fastjson.JSONObject rs = new com.alibaba.fastjson.JSONObject();
@ -1781,7 +1791,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.modeTopresInfo(rp);
        com.alibaba.fastjson.JSONArray rs = presModeAdapter.modeTopresInfo(rp,doctor);
        return rs;
    }

+ 29 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/jw/ZyDictService.java

@ -23,8 +23,8 @@ import java.util.Map;
 */
@Service
public class ZyDictService {
    @Autowired
    private JwPrescriptionService jwPrescriptionService;
//    @Autowired
//    private JwPrescriptionService jwPrescriptionService;
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
@ -186,6 +186,27 @@ public class ZyDictService {
        return "";
    }
    /**
     * 获取药品字典的可拆标志
     * @param doctor
     * @param code
     * @return
     */
    public List<Map<String, Object>> findDispDictByCode(String doctor,String code){
        String sql = "SELECT " +
                    "     o.disp_quantity_untuck_flag dispQuantityUntuckFlag, " +
                    "     o.disp_pack_untuck_flag dispPackUntuckFlag " +
                    "        FROM " +
                    "   wlyy_doctor_mapping h, " +
                    "   zy_iv_org_physic_allot_dict o " +
                    "  WHERE " +
                    "   o.org_code = h.jw_doctor_hospital " +
                    "   AND h.doctor_code = ? " +
                    "   AND o.physic_code = ? " ;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql,doctor,code);
        return list;
    }
    /**
     * 获取药品字典
@ -208,6 +229,8 @@ public class ZyDictService {
                " yp.quantity_unit drugNumUnit, " +
                " com2.`name` drugNumUnitName, " +
                " yp.retail_price retailPrice, " +
                " yp.dispQuantityUntuckFlag, " +
                " yp.dispPackUntuckFlag, " +
                " yp.storage_conditions storageConditions" +
                " FROM " +
                " (SELECT code,name FROM zy_common_dict WHERE dict_name = 'IV_MEASURE_UNIT_DICT') com1, " +
@ -226,12 +249,16 @@ public class ZyDictService {
                "   p.min_dose, " +
                "   p.pack_spec," +
                "   p.retail_price," +
                "   ho.dispQuantityUntuckFlag, " +
                "   ho.dispPackUntuckFlag, " +
                "   p.storage_conditions" +
                "    FROM  " +
                "   zy_iv_physic_dict p, " +
                "  ( " +
                "    SELECT " +
                "     o.physic_code, " +
                "     o.disp_quantity_untuck_flag dispQuantityUntuckFlag, " +
                "     o.disp_pack_untuck_flag dispPackUntuckFlag, " +
                "     o.org_code " +
                "        FROM " +
                "   wlyy_doctor_mapping h, " +

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

@ -24,7 +24,6 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
@ -473,7 +472,7 @@ public class PrescriptionInfoController extends BaseController {
    @ApiOperation(value = "测试适配器")
    public String testAdapter(@RequestParam(required = true) @ApiParam(value = "字符串", name = "json") String json) {
        try {
            return write(200, "操作成功!", "data", adapter.modeTopresInfo(json));
            return write(200, "操作成功!", "data", adapter.modeTopresInfo(json,""));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败!");