Browse Source

合并1.3.9

wujunjie 7 years ago
parent
commit
01ae07d4f2

+ 42 - 10
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PatientPrescriptionPayService.java

@ -1048,11 +1048,32 @@ public class PatientPrescriptionPayService extends BaseService {
            String ssc = card.getAttachCardNo();
            String idType = card.getAttachIdType();
            String idNo = card.getAttachIdNo();
            logger.info("================================>" + "after get BindCard");
//            验证续方人与绑卡人是否一致
            if (!(payName.equals(name) && paySsc.equals(ssc) && payIdcard.equals(idNo))) {
                resultMap.put("status", "-1");
                return resultMap;
            String resName = "";
            String resSsc = "";
            String resIdNo = "";
            if (!patient.equals(repUid)){
                List<BindCard> bindCard = onePayService.bindCardList(openid);
                for (BindCard cards : bindCard) {
                    String attachCardNo = cards.getAttachCardNo();
                    if (StringUtil.isNotEmpty(attachCardNo) && StringUtil.isNotEmpty(paySsc) && paySsc.equals(attachCardNo)) {
                        resIdNo = cards.getAttachIdNo();
                        resName = cards.getAttachName();
                        resSsc = cards.getAttachCardNo();
                    }
                }
                //            验证续方人与绑卡人(或代理人)是否一致
                if (!(payName.equals(resName) && paySsc.equals(resSsc) && payIdcard.equals(resIdNo))) {
                    resultMap.put("status", "-1");
                    return resultMap;
                }
            }else {
                logger.info("================================>" + "after get BindCard");
//            验证续方人与绑卡人(或代理人)是否一致
                if (!(payName.equals(name) && paySsc.equals(ssc) && payIdcard.equals(idNo))) {
                    resultMap.put("status", "-1");
                    return resultMap;
                }
            }
            prescriptionPay.setCardNo(ssc);//医保卡号
@ -1099,12 +1120,22 @@ public class PatientPrescriptionPayService extends BaseService {
            String visitNo = prescription.getVisitNo();//续方挂号号
            String recipeNo = prescription.getRecipeNo();//基位处方code(开方成功后返回)
            logger.debug("======================> getPayInfo " + ssc + visitNo);
            if (visitNo == null || ssc == null || recipeNo == null) {
                resultMap.put("status", "-2");
                return resultMap;
            JSONObject jsonParams = null;
            if (!patient.equals(repUid)){
                logger.debug("======================> getPayInfo " + resSsc + visitNo);
                if (visitNo == null || resSsc == null || recipeNo == null) {
                    resultMap.put("status", "-2");
                    return resultMap;
                }
                jsonParams = prescriptionService.getPayInfo(resSsc, visitNo, recipeNo);
            }else{
                logger.debug("======================> getPayInfo " + ssc + visitNo);
                if (visitNo == null || ssc == null || recipeNo == null) {
                    resultMap.put("status", "-2");
                    return resultMap;
                }
                jsonParams = prescriptionService.getPayInfo(ssc, visitNo, recipeNo);
            }
            JSONObject jsonParams = prescriptionService.getPayInfo(ssc, visitNo, recipeNo);
            if (!jsonParams.containsKey("recipeContent") || !jsonParams.containsKey("zdlist") || !jsonParams.containsKey("mxlist")) {
                resultMap.put("status", "-3");
@ -1132,6 +1163,7 @@ public class PatientPrescriptionPayService extends BaseService {
            map.put("settleType", "01"); //诊间医保结算
//            易联众新增字段代支付v1.3.7
            map.put("principalCardNo", ssc); //实际结算卡号( 默认为绑卡主体卡号)
            prescriptionPay.setPrincipalCardNo(ssc);
            if (!patient.equals(repUid)) {
                String principalCardNo = null;
                Patient person = patientDao.findByCode(repUid);

+ 30 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/weixin/wxpay/service/OnePayService.java

@ -255,11 +255,35 @@ public class OnePayService {
            charge.setSubject(subject);
            charge.setTotalAmount(Integer.parseInt(totalAmount));  //  交易总金额
            BindCard card = ownerCard(openid);
            String name = card.getAttachName();
            String ssc = card.getAttachCardNo();
            String idType = card.getAttachIdType();
            String idNo = card.getAttachIdNo();
//            BindCard card = ownerCard(openid);
            Patient uid = patientDao.findByCode(patient);
            String name = uid.getName();
            String ssc = uid.getSsc();
            String idType = "01";
            String idNo = uid.getIdcard();
            List<BindCard> bindCards = bindCardList(openid);
            String payName = "";
            String paySsc = "";
            String payIdType = "";
            String payIdNo = "";
            for (BindCard bind :bindCards) {
                String attachCardNo = bind.getAttachCardNo();
                if (StringUtil.isNotEmpty(attachCardNo) && StringUtil.isNotEmpty(ssc) && ssc.equals(attachCardNo)) {
                    payName = bind.getAttachName();
                    paySsc = bind.getAttachCardNo();
                    payIdType = bind.getAttachIdType();
                    payIdNo = bind.getAttachIdNo();
                }
            }
            //            验证登录人与绑卡人(或代理人)是否一致
            if (!(name.equals(payName) && ssc.equals(paySsc) && idNo.equals(payIdNo))) {
                return "-1";
            }else{
                name = payName;
                ssc = paySsc;
                idNo = payIdNo;
                idType = payIdType;
            }
            charge.setName(name);
            charge.setIdType(idType);
            charge.setIdNo(idNo);
@ -698,7 +722,7 @@ public class OnePayService {
                    p.setOpenid(openid);
                }
//            增加绑定电子社保卡信息
                if (!"1".equals(p.getSicardStatus())){
                if (p.getSicardStatus()!=null && p.getSicardStatus()!=1){
                    p.setSicardTime(new Date());
                }
                patientDao.save(p);