Ver código fonte

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

# Conflicts:
#	patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/HopsitalServiceItemController.java
#	patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/SpecialistHospitalItemService.java
wangzhinan 7 anos atrás
pai
commit
4ac1424403

+ 30 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/HopsitalServiceItemController.java

@ -4,6 +4,8 @@ package com.yihu.wlyy.controller.manager.specialist;/**
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.service.manager.specialist.SpecialistHospitalItemService;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@ -11,6 +13,10 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
/**
 * @author wangzhinan
 * @create 2018-08-29 1:48
@ -123,4 +129,28 @@ public class HopsitalServiceItemController extends BaseController {
            return error(-1, "删除失败");
        }
    }
    /**
     * 机构服务项目导数据
     * @param request
     * @return
     */
    @RequestMapping(value = "importData", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String importData(HttpServletRequest request) {
        try {
            request.setCharacterEncoding("UTF-8");
            InputStream inputStream = request.getInputStream();
            Workbook workbook = Workbook.getWorkbook(inputStream);
            specialistHospitalItemService.importData(workbook);
            return write(200, "操作成功");
        } catch (IOException | BiffException e) {
            e.printStackTrace();
            error(e);
            return error(-1, "操作失败!");
        }
    }
}

+ 28 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/ServiceItemController.java

@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.entity.specialist.SpecialistServiceItemDO;
import com.yihu.wlyy.service.manager.specialist.ServiceItemService;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@ -13,6 +15,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
@ -133,4 +138,27 @@ public class ServiceItemController  extends BaseController {
            return error(-1, "操作失败");
        }
    }
    /**
     * 服务项目导数据
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "importData", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String importData(HttpServletRequest request) {
        try {
            request.setCharacterEncoding("UTF-8");
            InputStream inputStream = request.getInputStream();
            Workbook workbook = Workbook.getWorkbook(inputStream);
            serviceItemService.importData(workbook);
            return write(200, "操作成功");
        } catch (IOException | BiffException e) {
            e.printStackTrace();
            error(e);
            return error(-1, "操作失败!");
        }
    }
}

+ 142 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/specialist/HospitalServiceItemDO.java

@ -0,0 +1,142 @@
package com.yihu.wlyy.entity.specialist;/**
 * Created by nature of king on 2018/8/16.
 */
import com.yihu.wlyy.entity.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
/**
 * @author wangzhinan
 * @create 2018-08-16 14:49
 * @desc 机构服务
 **/
@Entity
@Table(name = "wlyy_hospital_service_item")
public class HospitalServiceItemDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//saasId
    @Column(name = "hospital")
    private String hospital; //医院code
    @Column(name = "hospital_name")
    private String hospitalName;//医院名称
    @Column(name = "service_item_id")
    private String serviceItemId;//服务项目id
    @Column(name = "service_item_name")
    private String serviceItemName;//服务项目名称
    @Column(name = "status")
    private Integer status;//状态
    @Column(name = "expense")
    private Integer expense;//价格
    @Transient
    private Integer flag;//标识(1:社区,2、医院,3、社区、医院)
    @Column(name = "imediate")
    private Integer imediate;//(1:立即生效、0:未立即生效 )
    @Transient
    private SpecialistServiceItemDO specialistServiceItemDO;
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "hospital")
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    @Column(name = "hospital_name")
    public String getHospitalName() {
        return hospitalName;
    }
    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }
    @Column(name = "service_item_id")
    public String getServiceItemId() {
        return serviceItemId;
    }
    public void setServiceItemId(String serviceItemId) {
        this.serviceItemId = serviceItemId;
    }
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    @Transient
    public SpecialistServiceItemDO getSpecialistServiceItemDO() {
        return specialistServiceItemDO;
    }
    public void setSpecialistServiceItemDO(SpecialistServiceItemDO specialistServiceItemDO) {
        this.specialistServiceItemDO = specialistServiceItemDO;
    }
    @Column(name = "expense")
    public Integer getExpense() {
        return expense;
    }
    public void setExpense(Integer expense) {
        this.expense = expense;
    }
    @Column(name = "service_item_name")
    public String getServiceItemName() {
        return serviceItemName;
    }
    public void setServiceItemName(String serviceItemName) {
        this.serviceItemName = serviceItemName;
    }
    @Transient
    public Integer getFlag() {
        return flag;
    }
    public void setFlag(Integer flag) {
        this.flag = flag;
    }
    @Column(name = "imediate")
    public Integer getImediate() {
        return imediate;
    }
    public void setImediate(Integer imediate) {
        this.imediate = imediate;
    }
}

