Parcourir la source

培训修改,增加手机端接口

ouyj il y a 1 mois
Parent
commit
8d9511fac1

+ 133 - 0
src/main/hr/com/yw/hr/client/action/HrClientTrainAssessAction.java

@@ -0,0 +1,133 @@
+package com.yw.hr.client.action;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import net.sf.json.JSONObject;
+
+import org.springframework.context.ApplicationContext;
+
+import com.yw.core.clientImpl.model.ResultVo;
+import com.yw.core.clientImpl.service.RequestAbs;
+import com.yw.core.session.AppSession;
+import com.yw.core.utils.RegisterCodeImpl;
+import com.yw.hr.train.service.TrainImpleAssessService;
+
+/**
+ * 小程序端培训评估提交接口
+ */
+public class HrClientTrainAssessAction extends RequestAbs {
+
+	public final String serviceId = "hr_train_myTrainAssess";
+	
+	public static void main(String[] args) {
+		String url = "http://localhost:8080/ynet/clientServices.do?iscrypt=1";
+		String param="{\"serviceId\":\"hr_train_myTrainAssess\","
+				+ "\"params\":{"
+				+ "\"universalid\":\"123456\","
+				+ "\"imple_id\":\"789\","
+				+ "\"course_id\":\"456\","
+				+ "\"trainees_id\":\"8945468387975\","
+				+ "\"project_org\":\"4\","
+				+ "\"course_score\":\"5\","
+				+ "\"teacher_score\":\"5\","
+				+ "\"advice\":\"课程很好\""
+				+ "}}";
+		String rs = RegisterCodeImpl.requestPage(url,param);
+		System.out.println(rs);
+	}
+	
+	private ApplicationContext cxt = null;
+	
+	@Override
+	public String getResult() {
+		ResultVo rv = new ResultVo();
+		String param = getParameters();
+		JSONObject json = JSONObject.fromObject(param);
+
+		String universalid = json.optString("universalid", "");
+		String impleId = json.getString("imple_id");
+		String courseId = json.getString("course_id");
+		String traineesId = json.getString("trainees_id");
+		String projectOrg = json.optString("project_org", "");
+		String courseScore = json.optString("course_score", "");
+		String teacherScore = json.optString("teacher_score", "");
+		String advice = json.optString("advice", "");
+		
+		Map<String, String> map = new HashMap<String, String>();
+		map.put("universalid", universalid);
+		map.put("imple_id", impleId);
+		map.put("course_id", courseId);
+		map.put("trainees_id", traineesId);
+		map.put("project_org", projectOrg);
+		map.put("course_score", courseScore);
+		map.put("teacher_score", teacherScore);
+		map.put("advice", advice);
+		
+		String result = this.saveTrainAssess(map);
+		if (!"".equals(result)) {
+			rv = new ResultVo();
+			rv.setReturnCode("0");
+			rv.setReturnMsg("success");
+			rv.setReturnParams(result);
+			return JSONObject.fromObject(rv, config).toString();
+		}
+		rv = new ResultVo();
+		rv.setReturnCode("1");
+		rv.setReturnMsg("failed");
+		rv.setReturnParams("");
+		return JSONObject.fromObject(rv, config).toString();
+	}
+
+	private String saveTrainAssess(Map<String, String> map) {
+		if(null == cxt){
+			cxt = AppSession.getApplicationContext();
+		}
+		TrainImpleAssessService trainImpleAssessService = (TrainImpleAssessService) cxt.getBean("hrTrainImpleAssessService");
+
+		try {
+			Long impleId = Long.parseLong(map.get("imple_id"));
+			Long courseId = Long.parseLong(map.get("course_id"));
+			Long traineesId = Long.parseLong(map.get("trainees_id"));
+			
+			// 构建评估对象
+			com.yw.hr.train.model.TrainImpleAssess impleAssess = new com.yw.hr.train.model.TrainImpleAssess();
+			impleAssess.setImple_id(impleId);
+			impleAssess.setCourse_id(courseId);
+			impleAssess.setTrainees_id(traineesId);
+			
+			if (map.get("project_org") != null && !map.get("project_org").isEmpty()) {
+				impleAssess.setProject_org(Integer.parseInt(map.get("project_org")));
+			}
+			if (map.get("course_score") != null && !map.get("course_score").isEmpty()) {
+				impleAssess.setCourse_score(Integer.parseInt(map.get("course_score")));
+			}
+			if (map.get("teacher_score") != null && !map.get("teacher_score").isEmpty()) {
+				impleAssess.setTeacher_score(Integer.parseInt(map.get("teacher_score")));
+			}
+			impleAssess.setAdvice(map.get("advice"));
+			
+			String universalid = map.get("universalid");
+			int result = 0;
+			
+			if (universalid != null && !universalid.isEmpty()) {
+				// 更新已有评估
+				impleAssess.setUniversalid(Long.parseLong(universalid));
+				result = trainImpleAssessService.editImpleAssess(impleAssess);
+			} else {
+				// 新增评估
+				result = trainImpleAssessService.addImpleAssess(impleAssess);
+			}
+			
+			return result > 0 ? "success" : "";
+		} catch (Exception e) {
+			e.printStackTrace();
+			return "";
+		}
+	}
+	
+	@Override
+	public String getServiceId() {
+		return serviceId;
+	}
+}

