package com.nationalelectric.greenH5; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.nationalelectirc.Constant.Constant; import com.nationalelectirc.utils.RestResult; import com.nationalelectric.greenH5.DTO.GreenMealTicketApplyDTO; import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc; import com.nationalelectric.greenH5.po.GreenMinorItem; import com.nationalelectric.greenH5.po.GreenPhysicalItem; import com.nationalelectric.greenH5.po.GreenTotalTest; import com.sgcc.uap.persistence.IHibernateDao; /** * 概述
* *

* 功能
* * * @author Administrator */ @Controller @RequestMapping("/greenPhysicalItem") public class GreenPhysicalItemController { /** * HibernateDao逻辑构件 */ @Autowired IHibernateDao hibernateDao; @Resource private IGreenOperateLogBizc greenOperateLogBizc; /*** * 根据体检编号获取总检详情(第二张图;体检编号) */ @RequestMapping(value = "/physicalItemInfo", method = RequestMethod.POST) public @ResponseBody RestResult getPhysicalItemInfo(@RequestBody Object requestBody) { GreenPhysicalItem greenPhysicalItem = new ObjectMapper().convertValue(requestBody, new TypeReference() {}); try { List> list = new ArrayList>(); if(greenPhysicalItem.getTjId()!=null){ String physicalItem=greenPhysicalItem.getTjId(); //获取检查的大项目录 String greenPhysicalItemInfoSql ="SELECT b.branch_name AS branchName,i.note_id AS noteId,(SELECT count(*) FROM GREEN_MINOR_ITEM WHERE note_id=i.note_id and ill_sign=1) as count" +" FROM GREEN_PHYSICAL_ITEM i LEFT JOIN GREEN_BRANCH b ON i.department_id = b.id LEFT JOIN GREEN_TOTAL_TEST t ON i.tj_id = t.tj_id WHERE t.tj_id = ? GROUP BY b.id"; list = hibernateDao.queryForListWithSql(greenPhysicalItemInfoSql,new Object[] {physicalItem}); //获取总检的结果 String totalTestSql="SELECT t.end_conclusion as endConclusion FROM GREEN_TOTAL_TEST t WHERE t.tj_id=?"; List totalTestSqlList=hibernateDao.queryForListWithSql(totalTestSql,new Object[] {physicalItem},new BeanPropertyRowMapper(GreenTotalTest.class)); String endConclusion=totalTestSqlList.get(0).getEndConclusion(); Map map = new HashMap(); map.put("list", list); map.put("endConclusion", endConclusion); //greenOperateLogBizc.addLog(Constant.PHYSICAL, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询体检列表", Constant.LOG_OPERATE, greenPhysicalItem.getUserId()); return new RestResult(Constant.SUCCESS, "请求成功!",map); } return new RestResult(Constant.FAILED, "体检编号为空!"); } catch (Exception e) { //greenOperateLogBizc.addLog(Constant.PHYSICAL, Constant.QUERY, Constant.OPERATE_FAIL, "查询体检列表", Constant.LOG_ERROR, greenPhysicalItem.getUserId()); return new RestResult(Constant.FAILED,"返回异常"); } } /*** * 获取总检异常数量和具体项目名称 */ @RequestMapping(value = "/physicalItemName", method = RequestMethod.POST) public @ResponseBody RestResult getPhysicalItemName(@RequestBody Object requestBody) { GreenMinorItem greenMinorItem = new ObjectMapper().convertValue(requestBody, new TypeReference() {}); try { if(greenMinorItem.getPhysicalDate() == null && greenMinorItem.getUserId()==null){ return new RestResult(Constant.FAILED, "查询失败!"); } String generalInspectonSql ="SELECT count(*) FROM GREEN_MINOR_ITEM i WHERE i.user_id=? and i.physical_date=? and i.ill_sign=1"; //获取总检所有检查的异常数量 int generalInspectonCount=hibernateDao.queryForIntWithSql(generalInspectonSql,new Object[] {greenMinorItem.getUserId(),greenMinorItem.getPhysicalDate()}); String minorIteSql="SELECT i.note_name as noteName,i.result as result FROM GREEN_MINOR_ITEM i WHERE i.user_id=? and i.physical_date=? and i.ill_sign=1"; //获取总检检查的具体项目 List minorIteList = hibernateDao.queryForListWithSql(minorIteSql,new Object[] {greenMinorItem.getUserId(),greenMinorItem.getPhysicalDate()}); Map map = new HashMap(); map.put("minorIteList", minorIteList); map.put("count", generalInspectonCount); return new RestResult(Constant.SUCCESS, "请求成功!",map); } catch (Exception e) { return new RestResult(Constant.FAILED, "查询失败!"); } } }