package cn.ksource.web.facade.emergencyPlan; import java.util.LinkedList; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.web.service.WorkOrderCodeService; /** * 应急预案管理接口实现 * @author gaofazhan *2018-03-14 */ @Service public class EmergencyPlanFacadeImpl implements EmergencyPlanFacade{ @Autowired private BaseDao baseDao; @Autowired private WorkOrderCodeService workOrderCodeService; @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public PageInfo getEmergencyPlanData(Map param, PageInfo pageInfo) { String sql="select * from emergency_plan where state=1 "; String plan_name=ConvertUtil.obj2StrBlank(param.get("plan_name")); if(StringUtil.notEmpty(plan_name)){ param.put("plan_name", "%"+plan_name+"%"); sql+=" AND PLAN_NAME like :plan_name "; } String cusId=ConvertUtil.obj2StrBlank(param.get("cusId")); if(StringUtil.notEmpty(cusId)){ sql+=" AND CUSTOMER_ID =:cusId "; } String subCusId=ConvertUtil.obj2StrBlank(param.get("subCusId")); if(StringUtil.notEmpty(subCusId)){ sql+=" AND SUB_CUSTOMER_ID =:subCusId "; } String startDate=ConvertUtil.obj2StrBlank(param.get("startDate")); if(StringUtil.notEmpty(startDate)){ sql+=" AND CREATE_TIME>=:startDate "; } String endDate=ConvertUtil.obj2StrBlank(param.get("endDate")); if(StringUtil.notEmpty(endDate)){ sql+=" AND CREATE_TIME<=:endDate "; } PageInfo info=baseDao.queryforSplitPageInfo(pageInfo, sql, param); List list=info.getDatas(); if(list.size()>0){ for(Map map:list){ List dateList=new LinkedList(); param.put("plan_id", ConvertUtil.obj2StrBlank(map.get("ID"))); String sqlb="select * from emergency_date where plan_id=:plan_id"; String is_zx="1"; List dates=baseDao.queryForList(sqlb, param); if(dates.size()>0){ for(Map mapa:dates){ dateList.add(mapa); String zx=ConvertUtil.obj2StrBlank(mapa.get("IS_ORDER")); if(zx.equals("0")){ is_zx="0"; } } } map.put("dateList", dateList); map.put("is_zx", is_zx); } } return info; } @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public int getEmergencyPlanCount(Map param) { String sql="select COUNT(ID) from emergency_plan where state=1 "; String plan_name=ConvertUtil.obj2StrBlank(param.get("plan_name")); if(StringUtil.notEmpty(plan_name)){ param.put("plan_name", "%"+plan_name+"%"); sql+=" AND PLAN_NAME like :plan_name "; } String cusId=ConvertUtil.obj2StrBlank(param.get("cusId")); if(StringUtil.notEmpty(cusId)){ sql+=" AND CUSTOMER_ID =:cusId "; } String subCusId=ConvertUtil.obj2StrBlank(param.get("subCusId")); if(StringUtil.notEmpty(subCusId)){ sql+=" AND SUB_CUSTOMER_ID =:subCusId "; } String startDate=ConvertUtil.obj2StrBlank(param.get("startDate")); if(StringUtil.notEmpty(startDate)){ sql+=" AND CREATE_TIME>=:startDate "; } String endDate=ConvertUtil.obj2StrBlank(param.get("endDate")); if(StringUtil.notEmpty(endDate)){ sql+=" AND CREATE_TIME<=:endDate "; } return baseDao.queryForInteger(sql, param); } @SuppressWarnings("rawtypes") @Override public Map getEmergencyPlan(Map param) { String sql="select * from emergency_plan where id=:id"; return baseDao.queryForMap(sql, param); } @SuppressWarnings("rawtypes") @Override public List getDateList(Map param) { String sql="select * from emergency_date where PLAN_ID=:id"; return baseDao.queryForList(sql, param); } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void saveEmergencyPlan(Map param) { String id=StringUtil.getUUID(); param.put("id", id); param.put("create_time", DateUtil.getCurrentDate14()); String sql="insert into emergency_plan(ID,PLAN_NAME,CUSTOMER_ID,CUSTOMER_NAME,SUB_CUSTOMER_ID," + "SUB_CUSTOMER_NAME,INTENT,PLAN_RANGE,STANDARD,LEVEL,DUTY,PLAN_DESCRIBE,SOLVE,PREVENTION,COMMAND," + "CREATE_TIME,PARTAKE,STATE,USER_ID,USER_NAME) values(:id,:plan_name,:customer_id,:customer_name," + ":sub_customer_id,:sub_customer_name,:intent,:plan_range,:standard,:level,:duty,:plan_describe,:solve," + ":prevention,:command,:create_time,:partake,1,:userId,:userName)"; baseDao.execute(sql, param); String ylDate=ConvertUtil.obj2StrBlank(param.get("ylDate")); if(StringUtil.notEmpty(ylDate)){ String[] times=ylDate.split(","); for(int i=0;i=ConvertUtil.obj2Long(time)){ //生成工单 param.put("is_order", 0); baseDao.execute(sqla, param); param.put("yid", StringUtil.getUUID()); String order_code = workOrderCodeService.getYatOrderCode(); param.put("order_code", order_code); String sqlb="insert into emergency_drill(ID,PLAN_ID,DATE_ID,ORDER_CODE,IS_ZX) " + "values(:yid,:id,:did,:order_code,2)"; baseDao.execute(sqlb, param); }else{ param.put("is_order", 1); baseDao.execute(sqla, param); } } } } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void updateEmergencyPlan(Map param) { String sql="update emergency_plan set PLAN_NAME=:plan_name,CUSTOMER_ID=:customer_id," + "CUSTOMER_NAME=:customer_name,SUB_CUSTOMER_ID=:sub_customer_id," + "SUB_CUSTOMER_NAME=:sub_customer_name,INTENT=:intent,PLAN_RANGE=:plan_range,STANDARD=:standard," + "LEVEL=:level,DUTY=:duty,PLAN_DESCRIBE=:plan_describe,SOLVE=:solve,PREVENTION=:prevention," + "COMMAND=:command,PARTAKE=:partake where id=:id"; baseDao.execute(sql, param); String sqlc="delete from emergency_date where plan_id=:id"; baseDao.execute(sqlc, param); String ylDate=ConvertUtil.obj2StrBlank(param.get("ylDate")); if(StringUtil.notEmpty(ylDate)){ String[] times=ylDate.split(","); for(int i=0;i=ConvertUtil.obj2Long(time)){ //生成工单 param.put("is_order", 0); baseDao.execute(sqla, param); param.put("yid", StringUtil.getUUID()); String order_code = workOrderCodeService.getYatOrderCode(); param.put("order_code", order_code); String sqlb="insert into emergency_drill(ID,PLAN_ID,DATE_ID,ORDER_CODE,IS_ZX) " + "values(:yid,:id,:did,:order_code,2)"; baseDao.execute(sqlb, param); }else{ param.put("is_order", 1); baseDao.execute(sqla, param); } } } } @SuppressWarnings("rawtypes") @Override public void delEmergencyPlan(Map param) { String sql="update emergency_plan set STATE=2 where id=:id "; baseDao.execute(sql, param); } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public PageInfo getEmergencyDrillData(Map param, PageInfo pageInfo) { String sql="select a.*,b.plan_date,c.order_code,c.is_zx,c.id cid,b.id bid from emergency_plan a,emergency_date b,emergency_drill c" + " where a.state=1 and a.id=b.plan_id and a.id=c.plan_id and c.date_id=b.id "; String plan_name=ConvertUtil.obj2StrBlank(param.get("plan_name")); if(StringUtil.notEmpty(plan_name)){ param.put("plan_name", "%"+plan_name+"%"); sql+=" AND a.PLAN_NAME like :plan_name "; } String plan_id=ConvertUtil.obj2StrBlank(param.get("plan_id")); if(StringUtil.notEmpty(plan_id)){ sql+=" AND a.ID = :plan_id "; } String cusId=ConvertUtil.obj2StrBlank(param.get("cusId")); if(StringUtil.notEmpty(cusId)){ sql+=" AND a.CUSTOMER_ID =:cusId "; } String subCusId=ConvertUtil.obj2StrBlank(param.get("subCusId")); if(StringUtil.notEmpty(subCusId)){ sql+=" AND a.SUB_CUSTOMER_ID =:subCusId "; } String startDate=ConvertUtil.obj2StrBlank(param.get("startDate")); if(StringUtil.notEmpty(startDate)){ sql+=" AND a.CREATE_TIME>=:startDate "; } String endDate=ConvertUtil.obj2StrBlank(param.get("endDate")); if(StringUtil.notEmpty(endDate)){ sql+=" AND a.CREATE_TIME<=:endDate "; } String plan_startDate=ConvertUtil.obj2StrBlank(param.get("plan_startDate")); if(StringUtil.notEmpty(plan_startDate)){ sql+=" AND b.plan_date>=:plan_startDate "; } String plan_endDate=ConvertUtil.obj2StrBlank(param.get("plan_endDate")); if(StringUtil.notEmpty(plan_endDate)){ sql+=" AND b.plan_date<=:plan_endDate "; } String order_code=ConvertUtil.obj2StrBlank(param.get("order_code")); if(StringUtil.notEmpty(order_code)){ param.put("order_code", "%"+order_code+"%"); sql+=" AND c.ORDER_CODE like :order_code "; } String state=ConvertUtil.obj2StrBlank(param.get("state")); if(StringUtil.notEmpty(state)){ sql+=" AND c.IS_ZX =:state "; } return baseDao.queryforSplitPageInfo(pageInfo, sql, param); } @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public int getEmergencyDrillCount(Map param) { String sql="select count(c.id) from emergency_plan a,emergency_date b,emergency_drill c" + " where a.state=1 and a.id=b.plan_id and a.id=c.plan_id and c.date_id=b.id "; String plan_name=ConvertUtil.obj2StrBlank(param.get("plan_name")); if(StringUtil.notEmpty(plan_name)){ param.put("plan_name", "%"+plan_name+"%"); sql+=" AND a.PLAN_NAME like :plan_name "; } String plan_id=ConvertUtil.obj2StrBlank(param.get("plan_id")); if(StringUtil.notEmpty(plan_id)){ sql+=" AND a.ID = :plan_id "; } String cusId=ConvertUtil.obj2StrBlank(param.get("cusId")); if(StringUtil.notEmpty(cusId)){ sql+=" AND a.CUSTOMER_ID =:cusId "; } String subCusId=ConvertUtil.obj2StrBlank(param.get("subCusId")); if(StringUtil.notEmpty(subCusId)){ sql+=" AND a.SUB_CUSTOMER_ID =:subCusId "; } String startDate=ConvertUtil.obj2StrBlank(param.get("startDate")); if(StringUtil.notEmpty(startDate)){ sql+=" AND a.CREATE_TIME>=:startDate "; } String endDate=ConvertUtil.obj2StrBlank(param.get("endDate")); if(StringUtil.notEmpty(endDate)){ sql+=" AND a.CREATE_TIME<=:endDate "; } String order_code=ConvertUtil.obj2StrBlank(param.get("order_code")); if(StringUtil.notEmpty(order_code)){ param.put("order_code", "%"+order_code+"%"); sql+=" AND c.ORDER_CODE like :order_code "; } String state=ConvertUtil.obj2StrBlank(param.get("state")); if(StringUtil.notEmpty(state)){ sql+=" AND c.IS_ZX =:state "; } return baseDao.queryForInteger(sql, param); } @SuppressWarnings("rawtypes") @Override public Map getDrill(Map param) { String sql="select a.*,a.COMMAND COMMAND_TWO,a.PARTAKE PARTAKE_TWO,c.*,b.plan_date,c.order_code,c.is_zx,c.id cid,c.command commandTwo,c.PARTAKE partakenTwo,b.id bid from emergency_plan a," + "emergency_date b,emergency_drill c" + " where a.state=1 and a.id=b.plan_id and a.id=c.plan_id and c.date_id=b.id and a.id=:planId and b.id=:dateId and c.id=:drillId "; return baseDao.queryForMap(sql, param); } @SuppressWarnings("rawtypes") @Override public void saveDrill(Map param) { String sql="update emergency_drill set IS_ZX=1,DEPART=:depart,COMMAND=:command,PARTAKE=:partake," + "SITUATION=:situation,PROCESS=:process,STEP=:step,SUMMARY=:summary,DRILL_TYPE=:drill_type," + "PLAN_TYPE=:plan_type,SUITABLE_TYPE=:suitable_type,FULL_TYPE=:full_type,PERSON_ONE_TYPE=:person_one_type," + "PERSON_TWO_TYPE=:person_two_type,MATERIAL_TYPE=:material_type,PROTECT_TYPE=:protect_type," + "ZTZZ_TYPE=:ztzz_type,YJFG_TYPE=:yjfg_type,PJ_TYPE=:pj_type,BG_TYPE=:bg_type,ZY_TYPE=:zy_type " + "where id=:id "; baseDao.execute(sql, param); } }