| 
					
				 | 
			
			
				@ -456,20 +456,35 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            whereSql+=" and s.hospital='"+hospitalCode+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String labelSql =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(diseaseCode)||StringUtils.isNotEmpty(healthCode)||StringUtils.isNotEmpty(serveCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            leftSql +=" LEFT JOIN wlyy_sign_patient_label_info i on i.patient=s.service_patient_code and i.status=1 " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotEmpty(diseaseCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                labelSql+=" or (i.label='"+diseaseCode+"' and i.label_type='3') ";//疾病类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotEmpty(healthCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                labelSql+=" or (i.label='"+healthCode+"' and i.label_type='2') ";//健康情况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotEmpty(serveCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                labelSql+=" or (i.label='"+serveCode+"' and i.label_type='1') ";//服务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if(StringUtils.isNotEmpty(diseaseCode)||StringUtils.isNotEmpty(healthCode)||StringUtils.isNotEmpty(serveCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            leftSql +=" LEFT JOIN wlyy_sign_patient_label_info i on i.patient=s.service_patient_code and i.status=1 " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            if(StringUtils.isNotEmpty(diseaseCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                labelSql+=" or (i.label='"+diseaseCode+"' and i.label_type='3') ";//疾病类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            if(StringUtils.isNotEmpty(healthCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                labelSql+=" or (i.label='"+healthCode+"' and i.label_type='2') ";//健康情况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            if(StringUtils.isNotEmpty(serveCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                labelSql+=" or (i.label='"+serveCode+"' and i.label_type='1') ";//服务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if(StringUtils.isNotEmpty(labelSql)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            whereSql+= " and ( "+labelSql.substring(3)+" )"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(serveCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            leftSql+=" JOIN wlyy_sign_family f on f.patient=s.service_patient_code and f.status=1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " JOIN wlyy_sign_family_server r on r.sign_code=f.code "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            whereSql+=" and r.server_type='"+serveCode+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(healthCode)||StringUtils.isNotEmpty(diseaseCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            leftSql+=" JOIN (SELECT t.patient,GROUP_CONCAT(',',t.label_type,t.label,',') label FROM wlyy_sign_patient_label_info t " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "JOIN manage_synergy_workorder_servicer v on v.service_patient_code=t.patient and v.workorder_code = '"+workorderCode+"' where t. STATUS = 1 GROUP BY t.patient ) aa on aa.patient=s.service_patient_code  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(healthCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            whereSql+=" and aa.label LIKE '%,2"+healthCode+",%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(labelSql)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            whereSql+= " and ( "+labelSql.substring(3)+" )"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(diseaseCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            whereSql+=" and aa.label LIKE '%,3"+diseaseCode+",%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(isFollow!=null&&isFollow==1){//跟进 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            leftSql+=" LEFT JOIN manage_synergy_workorder_servicer_log ll on ll.service_patient_code=s.code "; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1139,7 +1154,7 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void taskSubmit(String workorderCode,String dealResultRemark,String accessoryJson) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void taskSubmit(String userCode,String workorderCode,String dealResultRemark,String accessoryJson) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsonArray = new JSONArray(accessoryJson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1156,6 +1171,8 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            accessoryList.add(manageSynergyAccessoryDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        manageSynergyAccessoryDao.save(accessoryList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        User user = userDao.findByCode(userCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        workorderServicerDao.updateWorkorderServicer(workorderCode,userCode,user.getName(),1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ManageSynergyWorkorderDO manageSynergyWorkorderDO = workOrderDao.findByCode(workorderCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        manageSynergyWorkorderDO.setDealResultRemark(dealResultRemark); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        manageSynergyWorkorderDO.setStatus(3); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1204,6 +1221,7 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                String patientName,String ssc,String idcard,Integer userType,Integer isAcceptTask,String userName,String hospitalName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                HttpServletResponse response) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WritableWorkbook wwb = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        OutputStream os = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String servicerTable = " left join wlyy.manage_synergy_workorder_executor e on e.workorder_code=w.code AND e.del = 1  " ; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1316,28 +1334,31 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response.setCharacterEncoding("utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response.setContentType("octets/stream"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response.setHeader("Content-Disposition", "attachment; filename="+ new String( "synergyManageList.xls")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            OutputStream os = response.getOutputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            os = response.getOutputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            wwb = Workbook.createWorkbook(os); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WritableSheet ws = Workbook.createWorkbook(os).createSheet("sheet",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WritableSheet ws = wwb.createSheet("sheet",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> header = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(isAcceptTask==1){//我接收的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","需求方","负责人","服务内容")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(isAcceptTask==1||isAcceptTask==4){//我接收的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","需求方","负责人")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if(isAcceptTask==2){//我派发的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","家庭医生","所属机构","服务内容")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","家庭医生","所属机构")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if(isAcceptTask==3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","服务时间","服务对象","备注","需求方")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String h : header) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Label label = new Label(0, i, h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ws.addCell(label); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, 0, i, h);//表名,行,列,header 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Integer workorderTypeR = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String workorderTypeName = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date createTime = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date serviceTime =null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            i=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> one:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                workorderTypeR = (Integer) one.get("workorder_type"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                workorderTypeR = (Integer) one.get("type"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                createTime = (Date)one.get("create_time"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                serviceTime = (Date)one.get("service_time"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 0, one.get("code")+"",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                switch (workorderTypeR){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    case 0: workorderTypeName="咨询";break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1348,17 +1369,22 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    case 5: workorderTypeName="疾病筛查";break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 1, workorderTypeName,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 2, DateUtil.dateToStr(createTime,"yyyy--MM-dd HH:mm:ss"),""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isAcceptTask==1){//我接收的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isAcceptTask==3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 2, DateUtil.dateToStr(serviceTime,"yyyy--MM-dd HH:mm:ss"),""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 2, DateUtil.dateToStr(createTime,"yyyy--MM-dd HH:mm:ss"),""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isAcceptTask==1||isAcceptTask==3||isAcceptTask==4){//我接收的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] servicer = (one.get("servicer_key")+"").split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Integer servicerCount = (Integer) one.get("servicer_count"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 1, servicer[0]+"等"+servicerCount+"人",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 3, servicer[0]+"等"+servicerCount+"人",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else if(isAcceptTask==2){//我派发的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] servicer = (one.get("servicer_key")+"").split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 1, servicer[0],""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 3, servicer[0],""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer statusR = (Integer) one.get("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                addCell(ws, i, 4, statusName,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String statusName=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer statusR = (Integer) one.get("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                switch (statusR){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    case 0:statusName="草稿";break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    case 1:statusName="未接受";break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1366,23 +1392,32 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    case 3:statusName="处理完成";break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    case 4:statusName="退回";break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 3, statusName,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 4, one.get("create_user_name")+"",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isAcceptTask==1){//我接收的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isAcceptTask==3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 4, one.get("remark")+"",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 4, statusName,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 5, one.get("create_user_name")+"","");//需求方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isAcceptTask==1||isAcceptTask==4){//我接收的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<ManageSynergyWorkorderExecutorDO> managerList = workorderExecutorDao.findByWorkorderCode(one.get("code")+"",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String managerName = managerList.size()>0?managerList.get(0).getExecutorName():""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 5, managerName,"");//负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 6, managerName,"");//负责人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else if(isAcceptTask==2) {//我派发的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 5, one.get("hospital_name")+"","");//所属机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addCell(ws, i, 6, one.get("hospital_name")+"","");//所属机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addCell(ws, i, 5, one.get("content")+"",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                if(isAcceptTask!=3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    addCell(ws, i, 7, one.get("content")+"","");//服务内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            wwb.write(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(os!=null)os.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw e; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (wwb != null) wwb.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1397,6 +1432,11 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ws.addCell(label); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //添加单元格内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void addCell(WritableSheet ws, int row, int column,  String data) throws WriteException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Label label = new Label(column ,row, data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ws.addCell(label); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> getDealList(String idcard){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Patient patient = patientDao.findByIdcard(idcard); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1890,7 +1930,7 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String endTime = today+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*startTime="2017-11-15 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endTime="2017-11-22 23:59:59";*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql="SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*String sql="SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`code`,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`name`," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`online` as onlineType," + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1906,6 +1946,31 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.answer_status=1"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`code`," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.type";*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql="SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`code`," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`name`," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`online` AS onlineType," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.type," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IF (r.type IS NOT NULL, COUNT(*), 0) AS num" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_user u" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " LEFT JOIN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  type," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  user_code," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  user_name" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  manage_call_record" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  create_time >= '"+startTime+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND create_time <= '"+endTime+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND answer_status = 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) r ON u.`code` = r.user_code" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.type = 4" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " u.`code`," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.type"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> toList =  new ArrayList<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1927,6 +1992,10 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultMap.put("jieruCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultMap.put("waihuCount",map.get("num")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if ("null".equals(type) || StringUtils.isEmpty(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultMap.put("jieruCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultMap.put("waihuCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                toList.add(resultMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                int count =0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1953,6 +2022,10 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            resultMap.put("jieruCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            resultMap.put("waihuCount",map.get("num")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if ("null".equals(type)  || StringUtils.isEmpty(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            resultMap.put("jieruCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            resultMap.put("waihuCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        toList.add(resultMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2017,4 +2090,85 @@ public class SynergyManageService extends BaseJpaService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return workOrderDao.findByCode(workorderCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getTaskByIdcard(String workorderCode,String idcard){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql=" select w.*,s.mobile,s.service_patient_name,s.service_patient_code,s.code as servicerCode,s.town_name,s.hospital_name,w.create_user_name"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " from manage_synergy_workorder_servicer s "+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " LEFT JOIN manage_synergy_workorder w on s.workorder_code=w.code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where w.code='"+workorderCode+"' and s.idcard='"+idcard+"'" ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> workorderList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> workorderMap = workorderList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //居民信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("mobile",workorderMap.get("mobile"));//电话号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("patientName",workorderMap.get("service_patient_name"));//居民姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer callNum = customerLogDao.callNumByWorkorder(workorderMap.get("servicerCode")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("callNum",callNum);//已呼叫次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.putAll(this.getPatientInfo(workorderMap.get("service_patient_code") + "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Patient patient =patientDao.findByCode(workorderMap.get("service_patient_code")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer sex = patient.getSex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sexName =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(sex==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sexName="男"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(sex==2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sexName="女"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sexName="未知"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("sex",sexName);//性别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer age = IdCardUtil.getAgeForIdcard(patient.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("age",age);//年龄 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("townName",workorderMap.get("town_name"));//所属区县 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("hospitalName",workorderMap.get("hospital_name"));//所属社区 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SignFamily signFamily = signFamilyDao.findSignByPatient(workorderMap.get("service_patient_code")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("signDoctor",signFamily.getDoctorName());//签约医生(即:工单创建医生) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("healthDoctor",signFamily.getDoctorHealthName());//健管师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SignPatientLabelInfo> labelDiseaseType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "3", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String diseaseType=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> diseaseTypeList= new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(SignPatientLabelInfo one:labelDiseaseType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            diseaseType+=","+one.getLabelName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            diseaseTypeList.add(one.getLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("diseaseType",StringUtils.isNotEmpty(diseaseType)?diseaseType.substring(1):"");//疾病类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("diseaseTypeCode",diseaseTypeList);//疾病类型code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SignPatientLabelInfo> labelHealthType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "2", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String healthType=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(SignPatientLabelInfo one:labelHealthType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            healthType+=","+one.getLabelName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("healthType",StringUtils.isNotEmpty(healthType)?healthType.substring(1):"");//健康情况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String serveType=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            List<SignPatientLabelInfo> labelServeType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "2", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            for(SignPatientLabelInfo one:labelServeType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                serveType+=","+one.getLabelName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> signTypes = jdbcTemplate.queryForList("SELECT s.server_type_name,s.server_type FROM wlyy_sign_family_server s right join wlyy_sign_family f on s.sign_code=f.code WHERE f.patient='"+workorderMap.get("service_patient_code")+"' and f.status=1 and f.expenses_status='1' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(Map<String,Object> one:signTypes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            serveType+=","+(one.get("server_type_name")!=null?one.get("server_type_name"):""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");//服务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("workorder",workorderMap.get("code"));//工单编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("patientCode",workorderMap.get("service_patient_code"));//居民code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("doctorCode",workorderMap.get("create_user"));//创建人(医生)code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取提交记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String servicerCode = workorderMap.get("servicerCode")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.put("servicerCode", servicerCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<ManageSynergyWorkorderServicerLogDO> list = manageSynergyWorkorderServicerLogDao.findByWorkorderServiceCode(servicerCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ManageSynergyWorkorderServicerLogDO log = list.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> m = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("personal",log.getPersonal());//是否为本人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("callCode",log.getCallCode());//通话记录code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("callStatus",log.getCallStatus());//通话状态(1、正常通话,2、无人接听,3、拒接,4、占线,5、关机,6、停机,7、无法接通,8、空号错号) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("emphasis",log.getEmphasis());//是否重点患者(1、重点患者,2、非重点患者) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("followUp",log.getFollowUp());//是否跟进(1、无需跟进,2、待跟进) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("remark",log.getRemark());//备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            m.put("returnVisit",log.getReturnVisit());//回访(1、有效回访,2、无效回访) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultMap.put("servicerLog",m); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultMap.put("haveNum",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |