hz-zhhq-app-service/greenH5modul/.svn/pristine/04/04f7a40ddde1a1f0e7ec7cf2fcd...

1337 lines
56 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nationalelectric.greenH5;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.annotation.Resource;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
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.bizc.BaseServiceImpl;
import com.nationalelectric.greenH5.po.GreenRentHouseApply;
import com.nationalelectric.greenH5.po.GreenUserInfo;
import com.nationalelectric.greenH5.utils.DateTime;
import com.nationalelectric.greenH5.utils.DateUtil;
import com.sgcc.uap.persistence.IHibernateDao;
import com.sgcc.uap.service.validator.ServiceValidatorBaseException;
import com.sgcc.uap.utils.StringUtils;
/**
* 租房管理
* @author 96048
*
*/
@Controller
@RequestMapping("/greenEpidemic")
public class GreenEpidemicController extends GreenBaseController{
@Autowired
IHibernateDao hibernateDao;
@Autowired
private BaseServiceImpl baseService;
@Resource
private GreenImageInfoController greenImageInfoController;
@Resource
private AliasManageController aliasManageController;
/**
* 新增离鄂报备
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/travelReportAdd", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult travelReportAdd(Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String userName = map.get("userName")==null?"":map.get("userName").toString();
String phone = map.get("phone")==null?"":map.get("phone").toString();
String orgId = map.get("orgId")==null?"":map.get("orgId").toString();
String orgName = map.get("orgName")==null?"":map.get("orgName").toString();
String travelDate = map.get("travelDate")==null?"":map.get("travelDate").toString();
String travelMethod = map.get("travelMethod")==null?"":map.get("travelMethod").toString();
String travelMethodInfo = map.get("travelMethodInfo")==null?"":map.get("travelMethodInfo").toString();
String travelType = map.get("travelType")==null?"":map.get("travelType").toString();
String travelPlace = map.get("travelPlace")==null?"":map.get("travelPlace").toString();
String reason = map.get("reason")==null?"":map.get("reason").toString();
String approvalForm = map.get("approvalForm")==null?"":map.get("approvalForm").toString();
String examinePersonId = map.get("examinePersonId")==null?"":map.get("examinePersonId").toString();
String examinePersonName = map.get("examinePersonName")==null?"":map.get("examinePersonName").toString();
String travelMethodBack = map.get("travelMethodBack")==null?"":map.get("travelMethodBack").toString();
String travelMethodInfoBack = map.get("travelMethodInfoBack")==null?"":map.get("travelMethodInfoBack").toString();
String approvalFormUUID = "";
// if(StringUtils.isNotEmpty(approvalForm)){
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
// String date = sdf.format(new Date()) + "/";
//// uuid = date + UUID.randomUUID().toString().replaceAll("-","");
// approvalFormUUID = greenImageInfoController.saveImage(approvalForm, userId);
// baseService.saveImgToIO(approvalFormUUID+Constant.IMG_SUFFIX, approvalForm);
// }
//查询第一审核批次
String batchSql = "SELECT * FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'travelExamineSwitch' AND IS_DELETED = 'N' AND DATA_VALUE = 1 ORDER BY DATA_CODE ASC ";
List<Map<String,String>> list = hibernateDao.queryForListWithSql(batchSql);
String examineBatch = "0";
if (list.size() > 0) {
examineBatch = list.get(0).get("DATA_CODE");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String sql = "INSERT INTO GREEN_EPIDEMIC_TRAVEL ("
+ "UUID,USER_ID,USER_NAME,PHONE,ORG_ID,ORG_NAME,TRAVEL_DATE,"
+ "TRAVEL_METHOD,TRAVEL_METHOD_INFO,TRAVEL_TYPE,TRAVEL_PLACE,"
+ "REASON,APPROVAL_FORM,CREATOR,EXAMINE_STATE,EXAMINE_BATCH,"
+ "EXAMINE_PERSON_ID,EXAMINE_PERSON_NAME,TRAVEL_METHOD_BACK,TRAVEL_METHOD_INFO_BACK) "
+ "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?,?,?) ";
hibernateDao.executeSqlUpdate(sql,new Object[]{uuid,userId,userName,phone,orgId,orgName,travelDate,travelMethod,
travelMethodInfo,travelType,travelPlace,reason,approvalForm,userId,examineBatch,examinePersonId,examinePersonName
,travelMethodBack,travelMethodInfoBack});
String title = "出行审批";
String text = "您好,您有新的出行报备需要审批,请点击查看。";
String url = "/pages/epidemic/travel-report-exam?examineBatch="+examineBatch;
aliasManageController.pushToSingle(examinePersonId, title, text, url);
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 出行报备列表:个人查看
* @param rentHouseApply
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/travelReportPage", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult travelReportPage(Map<String, Object> map) {
String userId = map.get("userId")==null?"":map.get("userId").toString();
Integer pageSize = map.get("pageSize")==null?10: (Integer)map.get("pageSize");
Integer pageNum = map.get("pageNum")==null?1: (Integer)map.get("pageNum");
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
pageSize = pageSize*pageNum;
GreenUserInfo info = getUserInfo(userId);
if (info == null) {
return new RestResult(Constant.FAILED, "非法用户");
}
try {
GreenUserInfo userInfo = getUserInfo(userId);
List<Object> params = new ArrayList<Object>();
String sql = "select * from (select rn.*,rownum rw from ("
+ "select * from GREEN_EPIDEMIC_TRAVEL where is_deleted='N' and USER_ID=? order by GMT_CREATED desc ";
sql+=" ) rn )where rw>? and rw<=?";
params.add(userId);
params.add(limit);
params.add(pageSize);
List<Map<String, String>> list = hibernateDao.queryForListWithSql(sql,params.toArray());
for (Map<String, String> omap : list) {
String pictureString = omap.get("APPROVAL_FORM");
omap.put("APPROVAL_FORM", baseService.getImageBase64(pictureString));
}
return new RestResult(Constant.SUCCESS, "成功", list);
} catch (ServiceValidatorBaseException e) {
throw e;
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "返回异常");
}
}
/**
* 出行报备申请详情
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/travelReportDetail", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult travelReportDetail(Map<String, Object> map) {
String userId = map.get("userId")==null?"":map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if (info == null) {
return new RestResult(Constant.FAILED, "非法用户");
}
try {
String travelId = map.get("travelId")==null?"":map.get("travelId").toString();
List<Object> params = new ArrayList<Object>();
String sql = "SELECT * FROM GREEN_EPIDEMIC_TRAVEL WHERE IS_DELETED='N' AND UUID = ? ORDER BY GMT_CREATED desc ";
params.add(travelId);
List<Map<String, Object>> list = hibernateDao.queryForListWithSql(sql,params.toArray());
if (list.size() > 0) {
String pictureString = list.get(0).get("APPROVAL_FORM") == null ? "":list.get(0).get("APPROVAL_FORM").toString();
list.get(0).put("APPROVAL_FORM", baseService.getImageBase64(pictureString));
//获取审核详情
String sqls = "SELECT * from GREEN_EPIDEMIC_TRAVEL_EXAMINE where DEL_FLAG = 0 and TRAVEL_ID = ? order by EXAMINE_BATCH asc ";
List<Map<String,String>> lists = hibernateDao.queryForListWithSql(sqls,new Object[]{list.get(0).get("UUID").toString()});
if (lists.size() > 0) {
list.get(0).put("detail", lists.toArray());
}
}
return new RestResult(Constant.SUCCESS, "成功", list);
} catch (ServiceValidatorBaseException e) {
throw e;
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "返回异常");
}
}
/**
* 出行报备审核
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/travelExamine", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult travelExamine(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String travelId = map.get("travelId")==null?"":map.get("travelId").toString();
String userName = map.get("userName")==null?"":map.get("userName").toString();
String examineState = map.get("examineState")==null?"":map.get("examineState").toString();
String examineOpinion = map.get("examineOpinion")==null?"":map.get("examineOpinion").toString();
String examineBatch = map.get("examineBatch")==null?"":map.get("examineBatch").toString();
if (StringUtils.isBlank(examineState)) {
return new RestResult(Constant.FAILED, "审核状态不能为空");
}
if (StringUtils.isBlank(examineBatch)) {
return new RestResult(Constant.FAILED, "审核批次不能为空");
}
//查询下一审核批次
String batchSql = "SELECT * FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'travelExamineSwitch' "
+ "AND IS_DELETED = 'N' AND DATA_VALUE = 1 AND DATA_CODE > ? ORDER BY DATA_CODE ASC ";
List<Map<String,String>> list = hibernateDao.queryForListWithSql(batchSql,new Object[]{examineBatch});
//不为空则更改审核批次,否则更改申请单的审核状态
if (list.size() > 0) {
if ("1".equals(examineState)) {
String lastExamineBatch = list.get(0).get("DATA_CODE");
String updateBatchSql = "UPDATE GREEN_EPIDEMIC_TRAVEL SET EXAMINE_BATCH = ? WHERE UUID = ? ";
hibernateDao.executeSqlUpdate(updateBatchSql,new Object[]{lastExamineBatch,travelId});
}else if("2".equals(examineState)){
String updateStateSql = "UPDATE GREEN_EPIDEMIC_TRAVEL SET EXAMINE_STATE = ? WHERE UUID = ? ";
hibernateDao.executeSqlUpdate(updateStateSql,new Object[]{examineState,travelId});
}
}else {
String updateStateSql = "UPDATE GREEN_EPIDEMIC_TRAVEL SET EXAMINE_STATE = ? WHERE UUID = ? ";
hibernateDao.executeSqlUpdate(updateStateSql,new Object[]{examineState,travelId});
}
//查询当前批次描述
String description = "";
String sqls = "SELECT DATA_CODE as \"id\",DATA_VALUE as \"name\",DESCRIPTION as \"description\" FROM GREEN_DICTIONARY_INFO "
+ "WHERE DATA_TYPE = 'travelExamineSwitch' AND IS_DELETED = 'N' and DATA_CODE = ? ";
List<Map<String,String>> lists = hibernateDao.queryForListWithSql(sqls,new Object[]{examineBatch});
if (lists.size() > 0) {
description = lists.get(0).get("description");
}
//插入数据
String sql = "INSERT INTO GREEN_EPIDEMIC_TRAVEL_EXAMINE(ID,TRAVEL_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION,"
+ "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,DESCRIPTION) "
+ "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) ";
hibernateDao.executeSqlUpdate(sql,new Object[]{uuid,travelId,userId,userName,examineState,examineOpinion,examineBatch,description});
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 出行报备审核列表
* @param rentHouseApply
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/travelExaminePage", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult travelExaminePage(@RequestBody Map<String, Object> map) {
try {
ArrayList<Object> paramList = new ArrayList<Object>();
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
Integer pageSize = map.get("pageSize")==null?10: (Integer)map.get("pageSize");
Integer pageNum = map.get("pageNum")==null?1: (Integer)map.get("pageNum");
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
pageSize = pageSize*pageNum;
String examineState = map.get("examineState")==null?"": map.get("examineState").toString();
String examineBatch = map.get("examineBatch")==null?"":map.get("examineBatch").toString();
if (StringUtils.isBlank(examineState)) {
return new RestResult(Constant.FAILED, "审核状态不能为空");
}
if (StringUtils.isBlank(examineBatch)) {
return new RestResult(Constant.FAILED, "审核批次不能为空");
}
if ("0".equals(examineState)) {
String sql = "select count(*) from GREEN_DICTIONARY_INFO where data_type = 'travelExamineSwitch' and data_code = ? and data_value = 1 ";
int count = hibernateDao.queryForIntWithSql(sql,new Object[]{examineBatch});
if (count == 0) {
return new RestResult(Constant.SUCCESS, "操作成功",new ArrayList<Map<String,String>>());
}
}
String sql = "select * from (select rn.*,rownum from ( "
+ " SELECT DISTINCT A.UUID AS id,A.*, "
+ " to_char(A.GMT_CREATED,'YYYY-MM-DD HH24:MI:SS') as \"applyTime\" "
+ " FROM GREEN_EPIDEMIC_TRAVEL A "
+ " LEFT JOIN (select * from GREEN_EPIDEMIC_TRAVEL_EXAMINE where EXAMINE_BATCH= ? and DEL_FLAG=0) E ON A.UUID = E.TRAVEL_ID "
+ " WHERE A.IS_DELETED = 'N' ";
paramList.add(examineBatch);
//当查询审核批次为1时只查询审核人为当前userid的数据
if("1".equals(examineBatch)){
// sql+= "AND A.ORG_ID IN (SELECT id FROM GREEN_DEPARTMENT START WITH ID = ? CONNECT BY PRIOR ID = PARENT_ID) ";
sql+="AND A.EXAMINE_PERSON_ID = ? ";
paramList.add(userId);
}
if ("1".equals(examineState)) {//已审核
sql += "and e.ID is not NULL " ;
}else if("0".equals(examineState)) {//待审核
sql += "AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? " ;
paramList.add(examineBatch);
}
sql+= " ORDER BY A.GMT_CREATED DESC "
+ " ) rn )where rownum>? and rownum<=? ";
paramList.add(limit);
paramList.add(pageSize);
List<GreenRentHouseApply> list = hibernateDao.queryForListWithSql(sql,paramList.toArray());
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 查询出行报备部门拥有审核权限人员
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/getDeptExamineAuth", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult getDeptExamineAuth(@RequestBody Map<String, Object> map){
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String departmentId = map.get("departmentId")==null?"":map.get("departmentId").toString();
String depts[] = departmentId.split("/");
String dept = depts[0]+"/"+depts[1];
String sql = "SELECT u.id as \"id\",u.REAL_NAME as \"name\" from GREEN_USER_INFO u "
+ "LEFT JOIN GREEN_USER_ROLE_REL urr ON u.ID = urr.USER_ID AND u.IS_DELETED = 'N' "
+ "LEFT JOIN GREEN_ROLE_PERMISSION rp ON urr.ROLE_ID = rp.ROLE_ID AND urr.IS_DELETED = 'N' "
+ "WHERE u.DEPt_ID_url like '"+dept+"%' AND rp.PERMISSION_ID = '44009' ";//44009 生产 //18502 测试
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql);
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 新增涉疫信息
* @return
*/
@RequestMapping(value="/addEpidemicInfo", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult addEpidemicInfo(@RequestBody Map<String,Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String userName = map.get("userName")==null?"":map.get("userName").toString();
String phone = map.get("phone")==null?"":map.get("phone").toString();
String orgId = map.get("orgId")==null?"":map.get("orgId").toString();
String orgName = map.get("orgName")==null?"":map.get("orgName").toString();
String address = map.get("address")==null?"":map.get("address").toString();
String currentStatus = map.get("currentStatus")==null?"":map.get("currentStatus").toString();
String healthStatus = map.get("healthStatus")==null?"":map.get("healthStatus").toString();
String healthCodeColor = map.get("healthCodeColor")==null?"":map.get("healthCodeColor").toString();
String involvedStatus = map.get("involvedStatus")==null?"":map.get("involvedStatus").toString();
String isReport = map.get("isReport")==null?"":map.get("isReport").toString();
String isVaccination = map.get("isVaccination")==null?"":map.get("isVaccination").toString();
String testingTime = map.get("testingTime")==null?"":map.get("testingTime").toString();
String cohabitantInvolvedStatus = map.get("cohabitantInvolvedStatus")==null?"":map.get("cohabitantInvolvedStatus").toString();
String cohabitantInterrelation = map.get("cohabitantInterrelation")==null?"":map.get("cohabitantInterrelation").toString();
String cohabitantStatus = map.get("cohabitantStatus")==null?"":map.get("cohabitantStatus").toString();
String userType = map.get("userType")==null?"":map.get("userType").toString();
String themeId = map.get("themeId")==null?"":map.get("themeId").toString();
String sql = "INSERT INTO GREEN_EPIDEMIC_COLLECT( "
+ "UUID,USER_ID,USER_NAME,ORG_ID,ORG_NAME,PHONE,ADDRESS,CURRENT_STATUS,HEALTH_STATUS,HEALTH_CODE_COLOR, "
+ "INVOLVED_STATUS,IS_REPORT,IS_VACCINATION,TESTING_TIME,COHABITANT_INVOLVED_STATUS,COHABITANT_INTERRELATION, "
+ "COHABITANT_STATUS,USER_TYPE,CREATOR,THEME_ID) "
+ "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,to_date(?,'YYYY-MM-DD HH24:MI:SS'),?,?,?,?,?,?)";
hibernateDao.executeSqlUpdate(sql,new Object[]{uuid,userId,userName,orgId,orgName,phone,address,currentStatus,
healthStatus,healthCodeColor,involvedStatus,isReport,isVaccination,testingTime,cohabitantInvolvedStatus,
cohabitantInterrelation,cohabitantStatus,userType,userId,themeId});
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 分页查询涉疫信息列表
* @return
*/
@RequestMapping(value="/epidemicPage", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult epidemicPage(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
int pageNum = Integer.parseInt(map.get("pageNum")==null?"1":map.get("pageNum").toString());
int pageSize = Integer.parseInt(map.get("pageSize")==null?"10":map.get("pageSize").toString());
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageNum;
pageSize = pageNum*pageSize;
String sql = "select * from (select rn.*,rownum from ( "
+ " SELECT t.*,h.TITLE,h.SUBTITLE "
+ " FROM GREEN_EPIDEMIC_COLLECT t "
+ " left join GREEN_EPIDEMIC_COLLECT_THEME h on t.THEME_ID = h.UUID "
+ " WHERE t.USER_ID = ? AND t.IS_DELETED='N' "
+ " ORDER BY t.GMT_CREATED DESC) rn )where rownum > ? and rownum <= ? ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{userId,limit,pageSize});
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 查询涉疫信息详情
* @return
*/
@RequestMapping(value="/epidemicDetail", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult epidemicDetail(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = map.get("uuid").toString();
String sql = " SELECT t.* "
+ " FROM GREEN_EPIDEMIC_COLLECT t WHERE t.UUID = ? ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{uuid});
return new RestResult(Constant.SUCCESS, "操作成功",list.get(0));
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
@SuppressWarnings("unchecked")
@RequestMapping(value = "/travelPolicy", method = RequestMethod.POST)
public @ResponseBody RestResult travelPolicy(@RequestBody Map<String,Object> map) {
try {
String id = map.get("id")==null?"":map.get("id").toString();
String sql = "select title as \"title\" ,content as \"content\",create_time as \"create_time\",info_type as \"info_type\" from green_health_msg "
+ " where info_type='2' and is_del='1' and id= ? order by create_time desc ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql.toString(),new Object[]{id});
return new RestResult(Constant.SUCCESS, "查询成功", list);
}catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "查询失败!");
}
}
@SuppressWarnings("unchecked")
@RequestMapping(value = "/travelPolicyList", method = RequestMethod.POST)
public @ResponseBody RestResult travelPolicyList(@RequestBody Map<String,Object> map) {
try {
String sql = "select * from( select id as \"id\", title as \"title\" ,create_time as \"create_time\",info_type as \"info_type\" from green_health_msg "
+ " where info_type='2' and is_del='1' order by create_time desc ) where rownum>0 and rownum<=10 ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql.toString());
return new RestResult(Constant.SUCCESS, "查询成功", list);
}catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "查询失败!");
}
}
/**
* 健康打卡新增
* @return
*/
@SuppressWarnings("unchecked")
@RequestMapping(value = "/healthyClockAdd", method = RequestMethod.POST)
public @ResponseBody RestResult healthyClockAdd(@RequestBody Map<String,Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String userName = map.get("userName")==null?"":map.get("userName").toString();
String phone = map.get("phone")==null?"":map.get("phone").toString();
String orgId = map.get("orgId")==null?"":map.get("orgId").toString();
String orgName = map.get("orgName")==null?"":map.get("orgName").toString();
String userType = map.get("userType")==null?"":map.get("userType").toString();
String healthState = map.get("healthState")==null?"":map.get("healthState").toString();
String cityOut = map.get("cityOut")==null?"":map.get("cityOut").toString();
String dangerRegion = map.get("dangerRegion")==null?"":map.get("dangerRegion").toString();
String healthCode = map.get("healthCode")==null?"":map.get("healthCode").toString();
String healthCodeImg = map.get("healthCodeImg")==null?"":map.get("healthCodeImg").toString();
String tourCodeImg = map.get("tourCodeImg")==null?"":map.get("tourCodeImg").toString();
String nucleic = map.get("nucleic")==null?"":map.get("nucleic").toString();
String location = map.get("location")==null?"":map.get("location").toString();
String dateToStr = DateUtil.dateToStr(new Date(), DateUtil.Y_M_D);
String startTime = dateToStr + " 00:00:00";
String endTime = DateUtil.dateToStr(new Date(), DateUtil.Y_M_DH_MI_S);
//新增之前修改当天的其他打卡记录
String updateSql = "UPDATE GREEN_EPIDEMIC_HEALTHY SET STATES = '2' WHERE USER_ID = ? "
+ "AND TO_CHAR(GMT_CREATED,'YYYY-MM-DD') = ? ";
hibernateDao.executeSqlUpdate(updateSql,new Object[]{userId,dateToStr});
String sql = "INSERT INTO GREEN_EPIDEMIC_HEALTHY( "
+ "UUID,USER_ID,USER_NAME,PHONE,ORG_ID,ORG_NAME,HEALTH_STATE, "
+ "CITY_OUT,DANGER_REGION,HEALTH_CODE,HEALTH_CODE_IMG,TOUR_CODE_IMG,NUCLEIC,LOCATION, "
+ "STATES,CREATOR,USER_TYPE)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
hibernateDao.executeSqlUpdate(sql,new Object[]{uuid,userId,userName,phone,orgId,orgName,healthState,cityOut,dangerRegion,
healthCode,healthCodeImg,tourCodeImg,nucleic,location,"1",userId,userType});
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 查询健康打卡
* @param map
* @return
*/
@RequestMapping(value="/healthyClockList", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult healthyClockList(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String sql = " SELECT t.* "
+ " FROM GREEN_EPIDEMIC_HEALTHY t WHERE t.USER_ID = ? AND STATES = '1' AND IS_DELETED = 'N'"
+ " and TO_CHAR(GMT_CREATED,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD') "
+ " ORDER BY GMT_CREATED DESC ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{userId});
for (Map<String, Object> maps : list) {
String healthCodeImg=(String)maps.get("HEALTH_CODE_IMG");
maps.put("HEALTH_CODE_IMG", baseService.getImageBase64(healthCodeImg));
String tourCodeImg=(String)maps.get("TOUR_CODE_IMG");
maps.put("TOUR_CODE_IMG", baseService.getImageBase64(tourCodeImg));
}
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 疫苗接种新增
* @param map
* @return
*/
@SuppressWarnings("unchecked")
@RequestMapping(value = "/vaccinationAdd", method = RequestMethod.POST)
public @ResponseBody RestResult vaccinationAdd(@RequestBody Map<String,Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String userName = map.get("userName")==null?"":map.get("userName").toString();
String phone = map.get("phone")==null?"":map.get("phone").toString();
String orgId = map.get("orgId")==null?"":map.get("orgId").toString();
String orgName = map.get("orgName")==null?"":map.get("orgName").toString();
String vaccination = map.get("vaccination")==null?"":map.get("vaccination").toString();
String reason = map.get("reason")==null?"":map.get("reason").toString();
String proveImg = map.get("proveImg")==null?"":map.get("proveImg").toString();
String remarks = map.get("remarks")==null?"":map.get("remarks").toString();
String vaccineType = map.get("vaccineType")==null?"":map.get("vaccineType").toString();
String vaccinationNum = map.get("vaccinationNum")==null?"":map.get("vaccinationNum").toString();
String endDate = map.get("endDate")==null?"":map.get("endDate").toString();
String vaccinationStronge = map.get("vaccinationStronge")==null?"":map.get("vaccinationStronge").toString();
String ecpectStrongeDate = map.get("ecpectStrongeDate")==null?"":map.get("ecpectStrongeDate").toString();
String notStrongeReason = map.get("notStrongeReason")==null?"":map.get("notStrongeReason").toString();
String vaccinationProve = map.get("remarks")==null?"":map.get("vaccinationProve").toString();
String delSql = " DELETE FROM GREEN_EPIDEMIC_VACCINES WHERE USER_ID = ? ";
hibernateDao.executeSqlUpdate(delSql,new Object[]{userId});
String sql = "INSERT INTO GREEN_EPIDEMIC_VACCINES( UUID,USER_ID,USER_NAME,PHONE,ORG_ID,ORG_NAME,"
+ "VACCINATION,REASON,PROVE_IMG,REMARKS,CREATOR,"
+ "VACCINE_TYPE,VACCINATION_NUM,END_DATE,VACCINATION_STRONGE,"
+ "EXPECT_STRONGE_DATE,NOT_STRONGE_REASON,VACCINATION_PROVE"
+ ")VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
hibernateDao.executeSqlUpdate(sql,
new Object[]{uuid,userId,userName,phone,orgId,orgName,
vaccination,reason,proveImg,remarks,userId,
vaccineType,vaccinationNum,endDate,vaccinationStronge,
ecpectStrongeDate,notStrongeReason,vaccinationProve
});
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 疫苗接种列表
* @param map
* @return
*/
@RequestMapping(value="/vaccinationList", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult vaccinationList(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String sql = " SELECT t.* "
+ " FROM GREEN_EPIDEMIC_VACCINES t WHERE t.USER_ID = ? AND IS_DELETED = 'N' "
+ " ORDER BY GMT_CREATED DESC ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{userId});
for (Map<String, Object> maps : list) {
String proveImg=(String)maps.get("PROVE_IMG");
String vaccinationProve = (String)maps.get("VACCINATION_PROVE");
maps.put("PROVE_IMG", baseService.getImageBase64(proveImg));
maps.put("VACCINATION_PROVE", baseService.getImageBase64(vaccinationProve));
}
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 防疫物资申请新增
* @param map
* @return
*/
@RequestMapping(value="/materialAdd", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult materialAdd(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String userName = map.get("userName")==null?"":map.get("userName").toString();
String phone = map.get("phone")==null?"":map.get("phone").toString();
String orgId = map.get("orgId")==null?"":map.get("orgId").toString();
String orgName = map.get("orgName")==null?"":map.get("orgName").toString();
String reason = map.get("reason")==null?"":map.get("reason").toString();
String examinePersonId = map.get("examinePersonId")==null?"":map.get("examinePersonId").toString();
String examinePersonName = map.get("examinePersonName")==null?"":map.get("examinePersonName").toString();
String batchSql = "SELECT * FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'materialExamineSwitch' AND IS_DELETED = 'N' AND DATA_VALUE = 1 ORDER BY DATA_CODE ASC ";
List<Map<String,String>> list = hibernateDao.queryForListWithSql(batchSql);
String examineBatch = "0";
if (list.size() > 0) {
examineBatch = list.get(0).get("DATA_CODE");
}
String sql = "INSERT INTO GREEN_EPIDEMIC_MATERIAL(UUID,USER_ID,USER_NAME,PHONE,ORG_ID,ORG_NAME,REASON,CREATOR,EXAMINE_STATE,EXAMINE_PERSON_ID,EXAMINE_PERSON_NAME,EXAMINE_BATCH) "
+ "VALUES(?,?,?,?,?,?,?,?,0,?,?,?) ";
hibernateDao.executeSqlUpdate(sql,new Object[]{uuid,userId,userName,phone,orgId,orgName,reason,userId,examinePersonId,examinePersonName,examineBatch});
List<Map<String,Object>> arr = (List<Map<String,Object>>)map.get("supplies");
// Object[] arr = (Object[]) map.get("supplies");
for (int i = 0; i < arr.size(); i++) {
Map<String,Object> maps = arr.get(i);
String uuid2 = UUID.randomUUID().toString().replaceAll("-", "");
String name = maps.get("name") == null?"":maps.get("name").toString();
String specs = maps.get("specs") == null?"":maps.get("specs").toString();
String num = maps.get("num") == null?"":maps.get("num").toString();
String remarks = maps.get("remarks") == null?"":maps.get("remarks").toString();
String sql2 = "INSERT INTO GREEN_EPIDEMIC_MATERIAL_DETAIL(UUID,APPLY_ID,MATERIAL_NAME,SPECS,NUM,REMARKS,CREATOR) "
+ "VALUES(?,?,?,?,?,?,?) ";
hibernateDao.executeSqlUpdate(sql2,new Object[]{uuid2,uuid,name,specs,num,remarks,userId});
}
String title = "物资审批";
String text = "您好,您有新的物资申请需要审批,请点击查看。";
String url = "/pages/epidemic/epidemic-supplies-exam";
aliasManageController.pushToSingle(examinePersonId, title, text, url);
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 防疫物资申请记录
* @param map
* @return
*/
@RequestMapping(value="/materialList", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult materialList(@RequestBody Map<String, Object> map) {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
try {
StringBuffer sb = new StringBuffer();
//分页信息
Integer pageSize = map.get("pageSize")==null?10: (Integer)map.get("pageSize");
Integer pageNum = map.get("pageNum")==null?1: (Integer)map.get("pageNum");
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
pageSize = pageSize*pageNum;
//查询订单
sb.append(" SELECT * FROM(SELECT RN.*,ROWNUM rw FROM( "
+ " select t.* from green_epidemic_material t where t.is_deleted='N' and t.user_id = ? order by t.gmt_created desc "
+ " )rn ) WHERE rw > ? AND rw <= ? ");
List<Map<String,Object>> applyList = hibernateDao.queryForListWithSql(sb.toString()
,new Object[]{ userId, limit, pageSize});
StringBuilder stringBuilder = new StringBuilder();
String stringId = null;
if (!applyList.isEmpty()) {
stringBuilder.append("('");
for (int i = 0;i<applyList.size();i++) {
stringId = String.valueOf(applyList.get(i).get("UUID"));
stringBuilder.append(stringId + "','");
}
String substring = null;
if (stringBuilder != null) {
substring = stringBuilder.substring(0, stringBuilder.length()-2) +")";
}
//查询订单详情
String sql = "select t.* from green_epidemic_material_detail t where t.is_deleted='N' and t.apply_id in " + substring;
List<Map<String,Object>> detailList =hibernateDao.queryForListWithSql( sql);
String stringId2 = null;
String stringId3 = null;
for (int i = 0; i < applyList.size(); i++) {
ArrayList<Object> arrayList = new ArrayList<Object>();
applyList.get(i).put("detailList",null);
stringId2 = String.valueOf(applyList.get(i).get("UUID"));
for (int j = 0; j < detailList.size(); j++) {
stringId3 = String.valueOf(detailList.get(j).get("APPLY_ID"));
if (stringId2.equals(stringId3)) {
arrayList.add(detailList.get(j));
applyList.get(i).put("detailList",arrayList);
}
}
}
}
return new RestResult(Constant.SUCCESS,"成功",applyList);
}catch (ServiceValidatorBaseException e) {
throw e;
}catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED,"返回异常");
}
}
/**
* 防疫物资详情
* @param map
* @return
*/
@RequestMapping(value="/materialDetail", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult materialDetail(@RequestBody Map<String, Object> map) {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
try {
String uuid = map.get("uuid").toString();
String sql = " SELECT t.* "
+ " FROM GREEN_EPIDEMIC_MATERIAL t WHERE t.UUID = ? ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{uuid});
Map<String,Object> rmap = list.get(0);
String dsql = " SELECT t.* "
+ " FROM GREEN_EPIDEMIC_MATERIAL_DETAIL t WHERE t.APPLY_ID = ? AND IS_DELETED = 'N' ";
List<Map<String,Object>> dlist = hibernateDao.queryForListWithSql(dsql,new Object[]{uuid});
rmap.put("DETAIL_LIST", dlist);
if (list.size() > 0) {
//获取审核详情
String sqls = "SELECT * from GREEN_EPIDEMIC_TRAVEL_EXAMINE where DEL_FLAG = 0 and TRAVEL_ID = ? order by EXAMINE_BATCH asc ";
List<Map<String,String>> lists = hibernateDao.queryForListWithSql(sqls,new Object[]{list.get(0).get("UUID").toString()});
if (lists.size() > 0) {
rmap.put("EXAM_LIST", lists.toArray());
}
}
return new RestResult(Constant.SUCCESS,"成功",rmap);
}catch (ServiceValidatorBaseException e) {
throw e;
}catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED,"返回异常");
}
}
/**
* 防疫物资审批
* @param map
* @return
*/
@RequestMapping(value="/materialExamPage", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult materialExamPage(@RequestBody Map<String, Object> map) {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
try {
String examineState = map.get("examineState")==null?"0": map.get("examineState").toString();
//分页信息
Integer pageSize = map.get("pageSize")==null?10: (Integer)map.get("pageSize");
Integer pageNum = map.get("pageNum")==null?1: (Integer)map.get("pageNum");
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
pageSize = pageSize*pageNum;
//查询订单
String sb = " SELECT * FROM(SELECT RN.*,ROWNUM rw FROM( "
+ " select t.* from green_epidemic_material t where t.is_deleted='N' ";
if("0".equals(examineState)){
sb+=" and examine_state = 0";
}else{
sb+=" and examine_state <> 0";
}
sb+= " order by t.gmt_created desc "
+ " )rn ) WHERE rw > ? AND rw <= ? ";
List<Map<String,Object>> applyList = hibernateDao.queryForListWithSql(sb
,new Object[]{limit, pageSize});
StringBuilder stringBuilder = new StringBuilder();
String stringId = null;
if (!applyList.isEmpty()) {
stringBuilder.append("('");
for (int i = 0;i<applyList.size();i++) {
stringId = String.valueOf(applyList.get(i).get("UUID"));
stringBuilder.append(stringId + "','");
}
String substring = null;
if (stringBuilder != null) {
substring = stringBuilder.substring(0, stringBuilder.length()-2) +")";
}
//查询订单详情
String sql = "select t.* from green_epidemic_material_detail t where t.is_deleted='N' and t.apply_id in " + substring;
List<Map<String,Object>> detailList =hibernateDao.queryForListWithSql( sql);
String stringId2 = null;
String stringId3 = null;
for (int i = 0; i < applyList.size(); i++) {
ArrayList<Object> arrayList = new ArrayList<Object>();
applyList.get(i).put("detailList",null);
stringId2 = String.valueOf(applyList.get(i).get("UUID"));
for (int j = 0; j < detailList.size(); j++) {
stringId3 = String.valueOf(detailList.get(j).get("APPLY_ID"));
if (stringId2.equals(stringId3)) {
arrayList.add(detailList.get(j));
applyList.get(i).put("detailList",arrayList);
}
}
}
}
return new RestResult(Constant.SUCCESS,"成功",applyList);
}catch (ServiceValidatorBaseException e) {
throw e;
}catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED,"返回异常");
}
}
/**
* 防疫物资申请记录
* @param map
* @return
*/
@RequestMapping(value="/travelCheckThemeList", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult travelCheckThemeList(@RequestBody Map<String, Object> map) {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
try {
StringBuffer sb = new StringBuffer();
//分页信息
Integer pageSize = map.get("pageSize")==null?10: (Integer)map.get("pageSize");
Integer pageNum = map.get("pageNum")==null?1: (Integer)map.get("pageNum");
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
pageSize = pageSize*pageNum;
//查询订单
sb.append(" SELECT * FROM(SELECT RN.*,ROWNUM rw FROM( "
+ " select t.* from GREEN_EPIDEMIC_COLLECT_THEME t where t.is_deleted='N' order by t.gmt_created desc "
+ " )rn ) WHERE rw > ? AND rw <= ? ");
List<Map<String,Object>> applyList = hibernateDao.queryForListWithSql(sb.toString(),new Object[]{ limit, pageSize});
return new RestResult(Constant.SUCCESS,"成功",applyList);
}catch (ServiceValidatorBaseException e) {
throw e;
}catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED,"返回异常");
}
}
/**
* 查询物资申请部门拥有审核权限人员
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/getMaterialExamUser", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult getMaterialExamUser(@RequestBody Map<String, Object> map){
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String departmentId = map.get("departmentId")==null?"":map.get("departmentId").toString();
String depts[] = departmentId.split("/");
String dept = depts[0]+"/"+depts[1];
String sql = "SELECT u.id as \"id\",u.REAL_NAME as \"name\" from GREEN_USER_INFO u "
+ "LEFT JOIN GREEN_USER_ROLE_REL urr ON u.ID = urr.USER_ID AND u.IS_DELETED = 'N' "
+ "LEFT JOIN GREEN_ROLE_PERMISSION rp ON urr.ROLE_ID = rp.ROLE_ID AND urr.IS_DELETED = 'N' "
+ "WHERE u.dept_id_url like '"+dept+"%' AND rp.PERMISSION_ID = '44007' ";//44007
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql);
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.SUCCESS, "操作成功",new ArrayList<Map<String,Object>>());
}
}
/**
* 查询疫苗接种统计数据
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/vaccineStatic", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult vaccineStatic(@RequestBody Map<String, Object> map){
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String sql = "select count(*) as ALL_NUM,count(v.uuid) AS VACCINE_NUM from GREEN_USER_INFO u left join GREEN_EPIDEMIC_VACCINES v on u.id = v.USER_ID where u.IS_DELETED='N' ";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
String year = sdf.format(new Date());
String mSql = "SELECT sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-01' THEN 1 ELSE 0 END ) AS M1, "
+ " sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-01' THEN 1 ELSE 0 END ) AS M1,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-02' THEN 1 ELSE 0 END ) AS M2,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-03' THEN 1 ELSE 0 END ) AS M3,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-04' THEN 1 ELSE 0 END ) AS M4,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-05' THEN 1 ELSE 0 END ) AS M5,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-06' THEN 1 ELSE 0 END ) AS M6,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-07' THEN 1 ELSE 0 END ) AS M7,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-08' THEN 1 ELSE 0 END ) AS M8,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-09' THEN 1 ELSE 0 END ) AS M9,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-10' THEN 1 ELSE 0 END ) AS M10,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-11' THEN 1 ELSE 0 END ) AS M11,"
+ "sum( CASE WHEN to_char( GMT_CREATED, 'yyyy-mm' ) <= '"+year+"-12' THEN 1 ELSE 0 END ) AS M12 "
+ " FROM GREEN_EPIDEMIC_VACCINES ";
List<Map<String,Object>> mlist = hibernateDao.queryForListWithSql(mSql);
String dSql = " select d.CODE,d.NAME,U.ALL_NUM, V.VACCINE_NUM,v2.VACCINE_NUM2 from GREEN_DEPARTMENT d left join "
+" (SELECT COUNT(*) AS ALL_NUM ,DEPARTMENT_ID FROM GREEN_USER_INFO WHERE IS_DELETED = 'N' GROUP BY DEPARTMENT_ID ) U ON D.CODE = U.DEPARTMENT_ID "
+" LEFT JOIN "
+" (select count(*) as VACCINE_NUM,ORG_ID from GREEN_EPIDEMIC_VACCINES group by ORG_ID) v "
+" on d.code = v.ORG_ID"
+" LEFT JOIN "
+" (select count(*) as VACCINE_NUM2,ORG_ID from GREEN_EPIDEMIC_VACCINES WHERE VACCINATION_STRONGE ='已接种' group by ORG_ID) v2 "
+" on d.code = v2.ORG_ID"
+" WHERE D.LEVEL_ = '0,1' ORDER BY D.SEQ";
List<Map<String,Object>> dlist = hibernateDao.queryForListWithSql(dSql);
Map<String,Object> rmap = new HashMap<String,Object>();
rmap.put("list", list);
rmap.put("mlist", mlist);
rmap.put("dlist", dlist);
return new RestResult(Constant.SUCCESS, "操作成功",rmap);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 查询物资申请部门拥有审核权限人员
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/getMaterialInfoList", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult getMaterialInfoList(@RequestBody Map<String, Object> map){
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String sql = "select UUID AS \"id\",NAME AS \"name\",UNIT AS \"unit\" from green_epidemic_material_info where is_deleted = 'N' order by gmt_created";
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql);
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 物资申请审核
* @param map
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/materialExam", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult materialExam(@RequestBody Map<String, Object> map) {
try {
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String materialId = map.get("materialId")==null?"":map.get("materialId").toString();
String userName = map.get("userName")==null?"":map.get("userName").toString();
String examineState = map.get("examineState")==null?"":map.get("examineState").toString();
String examineOpinion = map.get("examineOpinion")==null?"":map.get("examineOpinion").toString();
String examineBatch = map.get("examineBatch")==null?"":map.get("examineBatch").toString();
if (StringUtils.isBlank(examineState)) {
return new RestResult(Constant.FAILED, "审核状态不能为空");
}
if (StringUtils.isBlank(examineBatch)) {
return new RestResult(Constant.FAILED, "审核批次不能为空");
}
//查询下一审核批次
String batchSql = "SELECT * FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'materialExamineSwitch' "
+ "AND IS_DELETED = 'N' AND DATA_VALUE = 1 AND DATA_CODE > ? ORDER BY DATA_CODE ASC ";
List<Map<String,String>> list = hibernateDao.queryForListWithSql(batchSql,new Object[]{examineBatch});
//不为空则更改审核批次,否则更改申请单的审核状态
if (list.size() > 0) {
if ("1".equals(examineState)) {
String lastExamineBatch = list.get(0).get("DATA_CODE");
String updateBatchSql = "UPDATE GREEN_EPIDEMIC_MATERIAL SET EXAMINE_BATCH = ? WHERE UUID = ? ";
hibernateDao.executeSqlUpdate(updateBatchSql,new Object[]{lastExamineBatch,materialId});
}else if("2".equals(examineState)){
String updateStateSql = "UPDATE GREEN_EPIDEMIC_MATERIAL SET EXAMINE_STATE = ? WHERE UUID = ? ";
hibernateDao.executeSqlUpdate(updateStateSql,new Object[]{examineState,materialId});
}
}else {
String updateStateSql = "UPDATE GREEN_EPIDEMIC_MATERIAL SET EXAMINE_STATE = ? WHERE UUID = ? ";
hibernateDao.executeSqlUpdate(updateStateSql,new Object[]{examineState,materialId});
}
//查询当前批次描述
String description = "";
String sqls = "SELECT DATA_CODE as \"id\",DATA_VALUE as \"name\",DESCRIPTION as \"description\" FROM GREEN_DICTIONARY_INFO "
+ "WHERE DATA_TYPE = 'materialExamineSwitch' AND IS_DELETED = 'N' and DATA_CODE = ? ";
List<Map<String,String>> lists = hibernateDao.queryForListWithSql(sqls,new Object[]{examineBatch});
if (lists.size() > 0) {
description = lists.get(0).get("description");
}
//插入数据
String sql = "INSERT INTO GREEN_EPIDEMIC_TRAVEL_EXAMINE(ID,TRAVEL_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION,"
+ "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,DESCRIPTION) "
+ "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) ";
hibernateDao.executeSqlUpdate(sql,new Object[]{uuid,materialId,userId,userName,examineState,examineOpinion,examineBatch,description});
return new RestResult(Constant.SUCCESS, "操作成功");
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
/**
* 物资申请审核列表
* @param rentHouseApply
* @return
*/
@SuppressWarnings("deprecation")
@RequestMapping(value="/materialExaminePage", method = RequestMethod.POST)
@Transactional(rollbackFor=Exception.class)
@ResponseBody
public RestResult materialExaminePage(@RequestBody Map<String, Object> map) {
try {
ArrayList<Object> paramList = new ArrayList<Object>();
String userId = map.get("userId").toString();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
Integer pageSize = map.get("pageSize")==null?10: (Integer)map.get("pageSize");
Integer pageNum = map.get("pageNum")==null?1: (Integer)map.get("pageNum");
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
pageSize = pageSize*pageNum;
String examineState = map.get("examineState")==null?"": map.get("examineState").toString();
String examineBatch = map.get("examineBatch")==null?"":map.get("examineBatch").toString();
if (StringUtils.isBlank(examineState)) {
return new RestResult(Constant.FAILED, "审核状态不能为空");
}
if (StringUtils.isBlank(examineBatch)) {
return new RestResult(Constant.FAILED, "审核批次不能为空");
}
if ("0".equals(examineState)) {
String str = examineBatch.replace(",", "','");
String sql = "select count(*) from GREEN_DICTIONARY_INFO where data_type = 'materialExamineSwitch' and data_code in( '"+str+"') and data_value = 1 ";
int count = hibernateDao.queryForIntWithSql(sql);
if (count == 0) {
return new RestResult(Constant.SUCCESS, "操作成功",new ArrayList<Map<String,String>>());
}
}
String examineBatchs[] = examineBatch.split(",");
String sql ="";
if(examineBatchs.length==1 || "1".equals(examineState)){
sql = "select * from (select rn.*,rownum from ( "
+ " SELECT DISTINCT A.UUID AS id,A.*, "
+ " to_char(A.GMT_CREATED,'YYYY-MM-DD HH24:MI:SS') as \"applyTime\" "
+ " FROM GREEN_EPIDEMIC_MATERIAL A "
+ " LEFT JOIN (select * from GREEN_EPIDEMIC_TRAVEL_EXAMINE where EXAMINE_BATCH IN ('"+ StringUtils.join(examineBatchs, "','")+"') and DEL_FLAG=0) E ON A.UUID = E.TRAVEL_ID "
+ " WHERE A.IS_DELETED = 'N' ";
// paramList.add(examineBatch);
//当查询审核批次为1时只查询审核人为当前userid的数据
if("1".equals(examineBatch)){
// sql+= "AND A.ORG_ID IN (SELECT id FROM GREEN_DEPARTMENT START WITH ID = ? CONNECT BY PRIOR ID = PARENT_ID) ";
sql+="AND A.EXAMINE_PERSON_ID = ? ";
paramList.add(userId);
}
if ("1".equals(examineState)) {//已审核
sql += "and e.ID is not NULL " ;
}else if("0".equals(examineState)) {//待审核
sql += "AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? " ;
paramList.add(examineBatch);
}
sql+= " ORDER BY A.GMT_CREATED DESC "
+ " ) rn )where rownum>? and rownum<=? ";
paramList.add(limit);
paramList.add(pageSize);
}else{
sql = " select * from (select rn.*,rownum from ( "
+ " select * from (";
for(int i=0;i<examineBatchs.length;i++){
if(i!=0){
sql+=" union all ";
}
sql+= " SELECT DISTINCT A.UUID AS id,A.*, "
+ " to_char(A.GMT_CREATED,'YYYY-MM-DD HH24:MI:SS') as \"applyTime\" "
+ " FROM GREEN_EPIDEMIC_MATERIAL A "
+ " LEFT JOIN (select * from GREEN_EPIDEMIC_TRAVEL_EXAMINE where EXAMINE_BATCH =? and DEL_FLAG=0) E ON A.UUID = E.TRAVEL_ID "
+ " WHERE A.IS_DELETED = 'N' ";
paramList.add(examineBatchs[i]);
//当查询审核批次为1时只查询审核人为当前userid的数据
if("1".equals(examineBatchs[i])){
// sql+= "AND A.ORG_ID IN (SELECT id FROM GREEN_DEPARTMENT START WITH ID = ? CONNECT BY PRIOR ID = PARENT_ID) ";
sql+="AND A.EXAMINE_PERSON_ID = ? ";
paramList.add(userId);
}
if ("1".equals(examineState)) {//已审核
sql += "and e.ID is not NULL " ;
}else if("0".equals(examineState)) {//待审核
sql += "AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? " ;
paramList.add(examineBatchs[i]);
}
}
sql +=" ) ORDER BY GMT_CREATED DESC "
+ " ) rn )where rownum>? and rownum<=? ";
paramList.add(limit);
paramList.add(pageSize);
}
@SuppressWarnings("unchecked")
List<GreenRentHouseApply> list = hibernateDao.queryForListWithSql(sql,paramList.toArray());
return new RestResult(Constant.SUCCESS, "操作成功",list);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "操作失败");
}
}
}