Browse Source

药柜代码修改

bing 2 years ago
parent
commit
d4c6dcaf4c

+ 12 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineOrderDrugsEndpoint.java

@ -53,10 +53,12 @@ public class MedicineOrderDrugsEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "card_sn", value = "卡识别码")
            @RequestParam(value = "card_sn", required = false) String card_sn,
            @ApiParam(name = "idcard", value = "身份证")
            @RequestParam(value = "idcard", required = false) String idcard){
            @RequestParam(value = "idcard", required = false) String idcard,
            @ApiParam(name="equ_num",value="药柜设备号",defaultValue = "")
            @RequestParam(value = "equ_num",required = false) String equ_num){
        try {
            return success("操作成功", medOrderService.readCardInfo(orgCode,cardNo,card_sn,mdtrt_cert_type,idcard));
            return success("操作成功", medOrderService.readCardInfo(orgCode,cardNo,card_sn,mdtrt_cert_type,idcard,equ_num));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
@ -89,10 +91,12 @@ public class MedicineOrderDrugsEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "card_sn", value = "卡识别码")
            @RequestParam(value = "card_sn", required = false) String card_sn,
            @ApiParam(name = "idcard", value = "身份证")
            @RequestParam(value = "idcard", required = false) String idcard){
            @RequestParam(value = "idcard", required = false) String idcard,
            @ApiParam(name="equ_num",value="药柜设备号",defaultValue = "")
            @RequestParam(value = "equ_num",required = false) String equ_num){
        try {
            return success("操作成功", medOrderService.getSettlementInfoFirst(recipe_no,card_sn,mdtrt_cert_type,idcard));
            return success("操作成功", medOrderService.getSettlementInfoFirst(recipe_no,card_sn,mdtrt_cert_type,idcard,equ_num));
        } catch (Exception e) {
           e.printStackTrace();
            return Envelop.getError(e.getMessage());
@ -109,9 +113,11 @@ public class MedicineOrderDrugsEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "registerResult", value = "registerResult")
            @RequestParam(value = "registerResult", required = false) String registerResult,
            @ApiParam(name = "mdtrt_cert_type", value = "凭证类型01扫医保凭证02身份证03医保卡 如果是扫凭证 该参数传01外加身份证字段")
            @RequestParam(value = "mdtrt_cert_type",required = false) String mdtrt_cert_type){
            @RequestParam(value = "mdtrt_cert_type",required = false) String mdtrt_cert_type,
            @ApiParam(name="equ_num",value="药柜设备号",defaultValue = "")
            @RequestParam(value = "equ_num",required = false) String equ_num){
        try {
            return success("操作成功", medOrderService.getSettlementInfoSecond(recipe_no,mdtrt_cert_type,readcardResult,registerResult));
            return success("操作成功", medOrderService.getSettlementInfoSecond(recipe_no,mdtrt_cert_type,readcardResult,registerResult,equ_num));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());

+ 4 - 17
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/CommonEndpoint.java

@ -23,29 +23,16 @@ public class CommonEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private YlzService ylzService;
    @RequestMapping(value = "/deviceYBApi",method = RequestMethod.GET)
    @ApiOperation("药柜自助机医保接口")
    public ObjEnvelop deviceYBApi(@ApiParam(name = "apiStr",value = "接口地址",required = true)
                                  @RequestParam(value = "apiStr")String apiStr,
                                  @ApiParam(name = "orgCode",value = "药柜所在机构",required = true)
                                  @RequestParam(value = "orgCode")String orgCode,
                                  @ApiParam(name = "dataInfo",value = "医保data参数",required = true)
                                  @RequestParam(value = "dataInfo")String dataInfo){
        try {
            return ObjEnvelop.getSuccess("success",ylzService.deviceYBApi(apiStr,orgCode,dataInfo));
        }catch (Exception e){
            return failedObjEnvelopException(e);
        }
    }
    @RequestMapping(value = "/readcardParamTest",method = RequestMethod.GET)
    @ApiOperation("医保人员基本信息获取接口参数封装")
    public ObjEnvelop readcardParamTest( @ApiParam(name = "cardNo", value = "cardNo")
                                         @RequestParam(value = "cardNo", required = true) String cardNo,
                                         @ApiParam(name = "orgCode", value = "orgCode")
                                         @RequestParam(value = "orgCode", required = true) String orgCode){
                                         @RequestParam(value = "orgCode", required = true) String orgCode,
                                         @ApiParam(name="equ_num",value="药柜设备号",defaultValue = "")
                                         @RequestParam(value = "equ_num",required = false) String equ_num){
        try {
            return ObjEnvelop.getSuccess("success",ylzService.readcardParamTest(cardNo,orgCode));
            return ObjEnvelop.getSuccess("success",ylzService.readcardParamTest(cardNo,orgCode,equ_num));
        }catch (Exception e){
            return failedObjEnvelopException(e);
        }

+ 6 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedOrderService.java

@ -171,10 +171,10 @@ public class MedOrderService {
        return null;
    }
    public JSONObject readCardInfo(String orgCode,String cardNo ,String card_sn,String mdtrt_cert_type,String idcard) throws Exception {
    public JSONObject readCardInfo(String orgCode,String cardNo ,String card_sn,String mdtrt_cert_type,String idcard,String equ_num) throws Exception {
        JSONObject result = new JSONObject();
        String sql = " select dp.* from t_mediicine_device de INNER JOIN t_mediicine_device_param dp on de.id = dp.device_id  " +
                "where de.del=1 and dp.del=1 and de.belong_community='"+orgCode+"' ";
                "where de.del=1 and dp.del=1 and de.equ_num='"+equ_num+"' ";
        List<Map<String,Object>> deviceParams =  jdbcTemplate.queryForList(sql);
        if (deviceParams.size()==0){
            throw new Exception("药柜参数获取错误");
@ -292,7 +292,7 @@ public class MedOrderService {
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public com.alibaba.fastjson.JSONArray getSettlementInfoFirst(String recipe_no,String card_sn,String mdtrt_cert_type,String idcard) throws Exception {
    public com.alibaba.fastjson.JSONArray getSettlementInfoFirst(String recipe_no,String card_sn,String mdtrt_cert_type,String idcard,String equ_num) throws Exception {
        JSONArray result = new JSONArray();
        YlzMedicalRelationDO ylzMedicalRelationDO = ylzMedicailRelationDao.findByLog_no(recipe_no);
        if (null==ylzMedicalRelationDO){
@ -302,7 +302,7 @@ public class MedOrderService {
        String orgCode = ylzMedicalRelationDO.getOrgCode();
        logger.info("获取患者待结算信息结束!");
        String sql = " select dp.* from t_mediicine_device de INNER JOIN t_mediicine_device_param dp on de.id = dp.device_id  " +
                "where de.del=1 and dp.del=1 and de.belong_community='"+orgCode+"' ";
                "where de.del=1 and dp.del=1 and de.equ_num='"+equ_num+"' ";
        List<Map<String,Object>> deviceParams =  jdbcTemplate.queryForList(sql);
        if (deviceParams.size()==0){
            throw new Exception("药柜参数获取错误");
@ -462,7 +462,7 @@ public class MedOrderService {
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public com.alibaba.fastjson.JSONArray getSettlementInfoSecond(String recipe_no,String mdtrt_cert_type,String readcardResult,String registerResult) throws Exception {
    public com.alibaba.fastjson.JSONArray getSettlementInfoSecond(String recipe_no,String mdtrt_cert_type,String readcardResult,String registerResult,String equ_num) throws Exception {
        YlzMedicalRelationDO ylzMedicalRelationDO = ylzMedicailRelationDao.findByLog_no(recipe_no);
        JSONArray result = new JSONArray();
        JSONObject resultTmp = new JSONObject();
@ -484,7 +484,7 @@ public class MedOrderService {
        List<YlzMedicalIcdDO> ylzMedicalIcdDOS = ylzMedicailIcdDao.findByMedicalId(ylzMedicalRelationDO.getId());
        String sql = " select dp.* from t_mediicine_device de INNER JOIN t_mediicine_device_param dp on de.id = dp.device_id  " +
                "where de.del=1 and dp.del=1 and de.belong_community='"+ylzMedicalRelationDO.getOrgCode()+"' ";
                "where de.del=1 and dp.del=1 and de.equ_num='"+equ_num+"' ";
        List<Map<String,Object>> deviceParams =  jdbcTemplate.queryForList(sql);
        if (deviceParams.size()==0){
            throw new Exception("药柜参数获取错误");

+ 2 - 63
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/YlzService.java

@ -188,74 +188,13 @@ public class YlzService {
        return re;
    }
    /**
     * 药柜自助机-医保接口(弃用)
     * @param apiStr 接口名称 如:fsi.terminal.readcard
     * @param orgCode 药柜索要机构编码
     * @param dataInfo 医保参数data信息
     * @return
     * @throws Exception
     */
    public String deviceYBApi(String apiStr,String orgCode,String dataInfo)throws Exception{
        if ("jwZnygProdIn".equals(springProfiles)){//内网访问
            String sql = " select dp.* from t_mediicine_device de INNER JOIN t_mediicine_device_param dp on de.id = dp.device_id  " +
                    "where de.del=1 and dp.del=1 and de.belong_community='"+orgCode+"' ";
            List<Map<String,Object>> deviceParams =  jdbcTemplate.queryForList(sql);
            if (deviceParams.size()==0){
                throw new Exception("药柜参数获取错误");
            }
            Map<String,Object> deviceParam = deviceParams.get(0);
            JSONObject strinObj = JSONObject.parseObject(deviceParam.get("yb_strin").toString());
            strinObj.put("func",apiStr);
            strinObj.put("data",JSONObject.parseObject(dataInfo));
            String deviceIp = deviceParam.get("device_ip").toString();
            List<NameValuePair> params = new ArrayList<>();
            params.add(new BasicNameValuePair("strin", strinObj.toJSONString()));
            String url = "http://"+deviceIp+":9000/api/Mi";
            String result =  httpClientUtil.get(url,params,"UTF-8");
            WlyyHttpLogDO logDO = new WlyyHttpLogDO();
            logDO.setCode(apiStr);
            logDO.setName("药柜医保接口");
            logDO.setRequest(url+JSONObject.toJSONString(params));
            logDO.setResponse(result);
            logDO.setCreateTime(new Date());
            httpLogDao.save(logDO);
            return result;
        }else {
            String url = entranceUrl+"/common/test/open/deviceYBApi";
            Map map = new HashMap<String, String>();
            map.put("apiStr", apiStr);
            map.put("orgCode", orgCode);
            map.put("dataInfo",dataInfo);
            String content = com.alibaba.fastjson.JSONObject.toJSONString(map);
            String params = AesEncryptUtils.agEncrypt(content);
            String resultStr =  httpClientUtil.getBodyRawForm(url,params);
            JSONObject resultObject = com.alibaba.fastjson.JSONObject.parseObject(resultStr);
            if (resultObject.get("status").equals("200")) {
                JSONObject jsonObjectData = JSONObject.parseObject(AesEncryptUtils.agDecrypt(resultObject.get("data").toString()));
                logger.info(jsonObjectData.toJSONString());
//                String resultStr="{\"message\":\"success\",\"status\":200,\"obj\":\"\\\"{\\\\\\\"func\\\\\\\":\\\\\\\"fsi.terminal.readcard\\\\\\\",\\\\\\\"retCode\\\\\\\":\\\\\\\"-4\\\\\\\",\\\\\\\"retMsg\\\\\\\":\\\\\\\"服务器连接失败。\\\\\\\"}\\\"\"}";
                if (200==jsonObjectData.getInteger("status")){
                    return jsonObjectData.getString("obj");
                }else {
                    throw new Exception(jsonObjectData.getString("message"));
                }
            }else {
                throw new Exception("请求失败");
            }
        }
    }
    /**
     *  医保人员信息接口参数封装测试
     */
    public com.alibaba.fastjson.JSONArray readcardParamTest(String cardNo,String orgCode) throws Exception {
    public com.alibaba.fastjson.JSONArray readcardParamTest(String cardNo,String orgCode,String equ_num) throws Exception {
        JSONArray result = new JSONArray();
        String sql = " select dp.* from t_mediicine_device de INNER JOIN t_mediicine_device_param dp on de.id = dp.device_id  " +
                "where de.del=1 and dp.del=1 and de.belong_community='"+orgCode+"' ";
                "where de.del=1 and dp.del=1 and de.equ_num='"+equ_num+"' ";
        List<Map<String,Object>> deviceParams =  jdbcTemplate.queryForList(sql);
        if (deviceParams.size()==0){
            throw new Exception("药柜参数获取错误");