+ 174 - 42
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/ServiceItemService.java

@ -3,10 +3,16 @@ package com.yihu.wlyy.service.manager.specialist;/**
 */
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.specialist.SpecialistServiceItemDO;
import com.yihu.wlyy.repository.SystemDictDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.common.excel.ExcelData;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.ReadExcelUtil;
import jxl.Sheet;
import jxl.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -167,58 +173,184 @@ public class ServiceItemService extends BaseService {
    }
    /*public JSONObject importData(HttpServletRequest request) throws Exception {
        String response = null;
        String url =getBaseUrl() + "importData";
        JSONObject object =
        try {
            response = httpClientUtil.po;
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }*/
   /* public boolean importData(Workbook workbook) {
    /**
     * 导数据
     *
     * @param workbook
     * @return
     */
    public JSONObject importData(Workbook workbook) {
        Sheet[] sheets = workbook.getSheets();
        Sheet sheet = sheets[0];
        int rows = ReadExcelUtil.getRightRows(sheet);
        JSONArray array = new  JSONArray();
        for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题
            Hospital hospital = new Hospital();
            Map<Integer, ExcelData> mapping = mapping(hospital);
            SpecialistServiceItemDO itemDO = new SpecialistServiceItemDO();
            Map<Integer, ExcelData> mapping = mapping(itemDO);
            int finalRow = row;
            mapping.forEach((index, excelData) -> {
                String value = sheet.getCell(index, finalRow).getContents().trim();
                excelData.transform(value);
            });
            JSONObject object = JSONObject.parseObject(itemDO.toString());
            array.add(object);
        }
        String response = null;
        String url =getBaseUrl() + "importData1";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItems",array.toJSONString());
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
            //Additional Handel
            String hospitalExist = this.isNameExist(hospital.getName());
            if (hospitalExist.equals("true")) {//机构存在,但是未判断wlyyRole是否存在
                hospital = hospitalDao.findByName(hospital.getName());
                WlyyRole wlyyRole = new WlyyRole();
                WlyyRole wlyyRole1 = wlyyRoleDao.findByName(hospital.getName());
                if(wlyyRole1==null){//不存在则保存
                    wlyyRole.setName(hospital.getName());
                    wlyyRole.setCode(hospital.getCode());
                    wlyyRole.setCzrq(new Date());
                    wlyyRoleDao.save(wlyyRole);
                }
                continue;
    /**
     * 表格数据转为对象
     *
     * @param specialistServiceItemDO
     * @return
     */
    private Map<Integer, ExcelData> mapping(SpecialistServiceItemDO specialistServiceItemDO) {
        Map<Integer, ExcelData> dataMap = new HashMap<>();
        //项目名称
        dataMap.put(1, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setTitle(data);
            }
            //机构不存在,先保存机构,在判断wlyyRole是否存在
            hospital.setDel("1");
            hospital = hospitalDao.save(hospital);
            WlyyRole wlyyRole = new WlyyRole();
            WlyyRole wlyyRole1 = wlyyRoleDao.findByName(hospital.getName());
            if(wlyyRole1==null){//不存在则保存
                wlyyRole.setName(hospital.getName());
                wlyyRole.setCode(hospital.getCode());
                wlyyRole.setCzrq(new Date());
                wlyyRoleDao.save(wlyyRole);
        });
        //项目内涵
        dataMap.put(2, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setContent(data);
            }
        }
        return true;
    }*/
        });
        //除去内容
        dataMap.put(3, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setExcludeContent(data);
            }
        });
        //项目类型
        dataMap.put(4, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String, String> centerSite = new HashMap<>();
                centerSite.put("康复服务", "1");
                centerSite.put("健康服务", "2");
                specialistServiceItemDO.setItemType(Integer.parseInt(centerSite.get(data)));
            }
        });
        //医院等级
        dataMap.put(5, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> grade = new HashMap<>();
                grade.put("所有",0);
                grade.put("一级及一级以下医疗机构",1);
                grade.put("二级医院",2);
                grade.put("三级医院",3);
                specialistServiceItemDO.setHospitalGrade(grade.get(data));
            }
        });
        //三级医院收费
        dataMap.put(6, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setThreeHospitals(Integer.parseInt(data));
            }
        });
        //二级医院收费
        dataMap.put(7, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setTwoHospitals(Integer.parseInt(data));
            }
        });
        //一级及下收费
        dataMap.put(8, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setOneHospitals(Integer.parseInt(data));
            }
        });
        //计价单位
        dataMap.put(9, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setUnit(Integer.parseInt(data));
            }
        });
        //加收项目
        dataMap.put(10, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setAddItem(data);
            }
        });
        //病案项目
        dataMap.put(11, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setDiseaseItem(data);
            }
        });
        //是否预约
        dataMap.put(12, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> reserve = new HashMap<>();
                reserve.put("是",1);
                reserve.put("否",0);
                specialistServiceItemDO.setReserve(reserve.get(data));
            }
        });
        //完成方式
        dataMap.put(13, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> type = new HashMap<>();
                type.put("扫码",1);
                type.put("上传附件",0);
                type.put("健康教育",2);
                type.put("健康指导",3);
                type.put("随访",4);
                specialistServiceItemDO.setType(type.get(data));
            }
        });
        //是否评价
        dataMap.put(14, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> evaluate = new HashMap<>();
                evaluate.put("是",1);
                evaluate.put("否",0);
                specialistServiceItemDO.setEvaluation(evaluate.get(data));
            }
        });
        //是否生效
        dataMap.put(15, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> imediate = new HashMap<>();
                imediate.put("是",1);
                imediate.put("否",0);
                specialistServiceItemDO.setEvaluation(imediate.get(data));
            }
        });
        return dataMap;
    }
}

