package cn.ksource.web.facade.bpbj; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Stack; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import cn.ksource.beans.CMDB_CI_CATEGORY; import cn.ksource.beans.GG_RECORD; import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; import cn.ksource.beans.SC_PARTNER_CUSTOMER_SUB; import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL; import cn.ksource.beans.SC_WORKFLOW_RELEASE; import cn.ksource.beans.SPARE_PART; import cn.ksource.beans.SPARE_PART_APPLY; import cn.ksource.beans.SPARE_PART_APPLY_CATE; import cn.ksource.beans.SPARE_PART_APPLY_ENTITY; import cn.ksource.beans.SPARE_PART_STORAGE; import cn.ksource.beans.WORKFLOW_BASE; import cn.ksource.beans.WORKFLOW_NODE; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.AjaxUtil; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.OrderCodeUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.util.TwoDimensionCode; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; import cn.ksource.core.workflow.NodeDealEntity; import cn.ksource.core.workflow.NodeFinishEntity; import cn.ksource.core.workflow.WorkflowBusinessService; import cn.ksource.core.workflow.WorkflowCoreService; import cn.ksource.web.Constants; import cn.ksource.web.entity.WorkFlowSupportEntity; import cn.ksource.web.service.WorkOrderCodeService; import cn.ksource.web.service.record.RecordService; import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; @Service("SparePartsFacade") public class SparePartsFacadeImpl implements SparePartsFacade { @Resource private BaseDao baseDao; @Autowired private WorkflowBusinessService workflowBusinessService; @Autowired private WorkOrderCodeService workOrderCodeService; @Autowired private WorkFlowSupportService workFlowSupportService; @Autowired private RecordService recordService; @Resource private WorkflowCoreService workflowCoreService; /** *备件申请列表信息 * @return */ @Override public List getStockList() { return baseDao.queryForList(" select * from SPARE_PART_APPLY where STATE=1 "); } /** * 项目查询 * @return */ @Override public List getCustomerList() { String sql = "SELECT * FROM SC_PARTNER_CUSTOMER_INFO WHERE CUSTOMER_STATE = 1 "; return baseDao.queryForList(sql); } /** * 备件供应商查询 * @return */ @Override public List getSupplierList() { String sql = "SELECT * FROM SUPPLIER_INFO WHERE STATE = 1 "; return baseDao.queryForList(sql); } /** * 查询备件申请头部状态数量信息 * @param request * @param type * @return */ @Override public Map queryOrderCountByCate(HttpServletRequest request){ String userId = WebUtil.getLoginedUserId(request); Map groupMap = WebUtil.getLoginUser(request).getGroupMap(); Map paramMap = new HashMap(); StringBuilder builder = new StringBuilder(); paramMap.put("create_id", userId); builder.append("SELECT COUNT(1) AS TOTAL,SUM(CASE WHEN STATE=2 THEN 1 ELSE 0 END) AS AUDITING ,SUM(CASE WHEN STATE=3 THEN 1 ELSE 0 END) AS DELIVERY,SUM(CASE WHEN STATE=4 THEN 1 ELSE 0 END) AS CONFIRM FROM SPARE_PART_APPLY WHERE CREATE_ID=:create_id"); List list = baseDao.queryForList(builder.toString(),paramMap); Map resultMap = new HashMap(); for(Map m : list) { resultMap.put("TOTAL", m.get("TOTAL")); resultMap.put("AUDITING", m.get("AUDITING")); resultMap.put("DELIVERY", m.get("DELIVERY")); resultMap.put("CONFIRM", m.get("CONFIRM")); } return resultMap; } /** * 备件申请列表信息 * @param pageInfo * @param params * @return */ @Override public PageInfo getStockListData(HttpServletRequest request,PageInfo pageInfo){ StringBuilder sql = new StringBuilder(); Map paramMap = new HashMap(); sql.append(" select * from SPARE_PART_APPLY where CREATE_ID=:create_id"); String order_code=request.getParameter("order_code"); String order_name=request.getParameter("order_name"); String state=request.getParameter("state"); String start_time=request.getParameter("start_time"); String end_time=request.getParameter("end_time"); String customer_id=request.getParameter("customer_id"); Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = user.get("Id").toString(); paramMap.put("create_id",userId ); //项目 if (StringUtil.isNotBlank(customer_id)) { sql.append(" and PROJECT_ID=:project_id "); paramMap.put("project_id", customer_id); } //工单编号 if (StringUtil.isNotBlank(order_code)) { sql.append(" and order_code like :order_code "); paramMap.put("order_code","%"+order_code.trim()+"%"); } //工单名称 if (StringUtil.isNotBlank(order_name)) { sql.append(" and order_name like:order_name "); paramMap.put("order_name", "%"+order_name.trim()+"%"); } //工单状态 if (StringUtil.isNotBlank(state)) { sql.append(" and state=:state "); paramMap.put("state", state); } //开始时间 if(StringUtil.isNotBlank(start_time)){ sql.append(" AND gmt_create>=:start_time"); paramMap.put("start_time", start_time+"000000"); } //结束时间 if(StringUtil.isNotBlank(end_time)){ sql.append(" and gmt_create<=:end_time"); paramMap.put("end_time", end_time+"235959"); } sql.append(" order by gmt_create desc "); return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), paramMap); } /** * 备件申请列表数量信息 * @param pageInfo * @param params * @return */ @Override public int getStockListCount(HttpServletRequest request) { StringBuilder sql = new StringBuilder(); Map paramMap = new HashMap(); sql.append(" select count(*) from SPARE_PART_APPLY where CREATE_ID=:create_id "); String order_code=request.getParameter("order_code"); String order_name=request.getParameter("order_name"); String state=request.getParameter("state"); String start_time=request.getParameter("start_time"); String end_time=request.getParameter("end_time"); String customer_id=request.getParameter("customer_id"); Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = user.get("Id").toString(); paramMap.put("create_id",userId ); //项目 if (StringUtil.isNotBlank(customer_id)) { sql.append(" and PROJECT_ID=:project_id "); paramMap.put("project_id", customer_id); } //工单编号 if (StringUtil.isNotBlank(order_code)) { sql.append(" and order_code like :order_code "); paramMap.put("order_code","%"+order_code.trim()+"%"); } //工单名称 if (StringUtil.isNotBlank(order_name)) { sql.append(" and order_name like:order_name "); paramMap.put("order_name", "%"+order_name.trim()+"%"); } //工单状态 if (StringUtil.isNotBlank(state)) { sql.append(" and state=:state "); paramMap.put("state", state); } //开始时间 if(StringUtil.isNotBlank(start_time)){ sql.append(" AND gmt_create>=:start_time"); paramMap.put("start_time", start_time+"000000"); } //结束时间 if(StringUtil.isNotBlank(end_time)){ sql.append(" and gmt_create<=:end_time"); paramMap.put("end_time", end_time+"235959"); } sql.append(" order by gmt_create desc "); int count = baseDao.queryForInteger(sql.toString(), paramMap); return count; } /** * 备件信息 * @param customerid * @param subCustomerId * @return */ @Override public String getCustomerName(String customerid) { String subCustomerName = new String(); if (StringUtil.notEmpty(customerid)) { SC_PARTNER_CUSTOMER_INFO info = new SC_PARTNER_CUSTOMER_INFO(customerid).getInstanceById(); subCustomerName = info.getCustomer_name(); } return subCustomerName; } /** * 查询关联配置 * @param request * @return */ @Override public List queryLinkDevice(HttpServletRequest request) { String seachcode = request.getParameter("seachcode"); String categoryid = request.getParameter("categoryid"); String customerid = request.getParameter("customerid"); String ciids = request.getParameter("ciids"); String cmdbName = AjaxUtil.decode(request.getParameter("cmdbName")); String subCustomerId =customerid; String membercode = request.getParameter("membercode"); String spare_part_apply_entity_id = request.getParameter("spare_part_apply_entity_id"); String orderId = request.getParameter("orderId"); Map paramMap = new HashMap(); //查询关联设备 StringBuilder builder = new StringBuilder("SELECT A.* FROM CMDB_CI_BASE A LEFT JOIN CMDB_CI_FLOW B ON A.ID = B.CFG_ID AND B.STATE = 4 WHERE A.STATE = 1 "); String ciid[] = ciids.split("-"); if (!StringUtil.isEmpty(ciids)) { String para = ""; for (int i = 0; i < ciid.length; i++) { if (i < ciid.length - 1) { para += ciid[i] + "','"; } else if (i == ciid.length - 1) { para += ciid[i]; } } builder.append(" and A.ID NOT IN ('"); builder.append(para); builder.append("') "); } if(StringUtil.isNotBlank(orderId)){ String sqlString="select CI_ID from CMDB_CI_REF_ORDER where FLOW_ID=(select FLOW_ID from SPARE_PART_APPLY where id=:orderId)"; paramMap.put("orderId", orderId); List ci_ids = baseDao.queryForList(sqlString, paramMap); if(ci_ids!=null && ci_ids.size()>0){ String ci_id_s = ""; for (Map ci_id :ci_ids){ String cmdb_ci_base_id=ConvertUtil.obj2StrBlank(ci_id.get("CI_ID")); ci_id_s += cmdb_ci_base_id + "','"; } builder.append(" and A.ID IN ('"); builder.append(ci_id_s); builder.append("') "); }else{ builder.append(" and A.ID IN ('"); builder.append(""); builder.append("') "); } } if(StringUtil.isNotBlank(spare_part_apply_entity_id)){ String sqlString="select CI_ID from CMDB_CI_REF_ORDER where FLOW_ID=(select FLOW_ID from SPARE_PART_APPLY where id=(select ORDER_ID from SPARE_PART_APPLY_ENTITY where id=:spare_part_apply_entity_id))"; paramMap.put("spare_part_apply_entity_id", spare_part_apply_entity_id); List ci_ids = baseDao.queryForList(sqlString, paramMap); if(ci_ids!=null && ci_ids.size()>0){ String ci_id_s = ""; for (Map ci_id :ci_ids){ String cmdb_ci_base_id=ConvertUtil.obj2StrBlank(ci_id.get("CI_ID")); ci_id_s += cmdb_ci_base_id + "','"; } builder.append(" and A.ID IN ('"); builder.append(ci_id_s); builder.append("') "); }else{ builder.append(" and A.ID IN ('"); builder.append(""); builder.append("') "); } } if(StringUtil.isNotBlank(customerid)){ builder.append(" AND A.CUS_ID =:customerId "); paramMap.put("customerId", customerid); } if (StringUtil.notEmpty(cmdbName)) { builder.append(" AND A.CINAME LIKE :ciName "); paramMap.put("ciName", "%" + cmdbName + "%"); } if (StringUtil.notEmpty(seachcode)) { builder.append(" AND A.SEARCHCODE LIKE :seachcode "); paramMap.put("seachcode", "%" + seachcode + "%"); } if (StringUtil.notEmpty(membercode)) { builder.append(" AND A.CODE = :membercode "); paramMap.put("membercode", membercode); } /* if (StringUtil.notEmpty(subCustomerId)) { builder.append(" AND A.SUB_CUS_ID = :subCustomerId "); paramMap.put("subCustomerId", subCustomerId); }*/ builder.append(" ORDER BY A.CODE "); List devices = baseDao.queryForList(builder.toString(), paramMap); for (Map device : devices) { device.put("LASTUPDATETIME", DateUtil.format("yyyy-MM-dd HH:mm:ss", device.get("LASTUPDATETIME"))); int i = device.get("STATE") == null ? 0 : ConvertUtil.obj2Int(device.get("STATE")); device.put("STATE", Constants.getCMDB_CI_BASE_USINGSTATE_Label(i)); } System.out.println(JsonUtil.list2Json(devices)); return devices; } /** * 查询申请备件列表 * @param request * @return */ @Override public List querySpareDeviceList(String orderId) { Map paramMap = new HashMap(); paramMap.put("orderId", orderId); String sqlString="SELECT\n" + " cate.cate_id id,\n" + " (select code from CMDB_CI_CATEGORY where id=gory.LV1_id) code1,\n" + " (select code from CMDB_CI_CATEGORY where id=gory.LV2_id) code2,\n" + " gory.LV1_NAME,\n" + " gory.LV2_NAME,\n" + " gory.LV3_NAME,\n" + " gory. CODE,\n" + " cate.CATE_NUM\n" + "FROM\n" + " SPARE_PART_APPLY_CATE cate\n" + "LEFT JOIN CMDB_CI_CATEGORY gory ON cate.CATE_ID = gory.id\n" + "WHERE\n" + " cate.APPLY_ORDER_ID =:orderId order by cate.cate_id"; List devices = baseDao.queryForList(sqlString, paramMap); return devices; } /** * 查询关联配置信息 * @param request * @return */ @Override public List queryLinkDeviceList(String flowId) { Map paramMap = new HashMap(); paramMap.put("flowId", flowId); String sqlString="SELECT\n" + " cmdb.CI_ID id,\n" + " base.ciname,\n" + " base.POSITION,\n" + " base.SEARCHCODE\n" + "FROM\n" + " CMDB_CI_REF_ORDER cmdb\n" + "LEFT JOIN CMDB_CI_BASE base ON cmdb.CI_ID = base.ID\n" + "WHERE\n" + " cmdb.FLOW_ID =:flowId"; List devices = baseDao.queryForList(sqlString, paramMap); return devices; } /** * 查询备件树列表信息 * @param pageInfo * @param params * @return */ @Override public List stockListTreeData(HttpServletRequest request) { String sql="select * from cmdb_ci_category where state=1 and cate_type=2 "; String spareIds = request.getParameter("spareIds"); if(StringUtil.isNotBlank(spareIds)){ String spareId[] = spareIds.split("-"); if (!StringUtil.isEmpty(spareIds)) { String para = ""; for (int i = 0; i < spareId.length; i++) { if (i < spareId.length - 1) { para += spareId[i] + "','"; } else if (i == spareId.length - 1) { para += spareId[i]; } } sql+=" and ID NOT IN ('"; sql+=para; sql+="') "; } } sql+=" order BY lv"; List categoryList = baseDao.queryForList(sql); List resultList = new LinkedList(); Map yjgnCache = new HashMap(); Map ejgnCache = new HashMap(); Map sjgnCache = new HashMap(); for (Map map : categoryList) { String level = map.get("lv").toString(); //一级树 if (level.equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); List ejgnList = new LinkedList(); map.put("ejTree", ejgnList); resultList.add(map); continue; } //二级树 if (level.equalsIgnoreCase("2")) { Map yjgnMap = yjgnCache.get(map.get("pid").toString()); List list = (List)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList()); list.add(map); ejgnCache.put(map.get("ID").toString(), map); continue; } //三级树 if (level.equalsIgnoreCase("3")) { if(null!=map.get("pid")){ Map ejgnMap = ejgnCache.get(map.get("pid").toString()); List list = (List)ejgnMap.get("sjTree"); list.add(map); } } } return resultList; } /** * 保存备件信息 * @param request * @param release * @return */ @Override public String saveSpare(HttpServletRequest request, SPARE_PART_APPLY spare_part_apply) { String orderId = request.getParameter("orderId"); Map user = WebUtil.getLoginUser(request).getLoginUser(); String userName = user.get("ZSXM").toString(); String userId = user.get("Id").toString(); String type = request.getParameter("type"); String customer_id = request.getParameter("customer_id"); String customer_name = request.getParameter("customer_name"); String dealId = request.getParameter("dealId"); String dealName = request.getParameter("dealName"); String bz = request.getParameter("bz"); if(StringUtil.isBlank(orderId)){ //工单编号 String order_code = workOrderCodeService.getSpareOrderCode(); spare_part_apply.setOrder_code(order_code); spare_part_apply.setCreate_id(userId); spare_part_apply.setCreate_name(userName); spare_part_apply.setGmt_create(DateUtil.getCurrentDate14()); spare_part_apply.setProject_id(customer_id); spare_part_apply.setProject_name(customer_name); spare_part_apply.setState(Constants.SPARE_PART_APPLY_STATE_X); spare_part_apply.insertOrUpdate(); orderId=spare_part_apply.getId(); workflowBusinessService.startSpareWorkflow(spare_part_apply.getId(),bz); }else{ SPARE_PART_APPLY spare_part=new SPARE_PART_APPLY(orderId).getInstanceById(); String flowId=spare_part.getFlow_id(); spare_part_apply.setId(orderId); spare_part_apply.setFlow_id(flowId); spare_part_apply.setOrder_code(spare_part.getOrder_code()); spare_part_apply.setState(spare_part.getState()); if(StringUtil.isNotBlank(customer_name)){ spare_part_apply.setProject_id(customer_id); spare_part_apply.setProject_name(customer_name); }else{ spare_part_apply.setProject_id(spare_part.getProject_id()); spare_part_apply.setProject_name(spare_part.getProject_name()); } spare_part_apply.update(); Map paramMap = new HashMap(); //删除关联配置表 if(StringUtil.isNotBlank(flowId)){ paramMap.put("flowId", flowId); String sqlString="delete from CMDB_CI_REF_ORDER WHERE FLOW_ID =:flowId"; baseDao.execute(sqlString, paramMap); /* String node="select id from WORKFLOW_NODE where FLOWID=:flowId and FLOWSTATE='3'"; List node_id = baseDao.queryForList(node, paramMap); if(node_id!=null && node_id.size()>0){ String workflow_node_id = node_id.get(0).get("id").toString(); String current_dealer_name = node_id.get(0).get("CURRENT_DEALER_NAME").toString(); WORKFLOW_NODE workflow_node=new WORKFLOW_NODE(workflow_node_id).getInstanceById(); workflow_node.setCurrent_dealer_name(current_dealer_name); workflow_node.setCurrent_dealer_id(workflow_node_id); workflow_node.setCreatetime(DateUtil.getCurrentDate14()); workflow_node.update(); }*/ //删除申请备件变 paramMap.put("orderId", orderId); String spare_part_apply_cate="delete from SPARE_PART_APPLY_CATE WHERE apply_order_id =:orderId"; baseDao.execute(spare_part_apply_cate, paramMap); } } orderId=spare_part_apply.getId(); String[] spareDeviceId = request.getParameterValues("spareDeviceId"); if(spareDeviceId!=null && spareDeviceId.length>0){ for (String str : spareDeviceId) { SPARE_PART_APPLY_CATE apply_cate = new SPARE_PART_APPLY_CATE(); String cate_id=str; String num=request.getParameter(cate_id+"_cateNum"); if(StringUtil.isNotBlank(num)){ apply_cate.setCate_num(Integer.valueOf(num)); } apply_cate.setApply_order_id(spare_part_apply.getId()); apply_cate.setCate_id(cate_id); apply_cate.insertOrUpdate(); } } //关联配置ids String[] linkDeviceIds = request.getParameterValues("linkDeviceId"); if(linkDeviceIds!=null &&linkDeviceIds.length>0 ){ SPARE_PART_APPLY spare_part=new SPARE_PART_APPLY(orderId).getInstanceById(); String flowid =spare_part.getFlow_id(); if(StringUtil.isNotBlank(flowid)){ //关联配置 workFlowSupportService.saveLinkDevices(flowid,linkDeviceIds); } } SPARE_PART_APPLY spare_part=new SPARE_PART_APPLY(orderId).getInstanceById(); if(StringUtil.isNotBlank(dealId)){ String flowid= spare_part.getFlow_id(); WORKFLOW_BASE base=new WORKFLOW_BASE(flowid).getInstanceById(); NodeDealEntity entity = new NodeDealEntity(); entity.setDealer_type(2); List userList = new ArrayList(); Map dealer = new HashMap(); dealer.put("USER_ID",dealId); dealer.put("USER_NAME",dealName); dealer.put("IS_ADMIN","1"); userList.add(dealer); entity.setDealerList(userList); workflowCoreService.toNode(base, Constants.BJSLSP, entity); spare_part.setState(Constants.SPARE_PART_APPLY_STATE_S); } spare_part.update(); return orderId; } /** * 流程节点查询 * @return */ @Override public List getFlowList(String orderId) { String sql = "SELECT\n" + " WORKFLOW_NODE.id nextNoid,\n" + " WORKFLOW_BASE.id flowid\n" + "FROM\n" + " WORKFLOW_BASE,\n" + " WORKFLOW_NODE\n" + "WHERE\n" + " WORKFLOW_BASE.id = WORKFLOW_NODE.FLOWID\n" + "AND WORKFLOW_BASE.BUSINESS_ID =:orderId\n" + "AND WORKFLOW_NODE.FLOWSTATE = '1'"; Map paramMap = new HashMap(); paramMap.put("orderId", orderId); return baseDao.queryForList(sql,paramMap); } /** * 提交 * @param request * @return */ @Override public void doApproveAssign(HttpServletRequest request) { String type = request.getParameter("type"); String orderId = request.getParameter("orderId"); String bz= request.getParameter("bz"); String flowid = request.getParameter("flowid"); String nexNodeId = request.getParameter("nexNodeId"); String dealId = request.getParameter("dealId"); String dealName = request.getParameter("dealName"); SPARE_PART_APPLY spare_part_apply=new SPARE_PART_APPLY(orderId).getInstanceById(); Map user = WebUtil.getLoginUser(request).getLoginUser(); String userid=user.get("ID").toString(); String usernameString=user.get("ZSXM").toString(); flowid= spare_part_apply.getFlow_id(); WORKFLOW_BASE base=new WORKFLOW_BASE(flowid).getInstanceById(); String sqlString="SELECT\n" + " WORKFLOW_BASE.id flowid,\n" + " WORKFLOW_NODE.CURRENT_DEALER_ID userid,\n" + " WORKFLOW_NODE.CURRENT_DEALER_NAME username,\n" + " WORKFLOW_NODE.ID nodeid\n" + "FROM\n" + " WORKFLOW_BASE,\n" + " WORKFLOW_NODE\n" + "WHERE\n" + " WORKFLOW_BASE.BUSINESS_ID =:business_id\n" + "AND WORKFLOW_BASE.id = WORKFLOW_NODE.FLOWID\n" + "AND WORKFLOW_NODE.FLOWSTATE = 1 and WORKFLOW_NODE.CURRENT_DEALER_ID=:userid"; Map paramMap = new HashMap(); paramMap.put("business_id",orderId); paramMap.put("userid",userid); List queryForList = baseDao.queryForList(sqlString, paramMap); if(queryForList!=null && queryForList.size()>0){ String NodeId=queryForList.get(0).get("nodeid").toString(); String FlowId=queryForList.get(0).get("flowid").toString(); String UserName=queryForList.get(0).get("username").toString(); String Userid=queryForList.get(0).get("userid").toString(); NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(0); finishEntity.setDeal_note_title(UserName+"完成了节点"); finishEntity.setDeal_note(bz); WORKFLOW_NODE node = new WORKFLOW_NODE(NodeId).getInstanceById(); node.setAnswer_time(DateUtil.getCurrentDate14()); node.setDealtime(DateUtil.getCurrentDate14()); node.setDeal_note(bz); node.update(); WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(NodeId).getInstanceById(); workflowCoreService.finishNode(base, workflow_node, finishEntity); } NodeDealEntity entity = new NodeDealEntity(); entity.setDealer_type(2); List userList = new ArrayList(); Map dealer = new HashMap(); dealer.put("USER_ID",dealId); dealer.put("USER_NAME",dealName); dealer.put("IS_ADMIN","1"); userList.add(dealer); entity.setDealerList(userList); workflowCoreService.toNode(base, Constants.BJSLSP, entity); String sqlString2="select * from WORKFLOW_NODE where NODE_TEMPLATE_ID=:node_template_id order by CREATETIME desc"; paramMap.put("node_template_id", Constants.BJSLSQ); List list_note = baseDao.queryForList(sqlString2, paramMap); if(list_note!=null & list_note.size()>0){ String Node_Id=ConvertUtil.obj2StrBlank(list_note.get(0).get("id")); WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(Node_Id).getInstanceById(); workflow_node.setDeal_note(bz); workflow_node.update(); } if(orderId!=null){ spare_part_apply.setId(orderId); spare_part_apply.setState(Constants.SPARE_PART_STORAGE_STATE_D); spare_part_apply.update(); } } /** * 删除备件工单信息 * @param pageInfo * @param params * @return */ @Override public void delSpareSpart(String id) { SPARE_PART_APPLY spare_part_apply=new SPARE_PART_APPLY(id).getInstanceById(); String flowId=spare_part_apply.getFlow_id(); String spare_part=" delete from spare_part_apply where id=:id "; String apply_cate=" delete from SPARE_PART_APPLY_CATE where APPLY_ORDER_ID=:id "; String workflow_node=" delete from WORKFLOW_NODE where FLOWID=:flowId "; String workflow_base=" delete from WORKFLOW_BASE where BUSINESS_ID=:id "; String cmdb_ci_ref_order=" delete from CMDB_CI_REF_ORDER where FLOW_ID=:flowId"; Map paramMap = new HashMap(); paramMap.put("id",id); paramMap.put("flowId",flowId); baseDao.execute(spare_part, paramMap); baseDao.execute(apply_cate, paramMap); baseDao.execute(workflow_node, paramMap); baseDao.execute(workflow_base, paramMap); baseDao.execute(cmdb_ci_ref_order, paramMap); } /** * 关联配置保存 * @param xyzzjg * @param request * @param response * @return */ @Override public String doEditCiId(HttpServletRequest request) { String orderId = request.getParameter("orderId"); if(StringUtil.isNotBlank(orderId)){ String sqlString="select * from SPARE_PART_APPLY_ENTITY where ORDER_ID=:orderId"; Map paramMap = new HashMap(); paramMap.put("orderId",orderId); List list= baseDao.queryForList(sqlString,paramMap); if(list!=null && list.size()>0){ for(Map map:list){ String id=ConvertUtil.obj2StrBlank(map.get("id")); String entity_id=ConvertUtil.obj2StrBlank(map.get("entity_id")); if(StringUtil.isNotBlank(entity_id)){ String ci_id=request.getParameter(id+"_ciid"); if(StringUtil.isNotBlank(ci_id)){ String entity="update SPARE_PART_APPLY_ENTITY set CI_ID=:ci_id ,STATE='2',GMT_USAGE=:gmt_usage where id=:id"; paramMap.put("ci_id", ci_id); paramMap.put("id", id); paramMap.put("gmt_usage", DateUtil.getCurrentDate14()); baseDao.execute(entity, paramMap); } } } } SPARE_PART_APPLY spare_part_apply=new SPARE_PART_APPLY(orderId).getInstanceById(); spare_part_apply.setState(Constants.SPARE_PART_APPLY_STATE_T); spare_part_apply.update(); } return ""; } /** * 校验提交前信息 * @param request * @return */ @Override public String initDelivery(HttpServletRequest request) { String orderId = request.getParameter("orderId"); if(StringUtil.isNotBlank(orderId)){ String sqlString="select * from SPARE_PART_APPLY_ENTITY where ORDER_ID=:orderId and ci_id is null"; Map paramMap = new HashMap(); paramMap.put("orderId",orderId); List list= baseDao.queryForList(sqlString,paramMap); if(list!=null && list.size()>0){ for(Map map:list){ String id=ConvertUtil.obj2StrBlank(map.get("id")); String ci_id=request.getParameter(id+"_ciid"); if(StringUtil.isBlank(ci_id)){ return "0"; } } } } return "1"; } /** * 校验列表提交前信息 * @param request * @return */ @Override public String initCateNum(HttpServletRequest request) { String orderId = request.getParameter("orderId"); if(StringUtil.isNotBlank(orderId)){ String sqlString="select count(*) from SPARE_PART_APPLY_CATE where APPLY_ORDER_ID=:orderId and CATE_NUM is null"; Map paramMap = new HashMap(); paramMap.put("orderId",orderId); Integer num= baseDao.queryForInteger(sqlString,paramMap); if(num > 0){ return "0"; } } return "1"; } }