+ 110 - 0
src/main/hr/com/yw/hr/client/action/HrClientTrainDetailAction.java

@@ -0,0 +1,110 @@
+package com.yw.hr.client.action;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import net.sf.json.JSONObject;
+
+import org.springframework.context.ApplicationContext;
+
+import com.yw.core.clientImpl.model.ResultVo;
+import com.yw.core.clientImpl.service.RequestAbs;
+import com.yw.core.session.AppSession;
+import com.yw.core.utils.DateJson;
+import com.yw.core.utils.RegisterCodeImpl;
+import com.yw.hr.train.service.TrainImpleAssessService;
+
+/**
+ * 小程序端培训详情查询接口
+ */
+public class HrClientTrainDetailAction extends RequestAbs {
+
+	public final String serviceId = "hr_train_myTrainDetail";
+	
+	public static void main(String[] args) {
+		String url = "http://localhost:8080/ynet/clientServices.do?iscrypt=1";
+		String param="{\"serviceId\":\"hr_train_myTrainDetail\","
+				+ "\"params\":{"
+				+ "\"universalid\":\"123456\","
+				+ "\"imple_id\":\"789\","
+				+ "\"course_id\":\"456\""
+				+ "}}";
+		String rs = RegisterCodeImpl.requestPage(url,param);
+		System.out.println(rs);
+	}
+	
+	private ApplicationContext cxt = null;
+	
+	@Override
+	public String getResult() {
+		ResultVo rv = new ResultVo();
+		String param = getParameters();
+		JSONObject json = JSONObject.fromObject(param);
+
+		String universalid = json.optString("universalid", "");
+		String impleId = json.optString("imple_id", "");
+		String courseId = json.optString("course_id", "");
+		
+		Map<String, String> map = new HashMap<String, String>();
+		map.put("universalid", universalid);
+		map.put("imple_id", impleId);
+		map.put("course_id", courseId);
+		
+		String responseJson = this.getMyTrainDetail(map);
+		if (!"".equals(responseJson)) {
+			rv = new ResultVo();
+			rv.setReturnCode("0");
+			rv.setReturnMsg("success");
+			rv.setReturnParams(responseJson);
+			return JSONObject.fromObject(rv, config).toString();
+		}
+		rv = new ResultVo();
+		rv.setReturnCode("1");
+		rv.setReturnMsg("failed");
+		rv.setReturnParams("");
+		return JSONObject.fromObject(rv, config).toString();
+	}
+
+	private String getMyTrainDetail(Map<String, String> map) {
+		if(null == cxt){
+			cxt = AppSession.getApplicationContext();
+		}
+		TrainImpleAssessService trainImpleAssessService = (TrainImpleAssessService) cxt.getBean("hrTrainImpleAssessService");
+
+		try {
+			Long universalid = map.get("universalid") != null && !map.get("universalid").isEmpty() 
+					? Long.parseLong(map.get("universalid")) : null;
+			Long impleId = map.get("imple_id") != null && !map.get("imple_id").isEmpty() 
+					? Long.parseLong(map.get("imple_id")) : null;
+			Long courseId = map.get("course_id") != null && !map.get("course_id").isEmpty() 
+					? Long.parseLong(map.get("course_id")) : null;
+			
+			// 直接通过列表查询获取完整的培训信息(包括课程、实施、学员信息)
+			// 因为 toEditImpleAssess 只返回评估表的基础信息,缺少关联表的字段
+			com.yw.hr.train.model.TrainImpleAssess queryParam = new com.yw.hr.train.model.TrainImpleAssess();
+			if (universalid != null) {
+				queryParam.setUniversalid(universalid);
+			}
+			
+			// 调用列表查询,获取完整数据
+			com.yw.core.framework.view.service.PagerService ps = 
+				trainImpleAssessService.getImpleAssessList("1", "1", queryParam);
+			
+			if (ps.getDatas() != null && !ps.getDatas().isEmpty()) {
+				// getDatas() 返回的是 List<HashMap>,取第一条记录
+				Object firstRecord = ps.getDatas().get(0);
+				String data = DateJson.fromObject(firstRecord).toString().trim();
+				return data;
+			}
+			return "";
+		} catch (Exception e) {
+			e.printStackTrace();
+			return "";
+		}
+	}
+	
+	@Override
+	public String getServiceId() {
+		return serviceId;
+	}
+}

+ 114 - 0
src/main/hr/com/yw/hr/client/action/HrClientTrainListAction.java