+ 84 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/SpecialistHospitalItemService.java

@ -5,10 +5,15 @@ package com.yihu.wlyy.service.manager.specialist;/**
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.Hospital;
import com.yihu.wlyy.entity.specialist.HospitalServiceItemDO;
import com.yihu.wlyy.repository.HospitalDao;
import com.yihu.wlyy.repository.SystemDictDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.common.excel.ExcelData;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.ReadExcelUtil;
import jxl.Sheet;
import jxl.Workbook;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -128,7 +133,7 @@ public class SpecialistHospitalItemService extends BaseService {
            array.add(hospital);
        }
        String response = null;
        String url =getBaseUrl() + "selectItemByHospital";
        String url =getBaseUrl() + "selectByCondition";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItemName",serviceItemName);
        params.put("hospitals",array.toJSONString());
@ -159,4 +164,82 @@ public class SpecialistHospitalItemService extends BaseService {
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 机构服务项目导数据
     *
     * @param workbook
     * @return
     */
    public JSONObject importData(Workbook workbook) {
        Sheet[] sheets = workbook.getSheets();
        Sheet sheet = sheets[0];
        int rows = ReadExcelUtil.getRightRows(sheet);
        JSONArray array = new  JSONArray();
        for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题
            HospitalServiceItemDO hospitalServiceItemDO = new HospitalServiceItemDO();
            Map<Integer, ExcelData> mapping = mapping(hospitalServiceItemDO);
            int finalRow = row;
            mapping.forEach((index, excelData) -> {
                String value = sheet.getCell(index, finalRow).getContents().trim();
                excelData.transform(value);
            });
            JSONObject object = JSONObject.parseObject(hospitalServiceItemDO.toString());
            array.add(object);
        }
        String response = null;
        String url =getBaseUrl() + "importData2";
        Map<String,String> params = new HashMap<>();
        params.put("hospitalItems",array.toJSONString());
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 导入机构服务项目表
     *
     * @param hospitalServiceItemDO
     * @return
     */
    private Map<Integer, ExcelData> mapping(HospitalServiceItemDO hospitalServiceItemDO) {
        Map<Integer, ExcelData> dataMap = new HashMap<>();
        dataMap.put(1, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setHospital(hospitalServiceItemDO.getHospital());
            }
        });
        //医院名称
        dataMap.put(2, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setHospitalName(hospitalServiceItemDO.getHospitalName());
            }
        });
        //服务项目id
        dataMap.put(3, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setServiceItemId(hospitalServiceItemDO.getServiceItemId());
            }
        });
        //服务项目名称
        dataMap.put(4, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setServiceItemName(hospitalServiceItemDO.getServiceItemName());
            }
        });
        hospitalServiceItemDO.setSaasId("dev");
        hospitalServiceItemDO.setStatus(1);
        hospitalServiceItemDO.setImediate(1);
        return dataMap;
    }
}