|  | @ -2,19 +2,25 @@ package com.yihu.jw.controller.rehabilitation;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.core.type.TypeReference;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.specialist.rehabilitation.PatientRehabilitationPlanDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationDetailDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationPlanTemplateDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationTemplateDetailDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.MixEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
 | 
	
		
			
				|  |  | import com.yihu.jw.rm.specialist.SpecialistMapping;
 | 
	
		
			
				|  |  | import com.yihu.jw.service.rehabilitation.RehabilitationPlanService;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiParam;
 | 
	
		
			
				|  |  | import org.json.JSONArray;
 | 
	
		
			
				|  |  | import org.json.JSONObject;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.cloud.sleuth.Tracer;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -31,6 +37,8 @@ public class RehabilitationPlanController extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private Tracer tracer;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /******************************** 康复服务套餐模板 ****************************************/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @PostMapping(value = SpecialistMapping.rehabilitation.createRehabilitationPlanTemplate)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "康复服务套餐模板创建")
 | 
	
		
			
				|  |  |     public MixEnvelop<String, String> createRehabilitationPlanTemplate(@ApiParam(name = "rehabilitationTemplate", value = "实体JSON")
 | 
	
	
		
			
				|  | @ -102,4 +110,50 @@ public class RehabilitationPlanController extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |             return MixEnvelop.getError(e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /******************************** 居民康复计划 ***************************************/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @PostMapping(value = SpecialistMapping.rehabilitation.createPatientRehabilitationPlan)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "居民康复服务套餐创建")
 | 
	
		
			
				|  |  |     public MixEnvelop<String, String> createPatientRehabilitationPlan(@ApiParam(name = "rehabilitationPlan", value = "实体JSON")
 | 
	
		
			
				|  |  |                                                                        @RequestParam(value = "rehabilitationPlan", required = true)String rehabilitationPlan){
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             JSONObject json = new JSONObject(rehabilitationPlan);
 | 
	
		
			
				|  |  |             JSONArray array = new JSONArray();
 | 
	
		
			
				|  |  |             for(Object planDetail : json.getJSONArray("detail")) {
 | 
	
		
			
				|  |  |                 JSONObject j = (JSONObject)planDetail;
 | 
	
		
			
				|  |  |                 String executeTime = j.get("executeTime").toString();
 | 
	
		
			
				|  |  |                 String[] result = null;
 | 
	
		
			
				|  |  |                 if(executeTime.contains(",")){
 | 
	
		
			
				|  |  |                     result = executeTime.split(",");
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     result = new String[1];
 | 
	
		
			
				|  |  |                     result[0] = executeTime;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 int len =  result.length;
 | 
	
		
			
				|  |  |                 while(len > 0){
 | 
	
		
			
				|  |  |                     len --;
 | 
	
		
			
				|  |  |                     JSONObject temp = new JSONObject(j.toString());
 | 
	
		
			
				|  |  |                     temp.put("executeTime", result[len]);
 | 
	
		
			
				|  |  |                     temp.put("createUser", json.get("createUser"));
 | 
	
		
			
				|  |  |                     temp.put("createUserName", json.get("createUserName"));
 | 
	
		
			
				|  |  |                     array.put(temp);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             String planDetails = array.toString();
 | 
	
		
			
				|  |  |             ObjectMapper object = new ObjectMapper();
 | 
	
		
			
				|  |  |             object.setDateFormat(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"));
 | 
	
		
			
				|  |  |             List<RehabilitationDetailDO> details = object.readValue(planDetails, new TypeReference<List<RehabilitationDetailDO>>(){});
 | 
	
		
			
				|  |  |             PatientRehabilitationPlanDO planDO = toEntity(rehabilitationPlan, PatientRehabilitationPlanDO.class);
 | 
	
		
			
				|  |  |             planDO = rehabilitationPlanService.createPatientRehabilitationPlan(planDO);
 | 
	
		
			
				|  |  |             details = rehabilitationPlanService.createRehabilitationDetail(details, planDO.getId());
 | 
	
		
			
				|  |  |             return MixEnvelop.getSuccess(SpecialistMapping.api_success);
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             tracer.getCurrentSpan().logEvent(e.getMessage());
 | 
	
		
			
				|  |  |             return MixEnvelop.getError(e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |