| 
					
				 | 
			
			
				@ -12,7 +12,11 @@ import com.yihu.jw.entity.specialist.SpecialistServiceItemDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.specialist.SpecialistServiceItemOperateLogDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.MixEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.health.bank.HealthBankMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.ExcelData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.ISqlUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.ReadExcelUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import jxl.Sheet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import jxl.Workbook; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -23,9 +27,7 @@ import javax.persistence.Column; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.persistence.Table; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.lang.reflect.Field; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.lang.reflect.Method; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @author wangzhinan 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -169,7 +171,7 @@ public class SpecialistServiceItemService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select * from wlyy_service_item where status = 1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SpecialistServiceItemDO> specialistServiceItemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(SpecialistServiceItemDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (SpecialistServiceItemDO specialistServiceItemDO:specialistServiceItemDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql1 = "select * from wlyy_hospital_service_item where hospital = '"+hospital+"' and serviceItemId = '"+specialistServiceItemDO.getId()+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql1 = "select * from wlyy_hospital_service_item where hospital = '"+hospital+"' and service_item_id = '"+specialistServiceItemDO.getId()+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<HospitalServiceItemDO> hospitalServiceItemDOS = jdbcTemplate.query(sql1,new BeanPropertyRowMapper(HospitalServiceItemDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (hospitalServiceItemDOS.size() == 0 || hospitalServiceItemDOS == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                specialistServiceItemDO.setFlag(1); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -180,4 +182,190 @@ public class SpecialistServiceItemService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setDetailModelList(specialistServiceItemDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 导数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param workbook 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean,Boolean> importData(Workbook workbook) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MixEnvelop<Boolean,Boolean> envelop = new MixEnvelop<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Sheet[] sheets = workbook.getSheets(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Sheet sheet = sheets[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int rows = ReadExcelUtil.getRightRows(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //Additional Handel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<SpecialistServiceItemDO> specialistServiceItemDOS = specialistServiceItemDao.findByTitle(itemDO.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (specialistServiceItemDOS == null && specialistServiceItemDOS.size() ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                itemDO.setStatus(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                specialistServiceItemDao.save(itemDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setObj(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 表格数据转为对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //项目内涵 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dataMap.put(2, new ExcelData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            public void transform(String data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                specialistServiceItemDO.setContent(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //除去内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        specialistServiceItemDO.setId(UUID.randomUUID().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return dataMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |