|  | @ -0,0 +1,123 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.care.endpoint.admin;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.yihu.jw.care.dao.label.BaseCapacityLabelDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.care.label.BaseCapacityLabelDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ObjEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.ByteToInputStream;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.slf4j.Logger;
 | 
	
		
			
				|  |  | import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.http.MediaType;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.JdbcTemplate;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.GetMapping;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestMapping;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RestController;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by yeshijie on 2021/9/29.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @RestController
 | 
	
		
			
				|  |  | @RequestMapping(value = "/common", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 | 
	
		
			
				|  |  | @Api(value = "通用测试接口")
 | 
	
		
			
				|  |  | public class CommonEndpoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static final Logger logger = LoggerFactory.getLogger(CommonEndpoint.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private JdbcTemplate jdbcTemplate;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BaseCapacityLabelDao baseCapacityLabelDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BasePatientDao patientDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = "open/importCapLabel")
 | 
	
		
			
				|  |  |     @ApiOperation(value = "导入居民能力状况")
 | 
	
		
			
				|  |  |     public Envelop importCapLabel() {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql = "select * from base_capacity_label_tmp";
 | 
	
		
			
				|  |  |             List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |             List<BaseCapacityLabelDO> labelDOList = new ArrayList<>();
 | 
	
		
			
				|  |  |             for (Map<String,Object> map:list){
 | 
	
		
			
				|  |  |                 String idcard = map.get("idcard")+"";
 | 
	
		
			
				|  |  |                 BasePatientDO patientDO = patientDao.findByIdcard(idcard);
 | 
	
		
			
				|  |  |                 if(patientDO == null){
 | 
	
		
			
				|  |  |                     logger.info("居民不存在:"+idcard);
 | 
	
		
			
				|  |  |                     continue;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 String patientId = patientDO.getId();
 | 
	
		
			
				|  |  |                 BaseCapacityLabelDO capacityLabelDO = baseCapacityLabelDao.findByPatient(patientId);
 | 
	
		
			
				|  |  |                 if(capacityLabelDO != null){
 | 
	
		
			
				|  |  |                     logger.info("居民能力状况已经存在:"+idcard);
 | 
	
		
			
				|  |  |                     continue;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 capacityLabelDO = new BaseCapacityLabelDO();
 | 
	
		
			
				|  |  |                 capacityLabelDO.setPatient(patientId);
 | 
	
		
			
				|  |  |                 capacityLabelDO.setFamily(transfor(map.get("family")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setHypertension(transfor(map.get("hypertension")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setHyperglycemia(transfor(map.get("hyperglycemia")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setHeartDisease(transfor(map.get("heart_disease")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setWorkStatus(transfor(map.get("work_status")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setDisability(transfor(map.get("disability")+""));
 | 
	
		
			
				|  |  |                 if("1".equals(capacityLabelDO.getDisability())){
 | 
	
		
			
				|  |  |                     capacityLabelDO.setDisabledPart(map.get("disabled_part")+"");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 capacityLabelDO.setVisualCondition(transfor(map.get("visual_condition")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setAuditoryCondition(transfor(map.get("auditory_condition")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setCommunication(transfor(map.get("communication")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setMentalIllness(transfor(map.get("mental_illness")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setOftenGoOut(transfor(map.get("often_go_out")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setUsePhone(transfor(map.get("use_phone")+""));
 | 
	
		
			
				|  |  |                 capacityLabelDO.setTakeExercise(transfor(map.get("take_exercise")+""));
 | 
	
		
			
				|  |  |                 labelDOList.add(capacityLabelDO);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(labelDOList.size()>0){
 | 
	
		
			
				|  |  |                 baseCapacityLabelDao.save(labelDOList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return success("导入成功");
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             return failedException2(e);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public String transfor(String label){
 | 
	
		
			
				|  |  |         if(StringUtils.isBlank(label)){
 | 
	
		
			
				|  |  |             return label;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("是".equals(label)){
 | 
	
		
			
				|  |  |             return "1";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("否".equals(label)){
 | 
	
		
			
				|  |  |             return "0";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("迟缓".equals(label)||"看不见".equals(label)||"听不见".equals(label)||"不善于".equals(label)){
 | 
	
		
			
				|  |  |             return "1";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("大声量".equals(label)||"一般".equals(label)||"近距离".equals(label)){
 | 
	
		
			
				|  |  |             return "2";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("健步如飞".equals(label)||"正常".equals(label)||"善于".equals(label)){
 | 
	
		
			
				|  |  |             return "3";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("null".equals(label)){
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return label;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |