소스 검색

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

zd_123 7 년 전
부모
커밋
10501e1be0

+ 89 - 50
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/AppealService.java

@ -1,16 +1,21 @@
package com.yihu.wlyy.service.manager.feedback;
import com.yihu.wlyy.entity.Doctor;
import com.yihu.wlyy.entity.Message;
import com.yihu.wlyy.entity.SMS;
import com.yihu.wlyy.entity.feedback.Appeal;
import com.yihu.wlyy.repository.DoctorDao;
import com.yihu.wlyy.repository.MessageDao;
import com.yihu.wlyy.repository.PatientDao;
import com.yihu.wlyy.repository.SMSDao;
import com.yihu.wlyy.repository.feedback.AppealDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.SMSService;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -25,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.persistence.DynamicSpecifications;
import org.springside.modules.persistence.SearchFilter;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@ -46,8 +52,10 @@ public class AppealService extends BaseService {
    private SMSService smsService;
    @Autowired
    private SMSDao smsDao;
    @Value("${image.imgUrlDomain}")
    private String imgUrlDomain;
    @Value("${wlyyService.api}")
    private String wlyyService;
    @Autowired
    private MessageDao messageDao;
    /**
     * 分页查找问题
@ -69,13 +77,13 @@ public class AppealService extends BaseService {
        PageRequest pageRequest = new PageRequest(page - 1, rows, sort);
        // 设置查询条件
        Map<String, SearchFilter> filters = new HashMap<>();
        if (type!=-1){
        if (type != -1) {
            filters.put("type", new SearchFilter("type", SearchFilter.Operator.EQ, type));
        }
        if (identity!=-1){
        if (identity != -1) {
            filters.put("identity", new SearchFilter("identity", SearchFilter.Operator.EQ, identity));
        }
        if (status!=-1){
        if (status != -1) {
            filters.put("status", new SearchFilter("status", SearchFilter.Operator.EQ, status));
        }
        // 未删除
@ -85,7 +93,6 @@ public class AppealService extends BaseService {
    }
    /**
     * 根据类型、身份、状态查询申诉列表
     *
@ -136,10 +143,10 @@ public class AppealService extends BaseService {
        int status = appeal.getStatus();
//        identity 1、患者 2、医生
        String name = null;
        if(StringUtils.isNotBlank(creater)){
        if (StringUtils.isNotBlank(creater)) {
            if (identity == 1) {
                name = patientDao.findNameByCode(creater);
            }else{
            } else {
                Doctor doctor = doctorDao.findByCode(creater);
                name = doctor.getName();
            }
@ -154,23 +161,22 @@ public class AppealService extends BaseService {
        map.put("idcard", appeal.getIdcard());
        map.put("images", images);
        map.put("result", result);
        map.put("imgUrlDomain", imgUrlDomain);
        if (status == 0){
            appealDao.modifyAppealStatus(id,1);
        if (status == 0) {
            appealDao.modifyAppealStatus(id, 1);
        }
        return map;
    }
    //根据申诉ID保存处理结果,并更改状态
    public void saveAppealResult(long id, String result) throws Exception {
        appealDao.modifyAppealResult(id,result);
        appealDao.modifyAppealStatus(id,2);
        appealDao.modifyAppealResult(id, result);
        appealDao.modifyAppealStatus(id, 2);
    }
    public void delappeal(String ids) {
        if(ids!=null){
        if (ids != null) {
            String[] _ids = ids.split(",");
            for(String id:_ids){
            for (String id : _ids) {
                Long _id = Long.valueOf(id);
                appealDao.delAppeal(_id);
            }
@ -184,47 +190,80 @@ public class AppealService extends BaseService {
     * @throws Exception
     */
    @Transactional
    public void dealAppeal(Long id,String result) throws Exception {
    public void dealAppeal(Long id, String result) throws Exception {
        Appeal appeal = appealDao.findFeedbackById(id);
        appeal.setResult(result);
        appeal.setStatus(2);
        appealDao.save(appeal);
        //发送处理完成短信
        //您某年某月某日在i健康平台提交的账号申诉已处理,请使用i健康应用(微信公众号)查看处理结果,查看路径:账号登录—忘记密码—账号申诉—申诉记录
        //医生和居民用不同的内容,医生是i健康应用,居民是i健康微信公众号
        StringBuffer msgContent = new StringBuffer("您");
        msgContent.append(DateUtil.getYMD(appeal.getCreateTime()));
        msgContent.append("在i健康平台提交的账号申诉已处理,请使用");
        if(appeal.getIdentity()==1){
            msgContent.append("微信公众号");
        }else {
            msgContent.append("i健康应用");
        }
        msgContent.append("查看处理结果,查看路径:账号登录—忘记密码—账号申诉—申诉记录");
        JSONObject json = smsService.sendMsg(appeal.getPhone(),msgContent.toString());
        SMS sms = new SMS();
        Date date = new Date();
        // 延后5分钟
        sms.setContent(msgContent.toString());
        sms.setDeadline(date);
        sms.setCzrq(date);
        sms.setMobile(appeal.getPhone());
        sms.setIp("127.0.0.1");
        sms.setType(11);
        sms.setStatus(1);
        sms.setCaptcha("");
        smsDao.save(sms);
        if (json == null) {
            // 发送失败
            logger.error("申诉处理完成:短信发送失败");
        } else if (json.getInt("result") != 0) {
            logger.error("申诉处理完成:短信发送失败"+json.getString("description"));
        } else {
            //发送成功,保存到数据库
        try {
            //发送处理完成短信
            //您某年某月某日在i健康平台提交的账号申诉已处理,请使用i健康应用(微信公众号)查看处理结果,查看路径:账号登录—忘记密码—账号申诉—申诉记录
            //医生和居民用不同的内容,医生是i健康应用,居民是i健康微信公众号
            StringBuffer msgContent = new StringBuffer("您");
            msgContent.append(DateUtil.getYMD(appeal.getCreateTime()));
            msgContent.append("在i健康平台提交的账号申诉已处理,请使用");
            if (appeal.getIdentity() == 1) {
                msgContent.append("微信公众号");
            } else {
                msgContent.append("i健康应用");
            }
            msgContent.append("查看处理结果,查看路径:账号登录—忘记密码—账号申诉—申诉记录");
            JSONObject json = smsService.sendMsg(appeal.getPhone(), msgContent.toString());
            SMS sms = new SMS();
            Date date = new Date();
            // 延后5分钟
            sms.setContent(msgContent.toString());
            sms.setDeadline(date);
            sms.setCzrq(date);
            sms.setMobile(appeal.getPhone());
            sms.setIp("127.0.0.1");
            sms.setType(11);
            sms.setStatus(1);
            smsDao.save(sms);
        }
            if (json == null) {
                // 发送失败
                logger.error("申诉处理完成:短信发送失败");
            } else if (json.getInt("result") != 0) {
                logger.error("申诉处理完成:短信发送失败" + json.getString("description"));
            } else {
                //发送成功,保存到数据库
                smsDao.save(sms);
            }
            if (appeal.getIdentity() == 2) {
                String creater = appeal.getCreater();
                SimpleDateFormat formatDate = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                String newDate = formatDate.format(new Date());
                String title = "新增系统消息";
                String content = "您在" + newDate + "提交的意见反馈已处理,您可点此查看处理结果";
                Message message = new Message();
                message.setType(10);
                message.setCode(UUID.randomUUID().toString());
                message.setCzrq(new Date());
                message.setCreateTime(new Date());
                message.setContent(content);
                message.setRead(1);//设置未读
                message.setReceiver(creater);//设置接受医生的code
                message.setSender("system");//设置发送的用户
                message.setTitle(title);
                message.setReadonly(1);//是否只读消息
                //wlyy给医生发送系统消息
                Doctor doctor = doctorDao.findByCode(creater);
                String doctorOpenID = doctor.getOpenid();
                String url = wlyyService + "/patient/feedback/sendMessage";
                List<NameValuePair> params = new ArrayList<>();
                params.add(new BasicNameValuePair("receiver", creater));
                params.add(new BasicNameValuePair("title", title));
                params.add(new BasicNameValuePair("content", content));
                HttpClientUtil.post(url, params, "UTF-8");
                messageDao.save(message);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

+ 4 - 2
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/DiseaseConvert.java

@ -30,8 +30,10 @@ public class DiseaseConvert implements Convert {
            try {
                keyList = initHealthLabesMap(jdbcTemplate, temp, one);
                for(String key:keyList){
                    DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(one, key);
                    returnList.add(one);
                    DataModel dataModelTemp = new DataModel();
                    BeanUtils.copyProperties(one, dataModelTemp);
                    DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(dataModelTemp, key);
                    returnList.add(dataModelTemp);
                }
            }catch (Exception e) {
                e.printStackTrace();

+ 3 - 3
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/DispensaryTypeConvert.java

@ -13,13 +13,13 @@ import java.util.List;
 * Created by zhangdan on 2017/10/26.
 */
public class DispensaryTypeConvert implements Convert {
    public List<DataModel> convert(JdbcTemplate jdbcTemplate, List oneList, String slaveLevel, WlyyDimensionQuota temp ) {
    public List<DataModel> convert(JdbcTemplate jdbcTemplate, List<DataModel> oneList, String slaveLevel, WlyyDimensionQuota temp ) {
        oneList.stream().forEach(one -> {
            try {
                Object value = DataModel.class.getMethod("get" + temp.getKey()).invoke(one);
//                Object value = DataModel.class.getMethod("get" + temp.getKey()).invoke(one);
                //获取到prescriptionCode,求长处方配送方式
                String sql ="SELECT dispensary_type FROM wlyy_prescription WHERE code=?";
                Object[] args = {value};
                Object[] args = {one.getPrescriptionCode()};
                String type=jdbcTemplate.queryForObject(sql,args,String.class);
                DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(one, type);
            } catch (Exception e) {

+ 3 - 3
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/PrescriptionStatusConvert.java

@ -19,14 +19,14 @@ import java.util.Map;
 * Created by zhangdan on 2017/10/26.
 */
public class PrescriptionStatusConvert implements Convert {
    public List<DataModel> convert(JdbcTemplate jdbcTemplate, List oneList, String slaveLevel, WlyyDimensionQuota temp ) {
    public List<DataModel> convert(JdbcTemplate jdbcTemplate, List<DataModel> oneList, String slaveLevel, WlyyDimensionQuota temp ) {
        oneList.stream().forEach(one -> {
            try {
                Object value = DataModel.class.getMethod("get" + temp.getKey()).invoke(one);
//                Object value = DataModel.class.getMethod("get" + temp.getKey()).invoke(one);
                //获取到prescriptionCode,求长处方状态
                String sql ="SELECT status FROM wlyy_prescription WHERE code=?";
                //int status = jdbcTemplate.queryForObject(sql, Integer.class);
                Object[] args = {value};
                Object[] args = {one.getPrescriptionCode()};
                int status=jdbcTemplate.queryForObject(sql,args,Integer.class);
                String key = getStatusCode(status);
                DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(one, key);

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

@ -233,7 +233,8 @@ public class OnePayService {
            Date begin = signFamily.getBegin();
            Date end = signFamily.getEnd();
            if (begin != null && end != null) {
                totalAmount = getTotalAmount(sdf.format(begin), sdf.format(end), "yyyy-MM-dd");
//                totalAmount = getTotalAmount(sdf.format(begin), sdf.format(end), "yyyy-MM-dd");
                totalAmount = getTotalAmount(sdf.format(new Date()), sdf.format(end), "yyyy-MM-dd"); // v1.4.0 开始时间为系统时间
            } else {
                return "-2";
            }
@ -314,7 +315,8 @@ public class OnePayService {
                familyContent.put("moRegOrgNo", sbCode); //签约机构 限长4
                familyContent.put("moRegDocNo", doctor.getIdcard());//签约医生编号 限长18 身份证号
                familyContent.put("moRegDocName", signFamily.getSignDoctorName()); //签约医生姓名
                familyContent.put("moRegTime", format.format(signFamily.getBegin())); //签约时间
//                familyContent.put("moRegTime", format.format(signFamily.getBegin())); //签约时间
                familyContent.put("moRegTime", format.format(new Date())); //签约时间 v1.4.0更改
                familyContent.put("moRegEndTime", format.format(signFamily.getEnd())); //签约截止时间
                familyContent.put("moRegTear", signFamily.getSignYear());//签约年度
                familyContent.put("moRegSource", signFamily.getSignSource()); //签约来源