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<Map> list=info.getDatas();
|
if(list.size()>0){
|
for(Map map:list){
|
List<Map> dateList=new LinkedList<Map>();
|
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<Map> 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<Map> 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<times.length;i++){
|
String time=times[i].replace("-", "");
|
param.put("time", time);
|
String did= StringUtil.getUUID();
|
param.put("did",did );
|
String sqla="insert into emergency_date(ID,PLAN_ID,PLAN_DATE,IS_ORDER) values(:did,:id,:time,:is_order)";
|
|
Long now=DateUtil.getCurrentDate8();
|
Long sevenTime=DateUtil.getDateAdd(now, 7, 8);
|
if(sevenTime>=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<times.length;i++){
|
String time=times[i].replace("-", "");
|
param.put("time", time);
|
String did= StringUtil.getUUID();
|
param.put("did",did );
|
String sqla="insert into emergency_date(ID,PLAN_ID,PLAN_DATE,IS_ORDER) values(:did,:id,:time,:is_order)";
|
|
Long now=DateUtil.getCurrentDate8();
|
|
Long sevenTime=DateUtil.getDateAdd(now, 7, 8);
|
if(sevenTime>=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);
|
}
|
}
|