@@ -0,0 +1,114 @@
+package com.yw.hr.client.action;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import net.sf.json.JSONObject;
+
+import org.springframework.context.ApplicationContext;
+
+import com.yw.core.clientImpl.model.ResultVo;
+import com.yw.core.clientImpl.service.RequestAbs;
+import com.yw.core.session.AppSession;
+import com.yw.core.utils.DateJson;
+import com.yw.core.utils.RegisterCodeImpl;
+import com.yw.hr.train.service.TrainImpleAssessService;
+
+/**
+ * 小程序端我的培训列表查询接口
+ */
+public class HrClientTrainListAction extends RequestAbs {
+
+	public final String serviceId = "hr_train_myTrainList";
+	
+	public static void main(String[] args) {
+		String url = "http://localhost:8080/ynet/clientServices.do?iscrypt=1";
+		String param="{\"serviceId\":\"hr_train_myTrainList\","
+				+ "\"params\":{"
+				+ "\"userId\":\"8945468387975\","
+				+ "\"course_name\":\"\","
+				+ "\"page\":\"1\","
+				+ "\"pageSize\":\"20\""
+				+ "}}";
+		String rs = RegisterCodeImpl.requestPage(url,param);
+		System.out.println(rs);
+	}
+	
+	private ApplicationContext cxt = null;
+	
+	@Override
+	public String getResult() {
+		ResultVo rv = new ResultVo();
+		String param = getParameters();
+		JSONObject json = JSONObject.fromObject(param);
+
+		String userId = json.getString("userId");
+		String courseName = json.optString("course_name", "");
+		String page = json.optString("page", "1");
+		String pageSize = json.optString("pageSize", "20");
+		
+		Map<String, String> map = new HashMap<String, String>();
+		map.put("userId", userId);
+		map.put("course_name", courseName);
+		map.put("page", page);
+		map.put("pageSize", pageSize);
+		
+		String responseJson = this.getMyTrainList(map);
+		if (!"".equals(responseJson)) {
+			rv = new ResultVo();
+			rv.setReturnCode("0");
+			rv.setReturnMsg("success");
+			rv.setReturnParams(responseJson);
+			return JSONObject.fromObject(rv, config).toString();
+		}
+		rv = new ResultVo();
+		rv.setReturnCode("1");
+		rv.setReturnMsg("failed");
+		rv.setReturnParams("");
+		return JSONObject.fromObject(rv, config).toString();
+	}
+
+	private String getMyTrainList(Map<String, String> map) {
+		if(null == cxt){
+			cxt = AppSession.getApplicationContext();
+		}
+		TrainImpleAssessService trainImpleAssessService = (TrainImpleAssessService) cxt.getBean("hrTrainImpleAssessService");
+
+		try {
+			Long userId = Long.parseLong(map.get("userId"));
+			String courseName = map.get("course_name");
+			String page = map.get("page");
+			String pageSize = map.get("pageSize");
+			
+			// 构建查询条件
+			com.yw.hr.train.model.TrainImpleAssess impleAssess = new com.yw.hr.train.model.TrainImpleAssess();
+			impleAssess.setTrainees_id(userId);
+			// 设置课程名称搜索条件
+			if (courseName != null && !courseName.isEmpty()) {
+				impleAssess.setCourse_name(courseName);
+			}
+			// 注意:这里不设置 unit_id,让 SQL 根据 trainees_id 查询所有相关记录
+			// 如果需要限制单位,可以从用户信息中获取
+			
+			// 调用Service查询
+			com.yw.core.framework.view.service.PagerService ps = 
+				trainImpleAssessService.getImpleAssessList(page, pageSize, impleAssess);
+			
+			List<?> list = ps.getDatas();
+			long totalCount = ps.getAllCount();
+			
+			String data = DateJson.fromArray(list).toString().trim();
+			String result = "{\"list\":" + data + ",\"total\":" + totalCount + "}";
+			return result.trim();
+		} catch (Exception e) {
+			e.printStackTrace();
+			return "";
+		}
+	}
+	
+	@Override
+	public String getServiceId() {
+		return serviceId;
+	}
+}

+ 4 - 0
src/main/hr/com/yw/hr/train/dao/TrainImpleAssessDaoImpl.java

@@ -156,6 +156,10 @@ TrainImpleAssessDao {
 			if(null!=impleAssess.getTrainees_id()&&!"".equals(impleAssess.getTrainees_id())){
 					bf.append(" AND hrit.trainees_id=").append(impleAssess.getTrainees_id());
 				}
+			// 添加课程名称模糊搜索
+			if(null!=impleAssess.getCourse_name()&&!"".equals(impleAssess.getCourse_name())){
+				bf.append(" AND hitc.course_name LIKE '%").append(impleAssess.getCourse_name()).append("%'");
+			}
 //			System.out.println("培训评估分页:"+bf.toString());
 			return bf.toString();
 	}