From 425675051e544cf29b2132615cfbf7a93dc5e51f Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期三, 22 六月 2022 15:50:59 +0800 Subject: [PATCH] fix(dm): MySQL=》DMSQL --- src/cn/ksource/web/facade/health/HealthFacadeImpl.java | 24 src/cn/ksource/web/facade/incident/IncidentFacadeImpl.java | 89 src/cn/ksource/web/facade/fileManage/DocFacadeImpl.java | 63 src/cn/ksource/web/facade/knowledge/KmLibraryFacadeImpl.java | 248 +- src/cn/ksource/web/facade/releaseManage/ReleaseFacadeImpl.java | 137 src/cn/ksource/web/facade/ciremind/CiRemindFacadeImpl.java | 452 ++-- src/cn/ksource/web/facade/dsl/DSLFacadeImpl.java | 543 +++--- src/cn/ksource/web/facade/servicelist/SlaProjectFacadeImpl.java | 20 src/cn/ksource/web/facade/zc/ZcywFacadeImpl.java | 686 ++++---- src/cn/ksource/web/controller/business/pages/question/QuestionController.java | 523 +++--- src/cn/ksource/web/facade/workReport/WorkReportFacadeImpl.java | 587 +++--- src/cn/ksource/web/facade/change/ChangeFacadeImpl.java | 198 +- src/cn/ksource/web/service/knowledge/KmServiceImpl.java | 171 - src/cn/ksource/web/controller/business/pages/incident/IncidentController.java | 57 src/cn/ksource/web/facade/question/QuestionFacadeImpl.java | 1081 ++++++------ core/cn/ksource/core/util/ConvertUtil.java | 57 16 files changed, 2,441 insertions(+), 2,495 deletions(-) diff --git a/core/cn/ksource/core/util/ConvertUtil.java b/core/cn/ksource/core/util/ConvertUtil.java index 64328ee..9702a01 100644 --- a/core/cn/ksource/core/util/ConvertUtil.java +++ b/core/cn/ksource/core/util/ConvertUtil.java @@ -1,5 +1,8 @@ package cn.ksource.core.util; +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang.StringUtils; + import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -7,29 +10,26 @@ import java.net.URLEncoder; import java.util.*; -import org.apache.commons.lang.StringEscapeUtils; -import org.apache.commons.lang.StringUtils; - public class ConvertUtil { - + public static Boolean obj2Boolean(Object obj){ return obj == null ? false : Boolean.getBoolean(obj.toString()); } - + public static Double obj2Double(Object obj){ if (obj == null) { return null; } return StringUtil.isBlank(obj2Str(obj)) ? null : Double.valueOf(obj.toString()); } - + public static void main(String[] args) { String str = "0.123"; System.out.println(obj2Double(str)); } - - + + /** * List杞琈ap * @param dataList @@ -48,7 +48,7 @@ } return resultMap; } - + /** * List杞琈ap * @param dataList @@ -66,8 +66,8 @@ } return resultMap; } - - + + /** * 濡傛灉涓虹┖锛屼娇鐢ㄦ彁渚涚殑鍊兼浛鎹� * @param obj @@ -78,7 +78,7 @@ public static Object defaultIfEmpty(Object obj,Object o){ return obj == null || StringUtils.isBlank(obj.toString()) || StringUtils.equalsIgnoreCase(obj.toString(), "null") ? o : obj; } - + /**灏嘒BK杞寲涓篏BK * @param str * @return @@ -95,11 +95,11 @@ } return str; } - + public static String html2Text(String html){ return html.replaceAll("<[^>]+>", "").replaceAll(" ",""); } - + /** * 鍔熻兘鎻忚堪锛歄bject绫昏浆鎹负String锛岄伩鍏嶅湪Object涓簄ull鏃讹紝鐩存帴toString()鍑洪敊<BR> * @param obj @@ -114,28 +114,25 @@ return obj == null ? "" : obj.toString(); } public static Integer obj2Integer(Object obj){ - return obj == null || obj.toString().trim().equals("") ? null : Integer.parseInt(obj.toString()); + return obj == null || obj.toString().trim().equals("") ? null : Integer.parseInt(obj.toString()); } - + public static int obj2Int(Object obj){ - if(null==obj) { - System.out.println("1121313"); - } - return obj == null || obj.toString().trim().equals("") ? null : Double.valueOf(obj.toString()).intValue(); + return obj == null || obj.toString().trim().equals("") ? 0 : Double.valueOf(obj.toString()).intValue(); } - + public static Long obj2Long(Object obj){ - return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); + return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); } - + public static Long obj2Long(Object obj,boolean filter){ if (!filter) { - return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); + return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); } else { - return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString().replaceAll("[^0-9]", "")); + return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString().replaceAll("[^0-9]", "")); } } - + /** * 鍔熻兘鎻忚堪锛氳繃婊ょ敤鎴疯緭鍏ョ殑html銆乻ql銆乯avascript鑴氭湰<BR> * @param map @@ -199,7 +196,7 @@ } return resultMap; } - + /** * 灏哹yte杞寲涓篕鎴朚锛屽ぇ浜�1024K鐨勬寜M璁$畻锛岃繑鍥�*K鎴�*M * @param byteSize @@ -210,15 +207,15 @@ BigDecimal b1 = new BigDecimal(byteSize); BigDecimal b2 = new BigDecimal(1024); double k = b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); - + //澶т簬1024锛岃浆鍖栦负M if (k > 1024) { b2 = new BigDecimal(1024*1024); k = b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); - + return k + "M"; } - + return k + "K"; } } diff --git a/src/cn/ksource/web/controller/business/pages/incident/IncidentController.java b/src/cn/ksource/web/controller/business/pages/incident/IncidentController.java index a8dac5a..87f1218 100644 --- a/src/cn/ksource/web/controller/business/pages/incident/IncidentController.java +++ b/src/cn/ksource/web/controller/business/pages/incident/IncidentController.java @@ -1,14 +1,19 @@ package cn.ksource.web.controller.business.pages.incident; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; +import cn.ksource.beans.SC_SERVCE_CATEGORY; +import cn.ksource.beans.SC_WORKFLOW_INCIDENT; +import cn.ksource.beans.WORKFLOW_BASE; +import cn.ksource.core.page.PageInfo; +import cn.ksource.core.util.*; +import cn.ksource.core.web.SysInfo; +import cn.ksource.core.web.SysInfoMsg; +import cn.ksource.core.web.WebUtil; +import cn.ksource.web.Constants; +import cn.ksource.web.facade.customermanage.CustomerManageFacade; +import cn.ksource.web.facade.incident.IncidentFacade; +import cn.ksource.web.facade.order.OrderFacade; +import cn.ksource.web.service.DataDictionaryService; import cn.ksource.web.service.message.MessageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -18,25 +23,13 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; -import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; -import cn.ksource.beans.SC_SERVCE_CATEGORY; -import cn.ksource.beans.SC_WORKFLOW_INCIDENT; -import cn.ksource.beans.WORKFLOW_BASE; -import cn.ksource.core.page.PageInfo; -import cn.ksource.core.util.ConvertUtil; -import cn.ksource.core.util.DateUtil; -import cn.ksource.core.util.JsonUtil; -import cn.ksource.core.util.NumberUtil; -import cn.ksource.core.util.ParamsMapUtil; -import cn.ksource.core.util.StringUtil; -import cn.ksource.core.web.SysInfo; -import cn.ksource.core.web.SysInfoMsg; -import cn.ksource.core.web.WebUtil; -import cn.ksource.web.Constants; -import cn.ksource.web.facade.customermanage.CustomerManageFacade; -import cn.ksource.web.facade.incident.IncidentFacade; -import cn.ksource.web.facade.order.OrderFacade; -import cn.ksource.web.service.DataDictionaryService; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 鏃ュ父杩愮淮--浜嬩欢绠$悊鎺у埗鍣� * @note: @@ -1216,8 +1209,8 @@ baseMsg.put("jjWidth", 150); } - - + + /*List<Map> lzs = incidentFacade.incidentLzRecord(flowId); modelAndView.addObject("lzs", lzs);*/ @@ -1465,7 +1458,9 @@ String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); if(StringUtil.notEmpty(CUSTOMER_ID)){ SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); - report.put("customer_code", customer_INFO.getCustomer_code()); + if (customer_INFO != null){ + report.put("customer_code", customer_INFO.getCustomer_code()); + } } String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); if(StringUtil.notEmpty(FIRST_CATEGORY_ID)){ diff --git a/src/cn/ksource/web/controller/business/pages/question/QuestionController.java b/src/cn/ksource/web/controller/business/pages/question/QuestionController.java index 815ce6a..5a0f4f1 100644 --- a/src/cn/ksource/web/controller/business/pages/question/QuestionController.java +++ b/src/cn/ksource/web/controller/business/pages/question/QuestionController.java @@ -47,31 +47,31 @@ @Controller @RequestMapping("/business/pages/question") public class QuestionController { - + @Autowired private QuestionFacade questionFacade; - + @Autowired private IncidentFacade incidentFacade; - + @Autowired private DataDictionaryService dataDictionaryService; - + @Autowired private FileService fileService; - + @Autowired private OrderService orderService; - + @Autowired private DeviceService deviceService; - + @Autowired private OrderFacade orderFacade; - + @Resource private CustomerManageFacade customerFacade; - + @Autowired private MessageService messageService; @@ -129,40 +129,40 @@ @RequestMapping(value="questionList.html", method=RequestMethod.GET) public ModelAndView questionList(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/question/questionList"); - + //鏌ヨ宸ュ崟鏁伴噺锛岄�氳繃绫诲瀷鍒ゆ柇鏌ヨ閭g绫诲瀷鐨勬暟閲� Map msgCount = questionFacade.queryQuestionCount(request); - + System.out.println(JsonUtil.map2Json(msgCount)); - + view.addObject("c", msgCount); //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); params.put("type","1"); Map map = questionFacade.getOrderNum(params); view.addObject("data", map); - + return view; } - - + + /** * 鏌ヨ闂宸ュ崟鍒楄〃鏁版嵁 */ @@ -175,9 +175,9 @@ modelAndView.addObject("orderList", list); return modelAndView; } - - - + + + /** * 鏌ヨ闂宸ュ崟鎬绘暟閲� */ @@ -188,24 +188,24 @@ int count = questionFacade.queryQuestionOrderCount(params); WebUtil.write(response, String.valueOf(count)); } - - - - + + + + /** * 璺宠浆鍒版垜鐨勯棶棰樺伐鍗曞垪琛� */ @RequestMapping("myQuestion.html") public ModelAndView myIncident(HttpServletRequest request) { ModelAndView view = new ModelAndView("/business/pages/question/myQuestion"); - + Map num = orderFacade.queryOrderCountByCate(request, Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString()); - + view.addObject("num", num); - + //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); @@ -213,11 +213,11 @@ //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); @@ -226,8 +226,8 @@ view.addObject("data", map); return view; } - - + + /** * 鏌ヨ鎴戠殑闂鍒楄〃 */ @@ -241,7 +241,7 @@ modelAndView.addObject("orders", question); return modelAndView; } - + /** * 鏌ヨ鎴戠殑闂鏁伴噺 */ @@ -253,7 +253,7 @@ int count = questionFacade.queryMyQuestionCount(params); WebUtil.write(response, String.valueOf(count)); } - + /** * 鏈嶅姟鍙板垱寤洪棶棰橀〉闈� * @param request @@ -265,8 +265,8 @@ ModelAndView view = new ModelAndView("/business/pages/question/addquestion"); //鏉ユ簮浜庝簨浠跺崌绾� Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); - - + + //鏌ヨ闂鏉ユ簮鏁版嵁瀛楀吀 List<Map> froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); //鍙栧緱闂鏉ユ簮鐨勭涓�鏉℃暟鎹� @@ -275,21 +275,21 @@ view.addObject("fromId", from.get("DATAKEY")); view.addObject("fromName", from.get("DATAVALUE")); } - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); - + view.addObject("froms", froms); view.addObject("questionMsg", questionMsg); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); @@ -299,7 +299,7 @@ view.addObject("gnmark", GnConstants.ADDWT); return view; } - + /** * 鏈嶅姟鍙板垱寤洪棶棰橀〉闈� * @param request @@ -311,8 +311,8 @@ ModelAndView view = new ModelAndView("/business/pages/question/addquestion"); //鏉ユ簮浜庝簨浠跺崌绾� Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); - - + + //鏌ヨ闂鏉ユ簮鏁版嵁瀛楀吀 List<Map> froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); //鍙栧緱闂鏉ユ簮鐨勭涓�鏉℃暟鎹� @@ -321,21 +321,21 @@ view.addObject("fromId", from.get("DATAKEY")); view.addObject("fromName", from.get("DATAVALUE")); } - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); - + view.addObject("froms", froms); view.addObject("questionMsg", questionMsg); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); @@ -345,7 +345,7 @@ view.addObject("gnmark", GnConstants.FWTADDWT); return view; } - + /** * 鏈嶅姟鍙板垱寤洪棶棰橀〉闈� * @param request @@ -357,29 +357,29 @@ ModelAndView view = new ModelAndView("/business/pages/question/addchangequestion"); //鏉ユ簮浜庝簨浠跺崌绾� Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); - - - + + + //鏌ヨ闂鏉ユ簮鏁版嵁瀛楀吀 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - - + + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); - + view.addObject("froms", froms); view.addObject("questionMsg", questionMsg); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); return view; } - + /** * 鍒涘缓闂鎻愪氦 * @param request @@ -406,10 +406,10 @@ "", SysInfo.Error,""); } - + } } - + /** * 閫氳繃浼樺厛绾у拰褰卞搷搴︽煡璇㈠搴旂殑绾у埆 */ @@ -419,10 +419,10 @@ String influence_id = request.getParameter("influence_id"); String customerId = request.getParameter("customer_id"); Map levelMap = questionFacade.queryLevel(priority_id,influence_id,customerId); - + WebUtil.write(response, JsonUtil.map2Json(levelMap)); } - + /** * 鍒嗛厤浜哄憳 */ @@ -436,7 +436,7 @@ modelAndView.addObject("curnodeId", curnodeId); return modelAndView; } - + /** * 鏌ヨ鎵�鏈夌殑鍒嗛厤浜哄憳 */ @@ -447,7 +447,7 @@ modelAndView.addObject("groupList", groupList); return modelAndView; } - + /** * 鏌ヨ鎵�鏈夌殑鍒嗛厤浜哄憳 */ @@ -458,7 +458,7 @@ modelAndView.addObject("groupList", groupList); return modelAndView; } - + /** * 鏌ヨ瑙掕壊 */ @@ -469,7 +469,7 @@ modelAndView.addObject("groupList", groupList); return modelAndView; } - + /** * 鏌ヨ瀹㈡埛鑷畾涔夌粍 */ @@ -480,7 +480,7 @@ modelAndView.addObject("groupList", groupList); return modelAndView; } - + /** * 鏌ヨ瀹㈡埛鑷畾涔夌粍 */ @@ -491,7 +491,7 @@ modelAndView.addObject("groupList", groupList); return modelAndView; } - + /** * 娣诲姞瀹㈡埛鑷畾涔夌粍涓嬬殑浜哄憳 */ @@ -500,21 +500,21 @@ ModelAndView modelAndView = new ModelAndView("/business/pages/question/addzdyGroupUser"); String groupId = request.getParameter("groupId"); if(!StringUtil.isEmpty(groupId)){ - + modelAndView.addObject("group", new CUSTOM_GROUP(groupId).getBeanMapById()); }else{ modelAndView.addObject("group", new HashMap()); } - + Map users = questionFacade.usersbyGroup(request); - + modelAndView.addObject("users", users.get("resList")); modelAndView.addObject("groupuser", users.get("groupuser")); modelAndView.addObject("main", users); - + return modelAndView; } - + /** * 娣诲姞瀹㈡埛鑷畾涔夌粍涓嬬殑浜哄憳 */ @@ -523,12 +523,12 @@ String groupId = request.getParameter("groupId"); String customerId = request.getParameter("customerId"); questionFacade.addGroupUser(request); - + return WebUtil.sysInfoPage(request, "鎿嶄綔鎴愬姛锛�", "window.top.hideDialog('zdyadd');window.top.document.getElementById('dialogIframedealer').contentWindow.loadGroup();", SysInfo.Success,""); } - + /** * 鍒犻櫎瀹㈡埛鑷畾涔夊垎缁� */ @@ -539,7 +539,7 @@ group.setId(id).deleteById(); WebUtil.write(response, "1"); } - + /** * 璺宠浆鍒板伐鍗曞鐞嗛〉闈� * @param request @@ -548,7 +548,7 @@ @RequestMapping("questionDeal.html") public ModelAndView questionDeal(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionDeal"); - + //鏌ヨ闂鍩烘湰淇℃伅 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); @@ -569,20 +569,20 @@ //鏌ヨ闂鏉ユ簮鏁版嵁瀛楀吀 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); - + //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); - + Map node = questionFacade.getFlowMsg(flowId, WebUtil.getLoginedUserId(request)); //node涓虹┖锛屽垯涓哄垎娲惧埌缁� if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(node.get("ID")))){ node = new WORKFLOW_NODE(base.getCurrent_node_id()).getBeanMapById(); } - + String isclose = ""; List<Map> closejd = JsonUtil.json2List(ConvertUtil.obj2Str(questionMap.get("closejd"))); for(Map map:closejd){ @@ -624,7 +624,7 @@ modelAndView.addObject("repeat_mark", questionMap.get("REPEAT_MARK")); return modelAndView; } - + @RequestMapping("anwer.html") public ModelAndView anwer(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/question/anwer"); @@ -647,22 +647,22 @@ }else{ view.addObject("nodeMsg", question); } - + view.addObject("flowId", flowId); view.addObject("nodeId", nodeId); view.addObject("orderId", orderId); - - + + return view; } - - + + @RequestMapping(value="answer.html", method=RequestMethod.POST) public void anwerSubmit(HttpServletRequest request, HttpServletResponse response) { String result = questionFacade.anwerSubmit(request); WebUtil.write(response, result); } - + /** * 鏌ヨ闂鍩烘湰淇℃伅 */ @@ -675,7 +675,7 @@ modelAndView.addObject("baseMsg", baseMsg); return modelAndView; } - + /** * 闂淇敼椤甸潰 * @param request @@ -691,25 +691,25 @@ List<Map> fileList = fileService.getFileList(flowId); questionMap.put("fileList", fileList); view.addObject("question", questionMap); - + //鏌ヨ闂鏉ユ簮鏁版嵁瀛楀吀 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); - + //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); view.addObject("eventPri", eventPri); view.addObject("froms", froms); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); return view; } - + /** * 淇敼闂鎻愪氦 * @param request @@ -719,12 +719,12 @@ @RequestMapping(value="editQuestion.html", method=RequestMethod.POST) public ModelAndView editQuestionSubmit(HttpServletRequest request, HttpServletResponse response,SC_WORKFLOW_QUESTION sc_workflow_question) { questionFacade.updateQuestion(request,sc_workflow_question); - + return WebUtil.sysInfoPage(request, "鎿嶄綔鎴愬姛锛�", "window.top.location.reload(true);", SysInfo.Success,"",null); } - + /** * 璇婃柇鎶ュ憡鍘嗗彶 */ @@ -737,10 +737,10 @@ Map baseMsg = new SC_WORKFLOW_QUESTION(orderId).getBeanMapById(); modelAndView.addObject("curnodeId", curnodeId); modelAndView.addObject("baseMsg", baseMsg); - + return modelAndView; } - + /** * 璇婃柇鎶ュ憡鍘嗗彶鏁版嵁 */ @@ -755,7 +755,7 @@ modelAndView.addObject("orderMsg", new SC_WORKFLOW_QUESTION(orderId).getBeanMapById()); return modelAndView; } - + /** * 璇婃柇鎶ュ憡鍘嗗彶 */ @@ -772,7 +772,7 @@ modelAndView.addObject("orderMsg", new SC_WORKFLOW_QUESTION(orderId).getBeanMapById()); return modelAndView; } - + /** * 璺宠浆鍒板~鍐欑粨灞�鏂规椤甸潰 */ @@ -784,23 +784,23 @@ Map zdMsg = questionFacade.getzdmsgbyId(request); List<Map> fileList = new ArrayList<Map>(); if(!StringUtil.isEmpty(type)){ - + if("1".equals(type)){ fileList=fileService.getFileList(ConvertUtil.obj2StrBlank(zdMsg.get("ZDID"))); - + }else{ fileList=fileService.getFileList(ConvertUtil.obj2StrBlank(zdMsg.get("ID"))); } - + } - + modelAndView.addObject("zdMsg", zdMsg); modelAndView.addObject("type", type); modelAndView.addObject("fileList", fileList); - + return modelAndView; } - + /** * 缁撴灉鏂规鎻愪氦 */ @@ -810,9 +810,9 @@ return WebUtil.sysInfoPage(request, "鎿嶄綔鎴愬姛锛�", "window.top.document.getElementById('zdReportIframe').contentWindow.queryRecord();window.top.hideDialog('2');", SysInfo.Success,"",null); - + } - + /** * 璇婃柇鎶ュ憡鍘嗗彶鏁版嵁 */ @@ -823,7 +823,7 @@ zd.deleteById(); WebUtil.write(response, "1"); } - + /** * 鏌ヨ鏄惁鍙互杩涘叆涓嬩竴涓妭鐐� */ @@ -832,7 +832,7 @@ String issave = questionFacade.issave(request); WebUtil.write(response, issave); } - + /** * 鍒嗛厤浜哄憳 */ @@ -863,7 +863,7 @@ modelAndView.addObject("tempMsg", tempMsg); return modelAndView; } - + /** * 鍒嗘淳浜哄憳 */ @@ -886,12 +886,12 @@ return WebUtil.sysInfoPage(request, "鎿嶄綔澶辫触锛�", "", SysInfo.Error,""); - + } } - + } - + /** * 娴佽浆澶囨敞 */ @@ -900,7 +900,7 @@ ModelAndView modelAndView = new ModelAndView("/business/pages/question/lzbz"); return modelAndView; } - + /** * 娴佽浆澶囨敞 */ @@ -911,7 +911,7 @@ "window.top.hideDialog('2');", SysInfo.Success,"/business/pages/question/myQuestion.html"); } - + /** * 宸ュ崟瀹℃牳涓洖閫� */ @@ -925,7 +925,7 @@ modelAndView.addObject("nodeMap", nodeMap); return modelAndView; } - + /** * 宸ュ崟瀹℃牳涓洖閫� */ @@ -937,17 +937,17 @@ "window.top.hideDialog('2');", SysInfo.Success,"/business/pages/question/myQuestion.html",msg); } - + /** * 璺宠浆鍒板~鍐欑敵璇峰伐鍗曠粨鏉熸柟妗堥〉闈� */ @RequestMapping(value="adminEndQuestion.html",method=RequestMethod.GET) public ModelAndView adminEndQuestion(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/question/adminEndQuestion"); - + return modelAndView; } - + /** * 鐢宠宸ュ崟缁撴潫鏂规鎻愪氦 */ @@ -959,7 +959,7 @@ "window.top.hideDialog('10');", SysInfo.Success,"/business/pages/question/myQuestion.html",msg); } - + /** * 璺宠浆鍒板~鍐欑粨灞�鏂规椤甸潰 */ @@ -977,10 +977,10 @@ modelAndView.addObject("ways", ways); modelAndView.addObject("endMsg", endMsg); modelAndView.addObject("question", question); - + return modelAndView; } - + /** * 缁撴灉鏂规鎻愪氦 */ @@ -988,24 +988,24 @@ public ModelAndView endQuestionsubmit(HttpServletRequest request,HttpServletResponse response) { questionFacade.updateEndQuestion(request); String orderId = request.getParameter("orderId"); - + ModelAndView modelAndView = new ModelAndView("/business/pages/question/rechange"); modelAndView.addObject("orderId", orderId); modelAndView.addObject("bustype", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); return modelAndView; - + } - + /** * 鏌ヨ閲嶅闂宸ュ崟 */ @RequestMapping("linkwtOrder.html") public ModelAndView linkwtOrder(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/question/linkwtOrder"); - + return modelAndView; } - + /** * 鏌ヨ鍏宠仈宸ュ崟 */ @@ -1016,7 +1016,7 @@ modelAndView.addObject("orders", orders); return modelAndView; } - + /** * 闂鍥為��淇℃伅鎻愪氦 * @param request @@ -1032,7 +1032,7 @@ "", SysInfo.Success,"/business/pages/question/myQuestion.html",msg); } - + /** * 宸ュ崟瀹℃牳涓叧闂� */ @@ -1047,30 +1047,30 @@ modelAndView.addObject("question", question); return modelAndView; } - + /** * 宸ュ崟瀹℃牳涓叧闂� */ @RequestMapping(value="closequestion.html", method=RequestMethod.POST) public ModelAndView closequestionsubmit(HttpServletRequest request,HttpServletResponse response) { - + questionFacade.updateResolveType(request); return WebUtil.sysInfoPage(request, "鎿嶄綔鎴愬姛锛�", "window.top.hideDialog('3');", SysInfo.Success,"/business/pages/question/myQuestion.html",null); } - + /** * 璺宠浆鍒拌鍗曟煡鐪嬮〉闈� */ @RequestMapping("questionDetail.html") public ModelAndView incidentDetail(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionDetail"); - + //鏌ヨ闂鍩烘湰淇℃伅 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); - + //閫氳繃宸ュ崟缂栧彿鏌ヨ宸ュ崟鍩烘湰淇℃伅 Map baseMsg = questionFacade.queryQuestionBaseMsg(orderId); String isopen = questionFacade.getIsOpenQuestion(request); @@ -1079,10 +1079,10 @@ modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); modelAndView.addObject("isopen", isopen); - + return modelAndView; } - + /** * 闂澶勭悊鏈嶅姟鎶ュ憡 * @param request @@ -1098,6 +1098,7 @@ String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); if(StringUtil.notEmpty(CUSTOMER_ID)){ SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); + if (customer_INFO !=null) report.put("customer_code", customer_INFO.getCustomer_code()); } String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); @@ -1122,7 +1123,7 @@ view.addObject("fileList", map.get("fileList")); return view; } - + /** * 閫�鍥炰俊鎭� */ @@ -1133,13 +1134,13 @@ String nodeId = request.getParameter("nodeId"); Map question = new SC_WORKFLOW_QUESTION(orderId).getBeanMapById(); WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); - + Map nodeMsgMap = new WORKFLOW_NODE(node.getSource_node_instance_id()).getBeanMapById(); nodeMsgMap.put("NAME", question.get("NAME")); modelAndView.addObject("nodeMsg", nodeMsgMap); return modelAndView; } - + /** * 宸ュ崟鎸傝捣 */ @@ -1151,29 +1152,29 @@ modelAndView.addObject("ways", ways); return modelAndView; } - + /** * 宸ュ崟鎸傝捣 */ @RequestMapping(value="questiongq.html", method=RequestMethod.POST) public ModelAndView questiongqsubmit(HttpServletRequest request,HttpServletResponse response) { - + questionFacade.updateQuestiongq(request); return WebUtil.sysInfoPage(request, "鎿嶄綔鎴愬姛锛�", "window.top.hideDialog('3');", SysInfo.Success,"/business/pages/question/myQuestion.html",null); } - + /** * 鏌ヨ鎸傝捣鍘嗗彶 */ @RequestMapping("gqhistoryList.html") public ModelAndView gqhistoryList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/question/gqhistoryList"); - + return modelAndView; } - + /** * 鏌ヨ鎸傝捣鍘嗗彶鏁版嵁 */ @@ -1184,7 +1185,7 @@ modelAndView.addObject("gqList", gqList); return modelAndView; } - + /** * 宸ュ崟寮�鍚� */ @@ -1193,7 +1194,7 @@ ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionopen"); return modelAndView; } - + /** * 宸ュ崟寮�鍚� */ @@ -1204,7 +1205,7 @@ "window.top.hideDialog('5');", SysInfo.Success,"/business/pages/question/myQuestion.html",null); } - + /** * 璺宠浆鍒版垜鐨勫伐鍗曟睜椤甸潰 */ @@ -1214,14 +1215,14 @@ String type = request.getParameter("type"); //鏌ヨ宸ュ崟鏁伴噺锛岄�氳繃绫诲瀷鍒ゆ柇鏌ヨ閭g绫诲瀷鐨勬暟閲� Map msgCount = questionFacade.querymyQuestionpoolCount(request); - + System.out.println(JsonUtil.map2Json(msgCount)); - + modelAndView.addObject("c", msgCount); //鏌ヨ宸ュ崟绫诲瀷 Map<String, String> state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; List ways = new ArrayList(); - for (Map.Entry<String, String> entry : state.entrySet()) { + for (Map.Entry<String, String> entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); @@ -1235,11 +1236,11 @@ ways.add(map); } modelAndView.addObject("types", ways); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); @@ -1248,7 +1249,7 @@ modelAndView.addObject("data", map); return modelAndView; } - + /** * 鏌ヨ鎴戠殑宸ュ崟姹犳暟鎹� */ @@ -1259,11 +1260,11 @@ Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); PageInfo orderList = questionFacade.myquestionpoolData(pageInfo,params); - + modelAndView.addObject("orders", orderList); return modelAndView; } - + /** * 鏌ヨ鎴戠殑宸ュ崟姹犳暟鎹� */ @@ -1275,8 +1276,8 @@ int count = questionFacade.myquestionpoolCount(params); WebUtil.write(response, String.valueOf(count)); } - - + + /** * 浜嬩欢鏈嶅姟鍙伴椤�(鎴戠殑) * @param model @@ -1297,32 +1298,32 @@ model.addAttribute("data", map); return "/business/pages/question/myQuestionIndex"; } - - + + @RequestMapping(value="myQuestionIndexLoad.html") public String myQuestionIndexLoad(Model model,HttpServletRequest request,HttpServletResponse response){ Map<String, String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getUserId(request)); - + //宸ュ崟姹犻棶棰樻暟閲� - int poolCount = questionFacade.myquestionpoolCount(params); + int poolCount = questionFacade.myquestionpoolCount(params); //寰呭鐞嗛棶棰樻暟閲� params.put("type","1"); - int pendingCount = questionFacade.querymyQuestionOrderNodeCount(params); + int pendingCount = questionFacade.querymyQuestionOrderNodeCount(params); //杩涜涓棶棰樻暟閲� params.put("type","2"); - int inHandCount = questionFacade.querymyQuestionOrderNodeCount(params); + int inHandCount = questionFacade.querymyQuestionOrderNodeCount(params); //宸插鐞� params.put("type","3"); - int processedCount = questionFacade.querymyQuestionOrderNodeCount (params); - + int processedCount = questionFacade.querymyQuestionOrderNodeCount (params); + model.addAttribute("poolCount",poolCount); model.addAttribute("pendingCount",pendingCount); model.addAttribute("inHandCount",inHandCount); model.addAttribute("processedCount",processedCount); return "/business/pages/question/myQuestionIndexLoad"; } - + /** * 鏌ヨ鏈�杩戜竴鏈堥棶棰樻暟閲� * @param request @@ -1344,8 +1345,8 @@ Map<String, String> params = ParamsMapUtil.getParameterMap(request); Map info = questionFacade.getLastMonthQuestionLv(params); WebUtil.write(response, JsonUtil.map2Json(info)); - } - + } + /** * 鏌ヨ鏈�杩戜竴鏈堥棶棰樹紭鍏堢骇鍒嗘瀽 * @param request @@ -1356,8 +1357,8 @@ Map<String, String> params = ParamsMapUtil.getParameterMap(request); Map info = questionFacade.getLastMonthQuestionPri(params); WebUtil.write(response, JsonUtil.map2Json(info)); - } - + } + /** * 鏌ヨ鏈�杩戜竴鏈堥棶棰樺奖鍝嶅害鍒嗘瀽 * @param request @@ -1369,8 +1370,8 @@ Map info = questionFacade.getLastMonthQuestionEffect(params); //System.out.println("json--------------------------"+JsonUtil.map2Json(info)); WebUtil.write(response, JsonUtil.map2Json(info)); - } - + } + /** * 鏌ヨ鏈�杩戜竴鏈堟湇鍔$洰褰曢棶棰樻暟閲� * @param request @@ -1382,8 +1383,8 @@ Map info = questionFacade.getLastMonthQuestionServer(params); WebUtil.write(response, JsonUtil.map2Json(info)); } - - + + /** * 闂寰呭搷搴斿垪琛ㄩ〉闈� * @param request @@ -1399,15 +1400,15 @@ params.put("type", type); //鏌ヨ宸ュ崟鏁伴噺锛岄�氳繃绫诲瀷鍒ゆ柇鏌ヨ閭g绫诲瀷鐨勬暟閲� Map msgCount = questionFacade.querymyQuestionNodeCount(params); - + System.out.println(JsonUtil.map2Json(msgCount)); - + view.addObject("c", msgCount); //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); @@ -1418,17 +1419,17 @@ //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - - - + + + params.put("type","2"); Map map = questionFacade.getOrderNum(params); view.addObject("data", map); return view; } - - - + + + /** * 鏌ヨ闂宸ュ崟鍒楄〃鏁版嵁 */ @@ -1443,9 +1444,9 @@ modelAndView.addObject("type", params.get("type")); return modelAndView; } - - - + + + /** * 鏌ヨ闂宸ュ崟鎬绘暟閲� */ @@ -1457,7 +1458,7 @@ int count = questionFacade.querymyQuestionOrderNodeCount(params); WebUtil.write(response, String.valueOf(count)); } - + /** * 闂寰呭搷搴斿垪琛ㄩ〉闈� * @param request @@ -1469,9 +1470,9 @@ ModelAndView view = new ModelAndView("/business/pages/question/myquestionEndList"); //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); @@ -1479,23 +1480,23 @@ List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); view.addObject("type", type); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); params.put("type","2"); Map map = questionFacade.getOrderNum(params); view.addObject("data", map); - + return view; } - - - + + + /** * 鏌ヨ闂宸ュ崟鍒楄〃鏁版嵁 */ @@ -1510,9 +1511,9 @@ modelAndView.addObject("type", params.get("type")); return modelAndView; } - - - + + + /** * 鏌ヨ闂宸ュ崟鎬绘暟閲� */ @@ -1524,7 +1525,7 @@ int count = questionFacade.querymyQuestionEndCount(params); WebUtil.write(response, String.valueOf(count)); } - + /** * 闂鍌姙 * @return @@ -1533,7 +1534,7 @@ public String questionRemind(HttpServletRequest request,HttpServletResponse response){ return "/business/pages/question/questionRemind"; } - + @RequestMapping(value="questionRemind.html",method=RequestMethod.POST) public ModelAndView doQuestionRemind(HttpServletRequest request,HttpServletResponse response){ String reminder = WebUtil.getLoginUser(request).getLoginUser().get("ZSXM").toString(); @@ -1544,7 +1545,7 @@ "window.top.hideDialog('0');", SysInfo.Success,""); } - + /** * 鎵�鏈夊伐鍗曟睜 */ @@ -1553,14 +1554,14 @@ ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionpool"); //鏌ヨ宸ュ崟鏁伴噺锛岄�氳繃绫诲瀷鍒ゆ柇鏌ヨ閭g绫诲瀷鐨勬暟閲� Map msgCount = questionFacade.queryQuestionpoolCount(request); - + System.out.println(JsonUtil.map2Json(msgCount)); - + modelAndView.addObject("c", msgCount); //鏌ヨ宸ュ崟绫诲瀷 Map<String, String> state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; List ways = new ArrayList(); - for (Map.Entry<String, String> entry : state.entrySet()) { + for (Map.Entry<String, String> entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); @@ -1569,21 +1570,21 @@ ways.add(map); } modelAndView.addObject("types", ways); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("type","1"); Map map = questionFacade.getOrderNum(params); modelAndView.addObject("data", map); - - + + return modelAndView; } - + /** * 鏌ヨ鎴戠殑宸ュ崟姹犳暟鎹� */ @@ -1593,11 +1594,11 @@ //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); PageInfo orderList = questionFacade.questionpoolData(pageInfo,params); - + modelAndView.addObject("orders", orderList); return modelAndView; } - + /** * 鏌ヨ鎴戠殑宸ュ崟姹犳暟鎹� */ @@ -1608,7 +1609,7 @@ int count = questionFacade.questionpoolCount(params); WebUtil.write(response, String.valueOf(count)); } - + /** * 闂寰呭搷搴斿垪琛ㄩ〉闈� * @param request @@ -1620,37 +1621,37 @@ ModelAndView view = new ModelAndView("/business/pages/question/questionNodeList"); //鏌ヨ宸ュ崟鏁伴噺锛岄�氳繃绫诲瀷鍒ゆ柇鏌ヨ閭g绫诲瀷鐨勬暟閲� Map msgCount = questionFacade.queryQuestionNodeCount(request); - + System.out.println(JsonUtil.map2Json(msgCount)); - + view.addObject("c", msgCount); //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //鏌ヨ浜嬩欢褰卞搷搴︽暟鎹瓧鍏� List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); - + //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("type","1"); Map map = questionFacade.getOrderNum(params); view.addObject("data", map); - + return view; } - - - + + + /** * 鏌ヨ闂宸ュ崟寰呭搷搴斿垪琛ㄦ暟鎹� */ @@ -1663,9 +1664,9 @@ modelAndView.addObject("orderList", list); return modelAndView; } - - - + + + /** * 鏌ヨ闂宸ュ崟寰呭搷搴旀�绘暟閲� */ @@ -1676,7 +1677,7 @@ int count = questionFacade.queryQuestionOrderNodeCount(params); WebUtil.write(response, String.valueOf(count)); } - + /** * 闂杩涜涓垪琛ㄩ〉闈� * @param request @@ -1688,15 +1689,15 @@ ModelAndView view = new ModelAndView("/business/pages/question/questionJxzList"); //鏌ヨ宸ュ崟鏁伴噺锛岄�氳繃绫诲瀷鍒ゆ柇鏌ヨ閭g绫诲瀷鐨勬暟閲� Map msgCount = questionFacade.queryQuestionJxzNodeCount(request); - + System.out.println(JsonUtil.map2Json(msgCount)); - + view.addObject("c", msgCount); //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); @@ -1706,7 +1707,7 @@ //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("type","1"); @@ -1714,9 +1715,9 @@ view.addObject("data", map); return view; } - - - + + + /** * 鏌ヨ闂宸ュ崟杩涜涓垪琛ㄦ暟鎹� */ @@ -1729,9 +1730,9 @@ modelAndView.addObject("orderList", list); return modelAndView; } - - - + + + /** * 鏌ヨ闂宸ュ崟杩涜涓�绘暟閲� */ @@ -1742,7 +1743,7 @@ int count = questionFacade.queryQuestionJxzCount(params); WebUtil.write(response, String.valueOf(count)); } - + /** * 闂寰呭搷搴斿垪琛ㄩ〉闈� * @param request @@ -1754,9 +1755,9 @@ ModelAndView view = new ModelAndView("/business/pages/question/questionEndList"); //鏌ヨ闂绫诲瀷鏁版嵁瀛楀吀 List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); - + view.addObject("sources", sources); - + //鏌ヨ璇ュ姞鐩熷晢鐨勪簨浠朵紭鍏堢骇 List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); @@ -1767,7 +1768,7 @@ //瀹㈡埛鍒楄〃 List<Map> cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); - + //瀹氫箟鍙傛暟Map Map<String,String> params = ParamsMapUtil.getParameterMap(request); params.put("type","1"); @@ -1775,9 +1776,9 @@ view.addObject("data", map); return view; } - - - + + + /** * 鏌ヨ闂宸ュ崟鍒楄〃鏁版嵁 */ @@ -1791,9 +1792,9 @@ modelAndView.addObject("type", params.get("type")); return modelAndView; } - - - + + + /** * 鏌ヨ闂宸ュ崟鎬绘暟閲� */ @@ -1804,8 +1805,8 @@ int count = questionFacade.queryQuestionEndCount(params); WebUtil.write(response, String.valueOf(count)); } - - + + /** * 闂棣栭〉 * @param model @@ -1825,23 +1826,23 @@ model.addAttribute("data", map); return "/business/pages/question/questionIndex"; } - - + + @RequestMapping(value="questionIndexLoad.html") public String questionIndexLoad(Model model,HttpServletRequest request,HttpServletResponse response){ Map<String, String> params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getUserId(request)); - + //宸ュ崟姹犻棶棰樻暟閲� - int poolCount = questionFacade.questionpoolCount(params); + int poolCount = questionFacade.questionpoolCount(params); //寰呭鐞嗛棶棰樻暟閲� - int pendingCount = questionFacade.queryQuestionOrderNodeCount(params); + int pendingCount = questionFacade.queryQuestionOrderNodeCount(params); //杩涜涓棶棰樻暟閲� - int inHandCount = questionFacade.queryQuestionJxzCount(params); + int inHandCount = questionFacade.queryQuestionJxzCount(params); //宸叉寕璧� params.put("type", "6"); - int sleepCount = questionFacade.queryQuestionEndCount(params); - + int sleepCount = questionFacade.queryQuestionEndCount(params); + model.addAttribute("poolCount",poolCount); model.addAttribute("pendingCount",pendingCount); model.addAttribute("inHandCount",inHandCount); @@ -1856,7 +1857,7 @@ String user = questionFacade.queryQuestionDealer(request); WebUtil.write(response, user); } - + /** * 鏌ヨ闂宸ュ崟澶勭悊浜� */ @@ -1865,5 +1866,5 @@ String user = questionFacade.queryQuestionGroupDealer(request); WebUtil.write(response, user); } - + } diff --git a/src/cn/ksource/web/facade/change/ChangeFacadeImpl.java b/src/cn/ksource/web/facade/change/ChangeFacadeImpl.java index dd22503..135561b 100644 --- a/src/cn/ksource/web/facade/change/ChangeFacadeImpl.java +++ b/src/cn/ksource/web/facade/change/ChangeFacadeImpl.java @@ -4,20 +4,14 @@ import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; -import cn.ksource.core.util.ConvertUtil; -import cn.ksource.core.util.DateUtil; -import cn.ksource.core.util.JsonUtil; -import cn.ksource.core.util.NumberUtil; -import cn.ksource.core.util.StringUtil; +import cn.ksource.core.util.*; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; import cn.ksource.core.workflow.*; import cn.ksource.web.Constants; -import cn.ksource.web.controller.wechat.util.WechatConstants; import cn.ksource.web.entity.WorkFlowSupportEntity; import cn.ksource.web.facade.dsl.DSLFacade; import cn.ksource.web.facade.incident.IncidentFacade; -import cn.ksource.web.facade.message.MessageFacade; import cn.ksource.web.service.WorkOrderCodeService; import cn.ksource.web.service.device.DeviceService; import cn.ksource.web.service.file.FileService; @@ -283,24 +277,24 @@ if (flowstate.equals("1")) { builder.append(" SELECT DISTINCT D.* FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); + builder.append(" SELECT B.BUSINESS_ID, B.BUSINESSTYPE, B.CREATERID, B.CREATERNAME, B.CREATETIME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_NODE_ID, B.CURRENT_NODE_NAME, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.DEAL_TYPE, B.ENDTIME, B.ID, B.MAINFLOWID, B.ORDER_CODE, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_ID, B.SUB_CUSTOMER_NAME, B.WF_TEMPLATE_ID, B.WFNAME, B.WFSTATE, B.WORKFLOWTYPE,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); builder.append(")D"); paramMap.put("jddcl", Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE); } else if (flowstate.equals("2")) { builder.append(" SELECT DISTINCT D.* FROM ( "); - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); builder.append(")D"); paramMap.put("jdjxz", Constants.WORKFLOW_NODE_FLOWSTATE_DOING); } else { builder.append(" SELECT DISTINCT D.* FROM ( "); - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); builder.append(")D"); paramMap.put("jdywc", Constants.WORKFLOW_NODE_FLOWSTATE_FINISH); } } else { builder.append(" SELECT DISTINCT D.* FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); builder.append(")D"); } builder.append(" WHERE 1=1 "); @@ -894,7 +888,7 @@ @Override public List<Map> getCcbResult(String flowId) { - String sqla = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM "; + String sqla = "SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM "; List<Map> fzList = baseDao.queryForList(sqla, new SqlParameter("flow_id", flowId)); for (Map mapa : fzList) { String sqlb = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE SAMEKEY=:sameKey ORDER BY IS_END ,IS_MAIN"; @@ -920,7 +914,7 @@ public List<Map> getCcbTjResult(String flowId) { Map param = new HashMap(); param.put("flow_id", flowId); - String sqla="SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM"; + String sqla="SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM"; List<Map> ccbList = baseDao.queryForList(sqla,param); for(Map mapa:ccbList){ param.put("sameKey", mapa.get("SAMEKEY")); @@ -1772,7 +1766,7 @@ recordService.addRecord(record); return resultMap; } - + @Override public int getDslLinkCiCount(HttpServletRequest request) { String dslId = request.getParameter("id"); @@ -1788,7 +1782,7 @@ }else{ sql = "SELECT COUNT(A.ID) FROM CMDB_DSL_LINK A WHERE A.DSL_ID = :dslId AND A.FLOW_ID = :flowId AND A.STATE <> 3 "; } - + Map param = new HashMap(); param.put("dslId", dslId); param.put("flowId", flowId); @@ -1811,20 +1805,20 @@ }else{ sql = "SELECT A.*,B.CINAME,B.SEARCHCODE SEACHCODE,B.STATE USINGSTATE,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE B.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE B.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE B.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_DSL_LINK A,CMDB_CI_BASE B WHERE A.CI_ID = B.ID AND A.DSL_ID = :dslId AND A.FLOW_ID = :flowId "; } - + Map param = new HashMap(); param.put("dslId", dslId); param.put("flowId", flowId); PageInfo info = baseDao.queryforSplitPageInfo(request, sql, param); return info; } - + @Override public int queryDslVersionCount(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A WHERE A.DSL_ID = :dslId "); - + String dslId = request.getParameter("dslId"); - + Map paramMap = new HashMap(); paramMap.put("dslId", dslId); int count = baseDao.queryForInteger(builder.toString(), paramMap); @@ -1834,14 +1828,14 @@ @Override public PageInfo queryDslVersionData(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID WHERE A.DSL_ID = :dslId ORDER BY A.CREATE_TIME DESC "); - + String dslId = request.getParameter("dslId"); - + Map paramMap = new HashMap(); paramMap.put("dslId", dslId); PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - - return pageInfo; + + return pageInfo; } @Override @@ -1857,17 +1851,17 @@ builder.append(" AND SECOND_CONFIG_CATE = :folderId "); paramMap.put("folderId", id); } - - + + int count = baseDao.queryForInteger(builder.toString(), paramMap); - + return count; } @Override public PageInfo queryDslConfigRecordData(HttpServletRequest request, String versionId) { - + String flowId = request.getParameter("flowId"); String id = request.getParameter("id"); StringBuilder builder = new StringBuilder("SELECT B.*,A.FILE_NAME,A.FILE_SIZE,A.USER_NAME,A.CREATE_TIME FROM DSL_CONFIG_FILE A,DSL_CONFIG_FILE_CHANGE_DETAIL B WHERE B.FILE_ID = A.ID AND B.DSL_VERSION_ID = :versionId AND B.FLOW_ID = :flowId "); @@ -1878,11 +1872,11 @@ builder.append(" AND SECOND_CONFIG_CATE = :folderId "); paramMap.put("folderId", id); } - + builder.append(" ORDER BY A.CREATE_TIME DESC "); - + PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - + List<Map> files = pageInfo.getDatas(); if(null!=files && files.size()>0) { for(Map file : files) { @@ -1891,13 +1885,13 @@ } return pageInfo; } - + @Override public List<Map> getDslciData(HttpServletRequest request) { String flowId = request.getParameter("flowId"); String dslId = request.getParameter("dslId"); String projectId = request.getParameter("proId"); - + /*if(!StringUtil.notEmpty(projectId)) { WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); projectId = base.getProject_id(); @@ -1906,12 +1900,12 @@ param.put("project_id", projectId); param.put("flow_id", flowId); param.put("dsl_id", dslId); - + StringBuffer sql1 = new StringBuffer("select * from (SELECT 1 AS UPDTYPE, A.*,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE A.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE A.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE A.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_CI_BASE A WHERE A.STATE = 1 AND A.ID NOT IN (SELECT B.CI_ID FROM CMDB_DSL_LINK B WHERE B.DSL_ID = :dsl_id )");//A.LEIX = 1 AND - + StringBuffer sql2 = new StringBuffer("SELECT 2 AS UPDTYPE,A.*,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE A.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE A.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE A.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_CI_BASE A WHERE A.STATE = 1 AND A.ID IN (SELECT B.CI_ID FROM CMDB_DSL_LINK B WHERE B.FLOW_ID IS NULL AND B.DSL_ID = :dsl_id )"); sql1.append(" UNION ALL "); - + sql1.append(sql2); sql1.append(" ) s where 1 = 1"); String searchCode = request.getParameter("searchCode"); @@ -1919,13 +1913,13 @@ sql1.append(" AND SEARCHCODE LIKE :searchCode "); param.put("searchCode", "%"+searchCode+"%"); } - + String ciName = request.getParameter("cmdbName"); if(StringUtil.notEmpty(ciName)) { sql1.append(" AND CINAME LIKE :cmdbName "); param.put("cmdbName", "%"+ciName+"%"); } - + String cate = request.getParameter("categoryId"); if(StringUtil.notEmpty(cate)) { sql1.append(" AND LV3_ID = :cate "); @@ -1961,15 +1955,15 @@ long create_time = DateUtil.getCurrentDate14(); List<SqlParameter> listParams = new ArrayList<SqlParameter>(); List<SqlParameter> updParams = new ArrayList<SqlParameter>(); - + String[] linkIds = ids.split(","); - + String userId = ""; Map user = WebUtil.getLoginUser(request).getLoginUser(); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + List<SqlParameter> listParamsRecord = new ArrayList<SqlParameter>(); - + for(String linkId : linkIds) { SqlParameter sqlParameter = new SqlParameter(); String citype[] = linkId.split("-"); @@ -1988,28 +1982,28 @@ }else{ updParams.add(sqlParameter); } - + } - + baseDao.executeBatch(insertSql,listParams); baseDao.executeBatch(updSql,updParams); - + return "1"; } - + @Override public List changeFileReport(HttpServletRequest request) { String partnerId = ""; String flowId = request.getParameter("flowId"); Map paramMap = new HashMap(); paramMap.put("flowId", flowId); - + String selectSql = "SELECT A.*,B.FILE_NAME,B.FILE_SIZE,B.USER_NAME AS UPLOAD_USER FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_CONFIG_FILE B WHERE A.FILE_ID = B.ID AND A.FLOW_ID = :flowId "; List<Map> records = baseDao.queryForList(selectSql,paramMap); - + Map cacheRecord = new HashMap(); if(null!=records && records.size()>0) { - + for(Map record : records) { String versionId = ConvertUtil.obj2StrBlank(record.get("DSL_VERSION_ID")); String first_config_cate = ConvertUtil.obj2StrBlank(record.get("first_config_cate")); @@ -2026,11 +2020,11 @@ } } } - - - - - + + + + + StringBuilder selectCateSql = new StringBuilder("SELECT B.ID AS VERSION_ID,A.FIRST_CONFIG_CATE,(SELECT A1.NAME FROM DSL_CONFIG A1 WHERE A.FIRST_CONFIG_CATE = A1.ID) AS FIRST_NAME,A.SECOND_CONFIG_CATE,(SELECT A2.NAME FROM DSL_CONFIG A2 WHERE A.SECOND_CONFIG_CATE = A2.ID) AS SECOND_NAME FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_VERSION B,PROJECT_DSL C WHERE A.DSL_VERSION_ID = B.ID AND B.DSL_ID = C.ID AND A.FLOW_ID = :flowId GROUP BY B.ID,A.FIRST_CONFIG_CATE,A.SECOND_CONFIG_CATE"); List<Map> cates = baseDao.queryForList(selectCateSql.toString(),paramMap); if(cates.size()==0){ @@ -2041,72 +2035,72 @@ selectCateSql = new StringBuilder("SELECT C.* FROM PROJECT_DSL C WHERE C.FLOW_ID = :flowId "); cates = baseDao.queryForList(selectCateSql.toString(),paramMap); } - + Map cacheFirst = new HashMap(); - + Map version = new HashMap(); - - + + if(null!=cates && cates.size()>0) { for(Map cate : cates) { String versionId = ConvertUtil.obj2StrBlank(cate.get("VERSION_ID")); String first_config_cate = ConvertUtil.obj2StrBlank(cate.get("FIRST_CONFIG_CATE")); - + String unitKey = versionId+"-"+first_config_cate; - + String first_name = ConvertUtil.obj2StrBlank(cate.get("FIRST_NAME")); String second_config_cate = ConvertUtil.obj2StrBlank(cate.get("SECOND_CONFIG_CATE")); String second_name = ConvertUtil.obj2StrBlank(cate.get("SECOND_NAME")); - + List result = new ArrayList(); if(version.containsKey(versionId)) { result = (List)version.get(versionId); } else { version.put(versionId, result); } - - + + if(cacheFirst.containsKey(unitKey)) { List secondCates = (List)cacheFirst.get(unitKey); Map secondMap = new HashMap(); secondMap.put("second_config_cate", second_config_cate); secondMap.put("second_name", second_name); - + String key = unitKey+"-"+second_config_cate; secondMap.put("files", cacheRecord.get(key)); - - + + secondCates.add(secondMap); } else { Map firstMap = new HashMap(); firstMap.put("key", unitKey); firstMap.put("first_name", first_name); - + List secondCates = new ArrayList(); Map secondMap = new HashMap(); secondMap.put("second_config_cate", second_config_cate); secondMap.put("second_name", second_name); - + String key = unitKey+"-"+second_config_cate; secondMap.put("files", cacheRecord.get(key)); - - + + secondCates.add(secondMap); - + firstMap.put("seconds", secondCates); - + cacheFirst.put(unitKey,secondCates); result.add(firstMap); } } } - - - - + + + + String selectVersionSql = new String("SELECT C.DSL_SEARCHCODE,C.ID AS DSL_ID,C.DSL_NAME,B.ID AS VERSION_ID,B.EDITION,(SELECT B1.EDITION FROM DSL_VERSION B1 WHERE B.LAST_VERSION = B1.ID) AS LAST_VERSION FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_VERSION B,PROJECT_DSL C WHERE A.DSL_VERSION_ID = B.ID AND B.DSL_ID = C.ID AND A.FLOW_ID = :flowId GROUP BY C.ID,B.ID"); List<Map> versions = baseDao.queryForList(selectVersionSql,paramMap); - + if(versions.size()==0){ selectVersionSql = new String("SELECT C.DSL_SEARCHCODE,C.ID AS DSL_ID,C.DSL_NAME,B.ID AS VERSION_ID,B.EDITION,(SELECT B1.EDITION FROM DSL_VERSION B1 WHERE B.LAST_VERSION = B1.ID) AS LAST_VERSION FROM DSL_VERSION B,PROJECT_DSL C WHERE B.DSL_ID = C.ID AND B.CREATE_FLOW_ID = :flowId GROUP BY B.ID"); versions = baseDao.queryForList(selectVersionSql.toString(),paramMap); @@ -2115,11 +2109,11 @@ selectVersionSql = new String("SELECT C.*,C.ID AS DSL_ID FROM PROJECT_DSL C WHERE C.FLOW_ID = :flowId "); versions = baseDao.queryForList(selectVersionSql.toString(),paramMap); } - + List<Map> resultList = new ArrayList<Map>(); Map cacheDsl = new HashMap(); - + if(null!=versions && versions.size()>0) { for(Map ver : versions) { String dsl_searchcode = ConvertUtil.obj2StrBlank(ver.get("DSL_SEARCHCODE")); @@ -2132,7 +2126,7 @@ Map v = new HashMap(); v.put("version_id", version_id); v.put("edition", edition); - + List<Map> cs = (List<Map>)version.get(version_id); System.out.println("vs------->"+JsonUtil.list2Json(cs)); int totalNum = 0; @@ -2156,7 +2150,7 @@ num = num+1; ej.put("sjNum", 1); } - + } } else { num = num+1; @@ -2164,7 +2158,7 @@ totalNum += num; yj.put("num", num); } - + v.put("cates", cs); if(cacheDsl.containsKey(dslId)) { List vs = (List)cacheDsl.get(dslId); @@ -2183,13 +2177,13 @@ } } } - - - - - - - + + + + + + + System.out.println(JsonUtil.list2Json(resultList)); return resultList; } @@ -2198,7 +2192,7 @@ public void updatefinishnode(HttpServletRequest request) { String userId = WebUtil.getLoginedUserId(request); String userName = ConvertUtil.obj2StrBlank(WebUtil.getLoginUser(request).getLoginUser().get("ZSXM")); - + String flowId = request.getParameter("flowId"); String curnodeId = request.getParameter("curnodeId"); String nodeId = request.getParameter("nodeId"); @@ -2238,7 +2232,7 @@ .setIs_end(2).setIs_main(2).setCreate_id(userId).setCreate_name(userName). setSamekey(sameKey).setNum(num).insert(); } - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title(userName+"瀹屾垚浜嗚妭鐐�"); @@ -2246,7 +2240,7 @@ WORKFLOW_BASE base = new WORKFLOW_BASE(node.getFlowid()).getInstanceById(); //鍏抽棴褰撳墠鑺傜偣 workflowCoreService.finishNode(base, node, finishEntity); - + } @Override public void updateResolveType(HttpServletRequest request) { @@ -2258,7 +2252,7 @@ //淇敼鍙樻洿淇℃伅鐨勮В鍐虫柟寮� SC_WORKFLOW_CHANGE question = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); question.setId(orderId).setResolve_type_id(solveWay).setResolve_type_name(solveWayName).setState(ConvertUtil.obj2Integer(Constants.SC_WORKFLOW_CHANGE_STATE_YGB)).update(); - + //娣诲姞澶勭悊璁板綍 Map user = WebUtil.getLoginUser(request).getLoginUser(); String createUserId = ConvertUtil.obj2StrBlank(user.get("ID")); @@ -2276,11 +2270,11 @@ record.setDeal_user_name(createUserName); record.setBusiness_id(flowId); record.setNode_id(curnodeid).setNode_name(nodeName); - + recordService.addRecord(record); fileService.uploadFile(request, id, flowId, null, null); //fileService.newuploadFileAll(request,id,flowId,Constants.GG_FOLDERS_BGFOLDERS,Constants.FILE_STATE_SHTG,"",question.getCustomer_id(),question.getProject_id(),question.getProject_name(),question.getCustomer_name()); - + //閰嶇疆鍏崇郴淇濆瓨鍒拌褰曡〃-鍏抽棴宸ュ崟 saveRelationWhenClose(flowId); //鍒犻櫎鍙樻洿涓殑閰嶇疆鍏崇郴-鍏抽棴宸ュ崟 @@ -2289,12 +2283,12 @@ dslFacade.saveConfigDslDealRecord(flowId); //鎭㈠鍏宠仈DSL-鍏抽棴宸ュ崟 dslFacade.updateConfigDslWhenClose(flowId); - + //鎭㈠DSL璧勬枡 delDslMsg(flowId); - + WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title(createUserName+"缁撴潫鑺傜偣"); @@ -2309,7 +2303,7 @@ } //鍏抽棴宸ュ崟 workflowCoreService.closeWorkFlow(base); - + } @Override public void delDslMsg(String flowId) { @@ -2317,16 +2311,16 @@ param.addValue("flowId", flowId); //鍒犻櫎鏂板DSL鐗堟湰鐨勯厤缃枃浠惰褰� String sqlfilerecord = "DELETE FROM DSL_CONFIG_FILE_CHANGE_DETAIL WHERE FLOW_ID = :flowId "; - + //鍒犻櫎鏂板DSL鐗堟湰鐨勯厤缃枃浠� String sql = "DELETE FROM DSL_CONFIG_FILE WHERE VERSION_ID IN ( SELECT ID FROM DSL_VERSION WHERE CREATE_FLOW_ID = :flowId AND STATE = 3 ) "; - + //鍒犻櫎鏂板鐗堟湰 String sqlversion = "DELETE FROM DSL_VERSION WHERE CREATE_FLOW_ID = :flowId AND STATE = 3 "; - + //鍒犻櫎鏂板DSL String sqldsl = "DELETE FROM PROJECT_DSL WHERE FLOW_ID = :flowId AND STATE = 3 "; - + baseDao.execute(sqlfilerecord, param); baseDao.execute(sql, param); baseDao.execute(sqlversion, param); diff --git a/src/cn/ksource/web/facade/ciremind/CiRemindFacadeImpl.java b/src/cn/ksource/web/facade/ciremind/CiRemindFacadeImpl.java index 39593a2..eb03d4a 100644 --- a/src/cn/ksource/web/facade/ciremind/CiRemindFacadeImpl.java +++ b/src/cn/ksource/web/facade/ciremind/CiRemindFacadeImpl.java @@ -1,21 +1,6 @@ package cn.ksource.web.facade.ciremind; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import cn.ksource.beans.GG_RECORD; -import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; -import cn.ksource.beans.SC_WORKFLOW_CI_REMIND; -import cn.ksource.beans.WORKFLOW_BASE; -import cn.ksource.beans.WORKFLOW_NODE; +import cn.ksource.beans.*; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; @@ -24,7 +9,6 @@ import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.SysInfoMsg; -import cn.ksource.core.web.WebUtil; import cn.ksource.core.workflow.NodeAnswerEntity; import cn.ksource.core.workflow.NodeFinishEntity; import cn.ksource.core.workflow.WorkflowCoreService; @@ -34,6 +18,10 @@ import cn.ksource.web.service.record.RecordService; import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; import cn.ksource.web.util.DateParepareUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; @Service("ciRemindFacade") public class CiRemindFacadeImpl implements CiRemindFacade { @@ -42,12 +30,12 @@ @Autowired private WorkflowCoreService workflowCoreService; @Autowired - private WorkFlowSupportService workFlowSupportService; + private WorkFlowSupportService workFlowSupportService; @Autowired private OrderService orderService; @Autowired private RecordService recordService; - + @Override public PageInfo queryMyRemindData(PageInfo pageInfo,Map<String, String> param) { String userId=param.get("userId"); @@ -56,8 +44,8 @@ String customerId = param.get("customerId"); String subCustomerId = param.get("subCustomerId"); String orderCode = param.get("orderCode"); - - + + param.put("userId", userId); param.put("nodeState", nodeState); param.put("flowState", flowState); @@ -65,12 +53,12 @@ param.put("subCustomerId", subCustomerId); param.put("businessType", String.valueOf(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND)); param.put("orderCode", "%"+orderCode+"%"); - + StringBuilder builder = getMyRemindSql(param); return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), param); - + } - + @Override public int queryMyRemindCount(Map<String, String> param) { String userId=param.get("userId"); @@ -79,8 +67,8 @@ String customerId = param.get("customerId"); String subCustomerId = param.get("subCustomerId"); String orderCode = param.get("orderCode"); - - + + param.put("userId", userId); param.put("nodeState", nodeState); param.put("flowState", flowState); @@ -88,13 +76,13 @@ param.put("orderCode", "%"+orderCode+"%"); param.put("customerId", customerId); param.put("subCustomerId", subCustomerId); - - + + StringBuilder builder = getMyRemindSql(param); String sql = "select count(*) from ( " + builder.toString() + " ) t"; return baseDao.queryForInteger(sql,param); } - + /** * 鑾峰彇鎴戠殑宸ュ崟 * @param request @@ -106,8 +94,8 @@ String nodeState = param.get("nodeState"); String customerId = param.get("customerId"); String subCustomerId = param.get("subCustomerId"); - - + + StringBuilder builder = new StringBuilder(); builder.append(" select n.*,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); builder.append(" t.PLAN_EXECUTION_DATE, r.ORDER_CODE,r.ID ORDERID,r.SERVICE_CONTENT,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); @@ -121,12 +109,12 @@ builder.append(" where CURRENT_DEALER_ID = :userId "); //鐜妭鐘舵�� if(StringUtil.isNotBlank(nodeState)){ - builder.append("and FLOWSTATE =:nodeState "); - + builder.append("and FLOWSTATE =:nodeState "); + } builder.append(" order by FLOWSTATE asc "); builder.append(" ) t "); - builder.append(" group by FLOWID "); + builder.append(" group by FLOWID,NODEID,NODETIME,NODESTATE "); builder.append(" ) n "); builder.append(" on b.ID = n.FLOWID "); //宸ュ崟绫诲瀷 @@ -134,9 +122,9 @@ //宸ュ崟鐘舵�� if(StringUtil.notEmpty(flowState)) { builder.append(" AND b.WFSTATE =:flowState "); - + } - + //瀹㈡埛 if(StringUtil.isNotBlank(customerId)) { builder.append(" AND b.CUSTOMER_ID = :customerId "); @@ -145,12 +133,12 @@ if(StringUtil.isNotBlank(subCustomerId)) { builder.append(" AND b.SUB_CUSTOMER_ID = :subCustomerId "); } - + //宸ュ崟缂栧彿 String orderCode = param.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND r.ORDER_CODE LIKE :orderCode"); - + } builder.append(" order by n.NODESTATE ASC,n.NODETIME desc,b.CREATETIME desc "); return builder; @@ -160,7 +148,7 @@ */ @Override public Map queryRemindInfo(String orderId) { - String sql = " select b.WFSTATE,h.*,t.PLAN_EXECUTION_DATE from SC_WORKFLOW_CI_REMIND h ,CI_REMIND_TIMERTASK t, WORKFLOW_BASE b " + + String sql = " select b.WFSTATE,h.*,t.PLAN_EXECUTION_DATE from SC_WORKFLOW_CI_REMIND h ,CI_REMIND_TIMERTASK t, WORKFLOW_BASE b " + " where h.FLOW_ID = t.FLOW_ID and b.ID=h.FLOW_ID and h.id = :orderId "; return baseDao.queryForMap(sql,new SqlParameter("orderId",orderId)); } @@ -177,25 +165,25 @@ WORKFLOW_BASE base = new WORKFLOW_BASE(remind.getFlow_id()).getInstanceById(); WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); NodeAnswerEntity entity = new NodeAnswerEntity(); - + entity.setUser_id(param.get("ID")); entity.setUser_name(param.get("ZSXM")); boolean flag = workflowCoreService.answerNode(base, node, entity); return flag; } - + /** * 鍏抽棴娴佺▼ */ public void closeWorkFlowSubmit(Map<String, String> param){ String orderId = param.get("orderId"); - + String closeNote = param.get("closeNote"); String nodeId = param.get("nodeId"); - + String userName = param.get("userName"); - + SC_WORKFLOW_CI_REMIND order = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById(); WORKFLOW_BASE base = new WORKFLOW_BASE(order.getFlow_id()).getInstanceById(); NodeFinishEntity finishEntity = new NodeFinishEntity(); @@ -218,7 +206,7 @@ String main_executorId = param.get("main_executorId"); String flowNote = param.get("flowNote"); String dealUserName = ""; - + String flowId = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().getFlow_id(); //鏇存柊涓氬姟琛ㄦ暟鎹� remind.setId(orderId).update(); @@ -226,9 +214,9 @@ List<Map> userList = new ArrayList<Map>(); String[] executorIdAry = executorIds.split(","); String[] executorNameAry = executorNames.split(","); - + Map cacheuser = new HashMap(); - + for(int i=0;i<executorIdAry.length;i++){ Map tempMap = new HashMap(); tempMap.put("USER_ID", executorIdAry[i]); @@ -236,21 +224,21 @@ if(executorIdAry[i].equals(main_executorId)){ tempMap.put("IS_ADMIN", "1"); dealUserName=executorNameAry[i]; - + } userList.add(tempMap); } - - - + + + String userId=param.get("ID"); String userName=param.get("ZSXM"); - - + + Map flowMsg = getFlowMsg(flowId,userId); String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); - + //澧炲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content(nodeName+"锛�"+userName+",灏嗛棶棰樻寚娲剧粰浜�,"+dealUserName); @@ -260,7 +248,7 @@ record.setBusiness_id(flowId); record.setNode_id(nodeId).setNode_name(nodeName); recordService.addRecord(record); - + //鐜妭娴佽浆 WorkFlowSupportEntity support = new WorkFlowSupportEntity(); support.setFlowId(flowId); @@ -275,7 +263,7 @@ addPatrolCi(orderId,ciIdAry); return msg; } - + /** * 閫氳繃orderid鑾峰彇娴佺▼淇℃伅 */ @@ -284,7 +272,7 @@ String selectSql = "SELECT * FROM WORKFLOW_NODE WHERE FLOWID = :flowId AND CURRENT_DEALER_ID = :userId AND FLOWSTATE <> 3 "; return baseDao.queryForMap(selectSql,new SqlParameter("flowId",flowId).addValue("userId", userId)); } - + @Override public void addPatrolCi(String orderId, String[] ciIdAry) { baseDao.execute("delete from SC_WORKFLOW_CI_REMIND_DETAIL where order_id = :orderId", new SqlParameter("orderId",orderId)); @@ -316,14 +304,14 @@ sql.append(" where r.ORDER_ID = :orderId "); return baseDao.queryForList(sql.toString(),new SqlParameter("orderId",orderId)); } - + @Override public List<Map> getRemindCiList(Map param) { String sql = " select c.business_id cateId from ci_remind_timertask a , ci_remind_customer_item b, ci_remind_item c " + " where a.customer_item_id=b.id and b.item_id = c.id and a.flow_id = :flowId "; String cateId = baseDao.queryForString(sql,param); param.put("cateId",cateId); - + String ciIds = ConvertUtil.obj2Str(param.get("ciIds")); sql = " select b.*,c.NAME CATENAME from cmdb_ci_base b " + " inner join cmdb_ci_category c on b.LV3_ID = c.ID " + @@ -339,7 +327,7 @@ sql = sql + " and b.STATE=1 group by b.id "; return baseDao.queryForList(sql,param); } - + @Override public Map getPatrolInfo(String patrolId) { String sql = " select * from SC_WORKFLOW_CI_REMIND_DETAIL where id = :patrolId"; @@ -347,25 +335,25 @@ param.addValue("patrolId", patrolId); return baseDao.queryForMap(sql, param); } - + @Override public SysInfoMsg doEngineerPatrol(Map<String, String> param) { String orderId = ConvertUtil.obj2StrBlank(param.get("orderId")); - String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); - String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); - String summary = ConvertUtil.obj2StrBlank(param.get("summary")); - - + String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); + String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); + String summary = ConvertUtil.obj2StrBlank(param.get("summary")); + + String userName = param.get("ZSXM"); String userId = param.get("Id"); - + new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().setOrder_note(summary).update(); String flowId = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().getFlow_id(); - + Map flowMsg = getFlowMsg(flowId,userId); String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); - + //澧炲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content(nodeName+"锛�"+userName+",宸插鐞嗙淮鎶ゆ墽琛�"); @@ -375,7 +363,7 @@ record.setBusiness_id(flowId); record.setNode_id(nodeId).setNode_name(nodeName); recordService.addRecord(record); - + //鐜妭娴佽浆 WorkFlowSupportEntity support = new WorkFlowSupportEntity(); support.setFlowId(flowId); @@ -402,12 +390,12 @@ String nodeId = param.get("nodeId"); String lastNodeTemplateId = param.get("lastNodeTemplateId"); String note = param.get("backNote"); - + String userName = ConvertUtil.obj2StrBlank(param.get("ZSXM")); String userId = ConvertUtil.obj2StrBlank(param.get("ID")); - + String flowId = param.get("flowId"); - + WorkFlowSupportEntity support = new WorkFlowSupportEntity(); support.setFlowId(flowId); support.setNodeId(nodeId); @@ -424,16 +412,16 @@ @Override public SysInfoMsg doEndRemindFlow(Map<String, String> param) { String orderId = ConvertUtil.obj2StrBlank(param.get("orderId")); - String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); - String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); + String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); + String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); String userName = param.get("ZSXM").toString(); String userId = param.get("Id").toString(); String flowId = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().getFlow_id(); - + Map flowMsg = getFlowMsg(flowId,userId); String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); - + //澧炲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content(nodeName+"锛�"+userName+",宸插鏍�"); @@ -443,8 +431,8 @@ record.setBusiness_id(flowId); record.setNode_id(nodeId).setNode_name(nodeName); recordService.addRecord(record); - - + + //鐜妭娴佽浆 WorkFlowSupportEntity support = new WorkFlowSupportEntity(); support.setFlowId(flowId); @@ -459,7 +447,7 @@ new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().setFinish_time(endTime).update(); return msg; } - + @Override public Map getRemindeItem(Map<String, String> param) { String flowId= param.get("flowId"); @@ -515,7 +503,7 @@ map.put("remindMap", remindMap); return map; } - + @Override public Map getRemindDetail(Map<String, String> param) { String orderId=param.get("orderId"); @@ -535,21 +523,21 @@ map.put("detailList", detailList); return map; } - + //渚嬭缁存姢绠$悊 - - + + @Override public int queryJxzRemindOrderCount(Map<String, String> param) { StringBuilder buffer = new StringBuilder("SELECT COUNT(b.ID) FROM WORKFLOW_BASE b WHERE b.BUSINESSTYPE = :businessType AND b.WFSTATE = :wfstate "); - + return baseDao.queryForInteger(buffer.toString(),new SqlParameter("businessType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND).addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DOING)); } - + @Override public Map queryNodeCount(Map<String, String> param) { StringBuilder buffer = new StringBuilder("SELECT n.NODE_TEMPLATE_ID,COUNT(n.NODE_TEMPLATE_ID) AS num FROM WORKFLOW_NODE n, WORKFLOW_BASE b WHERE b.CURRENT_NODE_ID = n.ID and b.BUSINESSTYPE = :businessType AND b.WFSTATE = :wfstate "); - + buffer.append(" GROUP BY n.NODE_TEMPLATE_ID "); List<Map> list = baseDao.queryForList(buffer.toString(),new SqlParameter("businessType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND).addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DOING)); Map resultMap = new HashMap(); @@ -560,29 +548,29 @@ } return resultMap; } - + @Override public PageInfo queryRemindOrderList(PageInfo pageInfo,Map<String, String> param) { - + StringBuilder builder = new StringBuilder(); String flowState = param.get("flowState"); String orderCode = param.get("orderCode"); String customerId = param.get("customerId"); String subCustomerId = param.get("subCustomerId"); - + String nodeTempId = param.get("nodeTempId"); - + param.put("customerId", customerId); param.put("subCustomerId", subCustomerId); param.put("flowState", flowState); param.put("orderCode", "%"+orderCode+"%"); param.put("businessType", String.valueOf(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND)); param.put("nodeTempId", nodeTempId); - + builder = getAllRemindSql(param); return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), param); } - + @Override public int queryRemindOrderCount(Map<String, String> param) { @@ -591,7 +579,7 @@ String orderCode = param.get("orderCode"); String customerId = param.get("customerId"); String subCustomerId = param.get("subCustomerId"); - + param.put("flowState", flowState); param.put("customerId", customerId); param.put("subCustomerId", subCustomerId); @@ -599,12 +587,12 @@ param.put("businessType", String.valueOf(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND)); String nodeTempId = param.get("nodeTempId"); param.put("nodeTempId", nodeTempId); - + builder = getAllRemindSql(param); String sql = "select count(*) from ( " + builder.toString() + " ) t" ; return baseDao.queryForInteger(sql.toString(),param); } - + /** * 鏈嶅姟鍙板伐鍗曞垪琛� * @param request @@ -615,23 +603,23 @@ String customerId = param.get("customerId"); String subCustomerId = param.get("subCustomerId"); String nodeTempId = param.get("nodeTempId"); - - + + StringBuilder builder = new StringBuilder(); builder.append(" select b.ID FLOWID,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); builder.append(" t.PLAN_EXECUTION_DATE,r.ORDER_CODE,r.ID ORDERID,r.SERVICE_CONTENT,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); builder.append(" from SC_WORKFLOW_CI_REMIND r "); builder.append(" inner join WORKFLOW_BASE b on r.FLOW_ID = b.ID "); builder.append(" inner join CI_REMIND_TIMERTASK t on r.FLOW_ID = t.FLOW_ID "); - + //宸ュ崟绫诲瀷 builder.append(" where b.BUSINESSTYPE = :businessType"); //宸ュ崟鐘舵�� if(StringUtil.notEmpty(flowState)) { builder.append(" AND b.WFSTATE =:flowState "); } - - + + //瀹㈡埛 if(StringUtil.isNotBlank(customerId)) { builder.append(" AND b.CUSTOMER_ID = :customerId "); @@ -639,43 +627,43 @@ //涓嬪睘鍗曚綅 if(StringUtil.isNotBlank(subCustomerId)) { builder.append(" AND b.SUB_CUSTOMER_ID = :subCustomerId "); - + } //宸ュ崟缂栧彿 String orderCode = param.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND r.ORDER_CODE LIKE :orderCode"); } - + if(StringUtil.notEmpty(nodeTempId)) { builder.append(" AND EXISTS (SELECT n.ID FROM WORKFLOW_NODE n WHERE b.CURRENT_NODE_ID = n.ID AND n.NODE_TEMPLATE_ID = :nodeTempId ) "); } - - builder.append(" order by b.CREATETIME desc,t.PLAN_EXECUTION_DATE desc "); + + builder.append(" order by b.CREATETIME desc,t.PLAN_EXECUTION_DATE desc "); return builder; } - + @Override public Map getRemindItemSubTimerTaskData(String customerId, String month) { //鏌ヨ璇ュ鎴蜂笅鐨勬墍鏈変笅灞炲崟浣� String sql="SELECT * FROM SC_PARTNER_CUSTOMER_SUB WHERE CUSTOMER_ID=:customerId AND DEL_FLAG=1"; List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); - + Map currentCustomer = new HashMap(); currentCustomer.put("ID", customerId); currentCustomer.put("CUSTOMER_NAME", new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById().getCustomer_name()); subList.add(0, currentCustomer); - - + + if(!StringUtil.notEmpty(month)) { - month = DateUtil.getCurrentDate6().toString(); + month = DateUtil.getCurrentDate6().toString(); } - + String monthBeginDay = month+"01"; //鏌ヨ褰撴湀鐨勬墍鏈夊ぉ鏁� String monthLastDay = DateParepareUtil.lastDayMonth(month, "yyyyMM", "yyyyMMdd"); - - + + List<String> days = DateUtil.getBetweenTwoDateCycleList(monthBeginDay, monthLastDay, 2,1, "yyyyMMdd","yyyyMMdd"); if(subList!=null && subList.size()>0){ for(Map subMap:subList){ @@ -687,20 +675,20 @@ List<Map> isMarkList = new ArrayList<Map>(); for(String day:days){ Map markMap=new HashMap(); - + markMap.put("day", day); - - - + + + int zjh = 0; int yzx = 0; if(taskList!=null && taskList.size()>0){ List<Map> plans = new ArrayList<Map>(); for(Map map:taskList){ Map plan = new HashMap(); - - - + + + Integer task=2; Integer mark=0; String orderId = new String(); @@ -736,7 +724,7 @@ map.put("days", days); return map; } - + @Override public List<Map> querySubCustomerRemindPlanForDay(Map<String, String> param) { String customerId = param.get("customerId"); @@ -752,11 +740,11 @@ param.put("customerId", customerId); param.put("subCustomerId", subCustomerId); param.put("day", day); - + List<Map> plans = baseDao.queryForList(selectSql,param); return plans; } - + @Override public PageInfo getRemindItemData(PageInfo pageInfo,Map<String, String> param) { String customerId=param.get("customerId"); @@ -770,11 +758,11 @@ if(StringUtil.notEmpty(itemName)){ sql.append(" AND A.ITEM_NAME LIKE :itemName"); } - + if(StringUtil.notEmpty(subId)){ sql.append(" AND C.SUB_CUSTOMER_ID=:subId"); - } - + } + sql.append(" AND B.CUSTOMER_ID=:customerId "); sql.append(" ORDER BY A.ITEM_TYPE,ORDER_NUM ASC"); //SqlParameter paramMap = new SqlParameter(); @@ -783,7 +771,7 @@ param.put("customerId", customerId); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), param); } - + @Override public Integer getRemindItemCount(Map<String, String> param) { String customerId=param.get("customerId"); @@ -804,7 +792,7 @@ param.put("subId", subId); return baseDao.queryForInteger(sql.toString(), param); } - + @Override public Map queryRemind(String customerItemId) { String selectSql = "SELECT A.ID,A.ITEM_NAME,A.CYCLE,A.PRIORITY_LEVEL_ID,A.PRIORITY_LEVEL_NAME," + @@ -813,7 +801,7 @@ Map item = baseDao.queryForMap(selectSql,new SqlParameter("id",customerItemId)); return item; } - + /** * 鏌ヨ鎵ц璁″垝 * @param customerItemId @@ -826,11 +814,11 @@ List result = new ArrayList(); if(StringUtil.notEmpty(customerId)) { SC_PARTNER_CUSTOMER_INFO customer = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); - + long beginTime = customer.getValid_begin_date(); long endTime = customer.getValid_end_date(); - - + + Map paramMap = new HashMap(); //鏌ヨ鎵�鏈夊凡缁忕敓鎴愮殑璁″垝 String selectSql = "SELECT A.*,W.ID ORDER_ID " + @@ -839,17 +827,17 @@ paramMap.put("customerId", customerId); paramMap.put("customerItemId", customerItemId); selectSql += " AND A.SUB_CUSTOMER_ID = :subId "; - if(StringUtil.notEmpty(subCustomerId)) { + if(StringUtil.notEmpty(subCustomerId)) { paramMap.put("subId", subCustomerId); } else { paramMap.put("subId", customerId); } - + selectSql += " ORDER BY A.PLAN_EXECUTION_DATE "; - - + + List<Map> plans = baseDao.queryForList(selectSql,paramMap); - + Map<String,Map> cacheMap = new HashMap<String,Map>(); if(null!=plans && plans.size()>0) { for(Map plan : plans) { @@ -857,28 +845,28 @@ cacheMap.put(day, plan); } } - - + + //姹傚嚭鎵�鏈夋湀浠界殑闆嗗悎 List<String> months = DateUtil.getBetweenTwoDateCycleList(ConvertUtil.obj2StrBlank(beginTime), ConvertUtil.obj2StrBlank(endTime), 1,1, "yyyyMMdd","yyyyMM"); if(null!=months && months.size()>0) { for(int i=0; i<months.size();i++) { String month = months.get(i); - + String beginDay = month+"01"; //寰楀埌褰撴湀鐨勬渶鍚庝竴澶� String lastDay = DateParepareUtil.lastDayMonth(month,"yyyyMM","yyyyMMdd"); - + List<String> days = DateUtil.getBetweenTwoDateCycleList(beginDay, lastDay, 2,1, "yyyyMMdd","yyyyMMdd"); - - - - - + + + + + List<Map> newList = new ArrayList<Map>(); for(String str : days) { Map map = new HashMap(); - + if(cacheMap.containsKey(str)) { map = cacheMap.get(str); map.put("day", str); @@ -887,7 +875,7 @@ map.put("day",str); map.put("check", 2); } - + //鏄惁鏄剧ず澶嶉�夋 long date = ConvertUtil.obj2Long(str); if(date>=beginTime && date<=endTime) { @@ -895,7 +883,7 @@ } else { map.put("showbox", 2); } - + //浠婂ぉ涔嬪墠鐨勫閫夋涓嶅彲鐢� long today = DateUtil.getCurrentDate8(); if(date>today) { @@ -903,22 +891,22 @@ } else { map.put("isUse", 2); } - + newList.add(map); } - + Map map = new HashMap(); map.put("month", month); map.put("days", newList); result.add(map); } } - + } System.out.println(JsonUtil.list2Json(result)); return result; } - + @Override public PageInfo getRemindOrderList(PageInfo pageInfo,Map<String, String> param) { String customerId=param.get("customerId"); @@ -929,22 +917,22 @@ sql.append(" SELECT A.SUB_CUSTOMER_ID SUB_CUS_ID,A.FLOW_ID,B.*,D.ITEM_NAME,A.PLAN_EXECUTION_DATE,A.STATE AS TIMESTATE,A.CUSTOMER_ITEM_ID FROM CI_REMIND_TIMERTASK A LEFT JOIN SC_WORKFLOW_CI_REMIND B ON A.FLOW_ID=B.FLOW_ID "); sql.append(" LEFT JOIN CI_REMIND_CUSTOMER_ITEM C ON A.CUSTOMER_ITEM_ID=C.ID LEFT JOIN CI_REMIND_ITEM D ON C.ITEM_ID=D.ID"); sql.append(" WHERE A.STATE != 3 "); - + //SqlParameter paramMap = new SqlParameter(); - - + + if(StringUtil.notEmpty(customerId)) { sql.append("AND A.CUSTOMER_ID=:customerId "); param.put("customerId", customerId); } - - + + if(StringUtil.notEmpty(subId)) { sql.append("AND A.SUB_CUSTOMER_ID=:subId "); param.put("subId", subId); } - - + + if(StringUtil.notEmpty(beginDate) && StringUtil.notEmpty(endDate)){ sql.append(" AND A.PLAN_EXECUTION_DATE>=:beginDate AND A.PLAN_EXECUTION_DATE<=:endDate"); param.put("beginDate", beginDate); @@ -952,9 +940,9 @@ } sql.append(" ORDER BY A.PLAN_EXECUTION_DATE DESC"); param.put("customerId", customerId); - + PageInfo list=baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), param); - + if(list!=null && list.getDatas().size()>0){ for(Map map :list.getDatas()){ map.put("TIMESTATE_LABEL", Constants.getmapCI_REMIND_TIMERTASK_STATE_Label(Integer.parseInt(map.get("TIMESTATE").toString()))); @@ -962,7 +950,7 @@ } return list; } - + @Override public Integer getRemindOrderCount(Map<String, String> param){ String customerId=param.get("customerId"); @@ -973,21 +961,21 @@ sql.append(" SELECT COUNT(A.ID) FROM CI_REMIND_TIMERTASK A LEFT JOIN SC_WORKFLOW_CI_REMIND B ON A.FLOW_ID=B.FLOW_ID "); sql.append(" LEFT JOIN CI_REMIND_CUSTOMER_ITEM C ON A.CUSTOMER_ITEM_ID=C.ID LEFT JOIN CI_REMIND_ITEM D ON C.ITEM_ID=D.ID"); sql.append(" WHERE A.STATE != 3 "); - + //SqlParameter paramMap = new SqlParameter(); - - + + if(StringUtil.notEmpty(customerId)) { sql.append("AND A.CUSTOMER_ID=:customerId "); param.put("customerId", customerId); } - + if(StringUtil.notEmpty(subId)) { sql.append("AND A.SUB_CUSTOMER_ID=:subId "); param.put("subId", subId); } - - + + if(StringUtil.notEmpty(beginDate) && StringUtil.notEmpty(endDate)){ sql.append(" AND A.PLAN_EXECUTION_DATE>=:beginDate AND A.PLAN_EXECUTION_DATE<=:endDate"); param.put("beginDate", beginDate); @@ -999,7 +987,7 @@ param.put("endDate", endDate); return baseDao.queryForInteger(sql.toString(),param); } - + @Override public List getSubRemindCiList(Map<String, String> param) { StringBuilder sql =new StringBuilder(); @@ -1015,7 +1003,7 @@ } return baseDao.queryForList(sql.toString(), param); } - + @Override public int queryProItemCount(Map<String, String> param) { String customerId = param.get("customerId"); @@ -1032,48 +1020,48 @@ String sql = "SELECT A.*,B.ITEM_NAME,B.ITEM_NOTE,B.PRIORITY_LEVEL_NAME,B.BUSINESS_NAME " + " FROM CI_REMIND_CUSTOMER_ITEM A,CI_REMIND_ITEM B WHERE A.ITEM_ID = B.ID " + " AND A.USING_STATE = 1 AND A.CUSTOMER_ID = :customerId ORDER BY B.ORDER_NUM "; - + param.put("customerId", customerId); PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql, param); return info; } - - + + @Override public Map queryItemSubCustomerPlan(String customerId,String itemId,String mon) { //鏌ヨ璇ュ鎴蜂笅鐨勬墍鏈変笅灞炲崟浣� String sql="SELECT * FROM SC_PARTNER_CUSTOMER_SUB WHERE CUSTOMER_ID=:customerId AND DEL_FLAG=1"; List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); - - + + Map currentCustomer = new HashMap(); currentCustomer.put("ID", customerId); currentCustomer.put("CUSTOMER_NAME", new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById().getCustomer_name()); subList.add(0, currentCustomer); - + String year = DateUtil.format("yyyy", mon); - + String mm = DateUtil.format("MM", mon); String[] time = DateParepareUtil.queryFirstLastDate(year,mm); - + String beginDay = time[0].replaceAll("-", ""); //寰楀埌褰撴湀鐨勬渶鍚庝竴澶� String lastDay = time[1].replaceAll("-", ""); - + List<String> days = DateUtil.getBetweenTwoDateCycleList(beginDay, lastDay, 2,1, "yyyyMMdd","yyyyMMdd"); - + Map resultMap = new HashMap(); resultMap.put("month", mon); resultMap.put("days", days); - + List result = new ArrayList(); if(StringUtil.notEmpty(customerId)) { SC_PARTNER_CUSTOMER_INFO customer = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); - + long beginTime = customer.getValid_begin_date(); long endTime = customer.getValid_end_date(); - - + + Map paramMap = new HashMap(); //鏌ヨ璇ュ鎴蜂笅鎵�鏈夊凡缁忕敓鎴愮殑璁″垝 String selectSql = "SELECT A.*,W.ID ORDER_ID FROM CI_REMIND_TIMERTASK A,CI_REMIND_CUSTOMER_ITEM B ,SC_WORKFLOW_CI_REMIND W " + @@ -1082,16 +1070,16 @@ " AND B.CUSTOMER_ID = :customerId AND B.USING_STATE = 1 "; paramMap.put("projectItemId", itemId); paramMap.put("customerId", customerId); - - - + + + selectSql += "AND A.PLAN_EXECUTION_DATE >= :beginTime AND A.PLAN_EXECUTION_DATE <= :endTime "; paramMap.put("beginTime", beginDay); paramMap.put("endTime", lastDay); - + selectSql += " ORDER BY A.PLAN_EXECUTION_DATE "; List<Map> plans = baseDao.queryForList(selectSql,paramMap); - + Map<String,Map> cacheMap = new HashMap<String,Map>(); if(null!=plans && plans.size()>0) { for(Map plan : plans) { @@ -1100,65 +1088,65 @@ cacheMap.put(subCustomerId+"-"+plan_execution_date, plan); } } - - + + if(null!=subList && subList.size()>0) { for(Map cus : subList) { - - - + + + String cusId = ConvertUtil.obj2StrBlank(cus.get("ID")); String cusName = ConvertUtil.obj2StrBlank(cus.get("CUSTOMER_NAME")); - + List<Map> newList = new ArrayList<Map>(); for(String str : days) { Map map = new HashMap(); - + String unitKey = cusId+"-"+str; if(cacheMap.containsKey(unitKey)) { map = cacheMap.get(unitKey); } newList.add(map); } - + Map map = new HashMap(); map.put("cusName", cusName); map.put("msgs", newList); result.add(map); } } - + } resultMap.put("rs", result); - + return resultMap; } - + @Override public String queryZbName(String itemId) { String selectSql = "SELECT B.ITEM_NAME FROM CI_REMIND_CUSTOMER_ITEM A,CI_REMIND_ITEM B WHERE A.ITEM_ID = B.ID AND A.ID = :itemId "; return baseDao.queryForString(selectSql,new SqlParameter("itemId",itemId)); } - + @Override public List queryCustomers(Map<String, String> param) { String customerId = param.get("customerId"); //鏌ヨ璇ュ鎴蜂笅鐨勬墍鏈変笅灞炲崟浣� String sql="SELECT * FROM SC_PARTNER_CUSTOMER_SUB WHERE CUSTOMER_ID=:customerId AND DEL_FLAG=1"; List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); - - + + Map currentCustomer = new HashMap(); currentCustomer.put("ID", customerId); SC_PARTNER_CUSTOMER_INFO mainCus = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); currentCustomer.put("CUSTOMER_NAME", mainCus.getCustomer_name()); currentCustomer.put("CONTACT", mainCus.getContact()); currentCustomer.put("PHONE", mainCus.getPhone()); - + subList.add(0, currentCustomer); return subList; } - + @Override public Map queryCusItemPlanReport(String customerId,String subCustomerId, String mon) { //鏌ヨ璇ュ鎴蜂笅鐨勬墍鏈夋寚鏍� @@ -1166,47 +1154,47 @@ " FROM CI_REMIND_CUSTOMER_ITEM A,CI_REMIND_ITEM B " + " WHERE A.ITEM_ID = B.ID AND A.USING_STATE = 1 AND A.CUSTOMER_ID = :customerId ORDER BY B.ORDER_NUM "; List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); - - - + + + String year = DateUtil.format("yyyy", mon); - + String mm = DateUtil.format("MM", mon); String[] time = DateParepareUtil.queryFirstLastDate(year,mm); - + String beginDay = time[0].replaceAll("-", ""); //寰楀埌褰撴湀鐨勬渶鍚庝竴澶� String lastDay = time[1].replaceAll("-", ""); - + List<String> days = DateUtil.getBetweenTwoDateCycleList(beginDay, lastDay, 2,1, "yyyyMMdd","yyyyMMdd"); - + Map resultMap = new HashMap(); resultMap.put("month", mon); resultMap.put("days", days); - + List result = new ArrayList(); if(StringUtil.notEmpty(customerId)) { SC_PARTNER_CUSTOMER_INFO project = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); - + long beginTime = project.getValid_begin_date(); long endTime = project.getValid_end_date(); - - + + Map paramMap = new HashMap(); //鏌ヨ璇ュ鎴蜂笅鎵�鏈夊凡缁忕敓鎴愮殑璁″垝 String selectSql = "SELECT A.*,W.ID ORDER_ID FROM CI_REMIND_TIMERTASK A,CI_REMIND_CUSTOMER_ITEM B,SC_WORKFLOW_CI_REMIND W " + " WHERE A.CUSTOMER_ITEM_ID = B.ID AND A.FLOW_ID=W.FLOW_ID AND B.CUSTOMER_ID = :customerId " + " AND A.SUB_CUSTOMER_ID = :subCustomerId AND B.USING_STATE = 1 "; paramMap.put("customerId", customerId); - + selectSql += "AND A.PLAN_EXECUTION_DATE >= :beginTime AND A.PLAN_EXECUTION_DATE <= :endTime "; paramMap.put("beginTime", beginDay); paramMap.put("endTime", lastDay); paramMap.put("subCustomerId", subCustomerId); - + selectSql += " ORDER BY A.PLAN_EXECUTION_DATE "; List<Map> plans = baseDao.queryForList(selectSql,paramMap); - + Map<String,Map> cacheMap = new HashMap<String,Map>(); if(null!=plans && plans.size()>0) { for(Map plan : plans) { @@ -1215,52 +1203,52 @@ cacheMap.put(project_item_id+"-"+plan_execution_date, plan); } } - - + + if(null!=subList && subList.size()>0) { for(Map zb : subList) { String zbId = ConvertUtil.obj2StrBlank(zb.get("ID")); String zbName = ConvertUtil.obj2StrBlank(zb.get("ITEM_NAME")); - + List<Map> newList = new ArrayList<Map>(); for(String str : days) { Map map = new HashMap(); - + String unitKey = zbId+"-"+str; if(cacheMap.containsKey(unitKey)) { map = cacheMap.get(unitKey); } newList.add(map); } - + Map map = new HashMap(); map.put("zbName", zbName); map.put("msgs", newList); result.add(map); } } - + } resultMap.put("rs", result); - + return resultMap; } @Override - public String queryNodeId(String flowId,String userId) { + public String queryNodeId(String flowId,String userId) { String selectSql = "SELECT ID FROM WORKFLOW_NODE WHERE FLOWID=:flowId AND CURRENT_DEALER_ID=:userId AND (FLOWSTATE=1 OR FLOWSTATE =2) "; return baseDao.queryForString(selectSql,new SqlParameter("flowId",flowId).addValue("userId", userId)); } - + @Override public PageInfo remindPlanData(PageInfo pageInfo,Map<String, String> param) { String ciId=param.get("ciId"); - String selectSql = "SELECT C.* FROM CI_REMIND_CILIST A,CI_REMIND_CUSTOMER_ITEM B,CI_REMIND_TIMERTASK C WHERE A.PROJECT_ITEM_ID = B.ID AND B.ID = C.CUSTOMER_ITEM_ID AND A.CI_ID = :ciId AND A.STATE = 1 AND C.STATE = 2 ORDER BY C.PLAN_EXECUTION_DATE DESC "; + String selectSql = "SELECT C.* FROM CI_REMIND_CILIST A,CI_REMIND_CUSTOMER_ITEM B,CI_REMIND_TIMERTASK C WHERE A.PROJECT_ITEM_ID = B.ID AND B.ID = C.CUSTOMER_ITEM_ID AND A.CI_ID = :ciId AND A.STATE = 1 AND C.STATE = 2 ORDER BY C.PLAN_EXECUTION_DATE DESC "; param.put("ciId", ciId); PageInfo plans=baseDao.queryforSplitPageInfo(pageInfo, selectSql, param); return plans; } - + @Override public int remindPlanCount(Map<String, String> param) { String ciId=param.get("ciId"); @@ -1269,7 +1257,7 @@ return count; } - + } diff --git a/src/cn/ksource/web/facade/dsl/DSLFacadeImpl.java b/src/cn/ksource/web/facade/dsl/DSLFacadeImpl.java index 62d5e88..d9ff993 100644 --- a/src/cn/ksource/web/facade/dsl/DSLFacadeImpl.java +++ b/src/cn/ksource/web/facade/dsl/DSLFacadeImpl.java @@ -1,17 +1,16 @@ package cn.ksource.web.facade.dsl; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - +import cn.ksource.beans.*; +import cn.ksource.core.dao.BaseDao; +import cn.ksource.core.dao.SqlParameter; +import cn.ksource.core.page.PageInfo; +import cn.ksource.core.util.*; +import cn.ksource.core.web.TreeNode; +import cn.ksource.core.web.WebUtil; +import cn.ksource.entity.FacedeResponse; +import cn.ksource.web.Constants; +import cn.ksource.web.service.cmdb.SequenceService; +import cn.ksource.web.service.file.FileService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,42 +18,28 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; -import cn.ksource.beans.DSL_CATEGORY; -import cn.ksource.beans.DSL_CONFIG; -import cn.ksource.beans.DSL_CONFIG_FILE; -import cn.ksource.beans.DSL_VERSION; -import cn.ksource.beans.PROJECT_DSL; -import cn.ksource.core.dao.BaseDao; -import cn.ksource.core.dao.SqlParameter; -import cn.ksource.core.page.PageInfo; -import cn.ksource.core.util.ConvertUtil; -import cn.ksource.core.util.DateUtil; -import cn.ksource.core.util.EqualUtil; -import cn.ksource.core.util.JsonUtil; -import cn.ksource.core.util.StringUtil; -import cn.ksource.core.web.TreeNode; -import cn.ksource.core.web.WebUtil; -import cn.ksource.entity.FacedeResponse; -import cn.ksource.web.Constants; -import cn.ksource.web.service.cmdb.SequenceService; -import cn.ksource.web.service.file.FileService; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; +import java.util.*; @Service("dslFacade") public class DSLFacadeImpl implements DSLFacade{ @Resource private BaseDao baseDao; - + @Resource private FileService fileService; - + @Autowired private SequenceService sequenceService; - + /*@Autowired private SequenceService sequenceService;*/ - - + + @Override public List<Map> getOrderDslList(String flowId) { SqlParameter param = new SqlParameter(); @@ -67,11 +52,11 @@ " SELECT UPDATE_TIME,ID,EDITION FROM DSL_VERSION WHERE (STATE=1 OR STATE=3) " + " ) V ON L.DSL_VERSION_ID = V.ID " + " WHERE (D.STATE=1 OR D.STATE=3) AND L.FLOW_ID=:flowId " + - " ORDER BY V.UPDATE_TIME DESC " + - " ) T GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "; + " ORDER BY V.UPDATE_TIME DESC " + + " ) T GROUP BY DSL_ID,T.FLOW_ID, T.UPDATE_TIME, T.CATE_NAME,T.VER_ID,T.LINK_ID,T.DSL_SEARCHCODE,T.DSL_NAME,T.EDITION ORDER BY UPDATE_TIME DESC "; return baseDao.queryForList(sql,param); } - + @Override public void saveConfigDslDealRecord(String flowId) { String sql = "SELECT ID,DSL_VERSION_ID,CI_ID,DSL_ID,NEW_VERSION_ID,FLOW_ID,STATE,DEALER_ID,DEALER_NAME,UPDATE_TIME " + @@ -89,10 +74,10 @@ params.put("ID", id); paramList.add(params); } - + baseDao.executeBatch(sqlinsert, paramList); } - + @Override public void updateConfigDslWhenFinish(String flowId) { SqlParameter param = new SqlParameter(); @@ -106,10 +91,10 @@ //鏇存柊dsl鐘舵�� baseDao.execute(" UPDATE PROJECT_DSL SET STATE=1 WHERE FLOW_ID = :flowId ", param); baseDao.execute(" UPDATE DSL_VERSION SET STATE=1 WHERE CREATE_FLOW_ID = :flowId ", param); - + } - - + + @Override public void updateConfigDslWhenClose(String flowId) { SqlParameter param = new SqlParameter(); @@ -121,7 +106,7 @@ //灏嗚淇敼鐨勬暟鎹仮澶� baseDao.execute(" UPDATE CMDB_DSL_LINK SET NEW_VERSION_ID=DSL_VERSION_ID,STATE=NULL,DEALER_ID=NULL,DEALER_NAME=NULL,UPDATE_TIME=NULL,FLOW_ID=NULL WHERE STATE=2 AND FLOW_ID = :flowId ", param); } - + @Override public void addDslByFlow(PROJECT_DSL proDsl,String flowId){ String searchcode = sequenceService.getDslCategorySequence(proDsl.getDsl_third_category_id()); @@ -140,7 +125,7 @@ baseDao.execute(sql, param); } } - + @Override public PageInfo getProDslContainAddData(HttpServletRequest request) { Map support = getProDslContainAddSupport(request); @@ -149,7 +134,7 @@ PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, sql, param); return pageInfo; } - + @Override public int getProDslContainAddCount(HttpServletRequest request) { Map support = getProDslContainAddSupport(request); @@ -158,7 +143,7 @@ int count = baseDao.queryForInteger(sql, param); return count; } - + private Map getProDslContainAddSupport(HttpServletRequest request) { Map support = new HashMap(); SqlParameter param = new SqlParameter(); @@ -169,7 +154,7 @@ builder.append(" FROM PROJECT_DSL D LEFT JOIN (SELECT * FROM DSL_VERSION WHERE STATE=1) V ON D.ID = V.DSL_ID "); builder.append(" WHERE D.STATE=1 "); builder.append(" ) T1 "); - + String flowId = request.getParameter("flowId"); if(StringUtil.notEmpty(flowId)) { builder.append(" UNION SELECT * FROM ( "); @@ -182,15 +167,15 @@ builder.append(" ) T1 "); param.put("flowId", flowId); } - + builder.append(" ORDER BY UPDATE_TIME DESC "); builder.append(" ) T WHERE 1=1 "); - + String proId = request.getParameter("proId"); if(StringUtil.notEmpty(proId)) { param.put("proId", proId); } - + String dslName = request.getParameter("dslName"); if(StringUtil.notEmpty(dslName)) { builder.append(" AND DSL_NAME LIKE :dslName "); @@ -206,26 +191,26 @@ builder.append(" AND DSL_SEARCHCODE like :dslSearchCode "); param.put("dslSearchCode", "%"+dslSearchCode+"%"); } - + String dslIds = request.getParameter("dslIds"); if(StringUtil.notEmpty(dslIds)) { dslIds = "'" + dslIds.replace(",", "','") + "'"; builder.append(" AND DSL_ID NOT IN ("+dslIds+") "); } builder.append(" GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "); - + support.put("sql", builder.toString()); support.put("param", param); return support; } - + @Override public int queryDslCount(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM PROJECT_DSL A WHERE A.PARTNER_ID = :partnerId AND A.STATE != 3 "); - + //String partnerId = WebUtil.getLoginedPartnerId(request); - + Map paramMap = new HashMap(); //paramMap.put("partnerId", partnerId); String projectId = request.getParameter("projectId"); @@ -233,39 +218,39 @@ builder.append(" AND A.PROJECT_ID = :projectId "); paramMap.put("projectId", projectId); } - + String dslName = request.getParameter("dslName"); if(StringUtil.notEmpty(dslName)) { builder.append(" AND A.DSL_NAME LIKE :dslName "); paramMap.put("dslName", "%"+dslName+"%"); } - + String dslCate = request.getParameter("dslCate"); if(StringUtil.notEmpty(dslCate)) { builder.append(" AND A.DSL_THIRD_CATEGORY_ID = :dslCate "); paramMap.put("dslCate", dslCate); } - + String dslSearchCode = request.getParameter("dslSearchCode"); if(StringUtil.notEmpty(dslSearchCode)) { builder.append(" AND A.DSL_SEARCHCODE = :dslSearchCode "); paramMap.put("dslSearchCode", dslSearchCode); } - - - + + + int count = baseDao.queryForInteger(builder.toString(),paramMap); - + return count; } @Override public PageInfo queryDslData(HttpServletRequest request) { - + StringBuilder builder = new StringBuilder("SELECT A.*,C.EDITION FROM PROJECT_DSL A LEFT JOIN (SELECT E.DSL_ID,E.EDITION FROM DSL_VERSION E,(SELECT MAX(B.CREATE_TIME) AS TIME,B.DSL_ID FROM DSL_VERSION B WHERE B.STATE = 1 GROUP BY B.DSL_ID) F WHERE E.DSL_ID = F.DSL_ID AND E.CREATE_TIME = F.TIME) C ON A.ID = C.DSL_ID WHERE A.STATE != 3 "); - + //String partnerId = WebUtil.getLoginedPartnerId(request); - + Map paramMap = new HashMap(); //paramMap.put("partnerId", partnerId); String projectId = request.getParameter("projectId"); @@ -273,32 +258,32 @@ builder.append(" AND A.PROJECT_ID = :projectId "); paramMap.put("projectId", projectId); } - + String dslName = request.getParameter("dslName"); if(StringUtil.notEmpty(dslName)) { builder.append(" AND A.DSL_NAME LIKE :dslName "); paramMap.put("dslName", "%"+dslName+"%"); } - + String dslCate = request.getParameter("dslCate"); if(StringUtil.notEmpty(dslCate)) { builder.append(" AND A.DSL_THIRD_CATEGORY_ID = :dslCate "); paramMap.put("dslCate", dslCate); } - + String dslSearchCode = request.getParameter("dslSearchCode"); if(StringUtil.notEmpty(dslSearchCode)) { builder.append(" AND A.DSL_SEARCHCODE like :dslSearchCode "); paramMap.put("dslSearchCode", "%"+dslSearchCode+"%"); } - + builder.append(" ORDER BY A.STATE ASC, A.ORDER_NUM ASC,ADD_TIME DESC "); PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - + return pageInfo; } - + @Override public List<Map> getDslCateTree(String pid, String partnerId) { String sql = " SELECT ID as id,P_ID AS pid,CATEGORY_NAME AS name,LEVEL AS jb FROM DSL_CATEGORY WHERE STATE=1 AND PARTNER_ID=:partnerId"; @@ -322,28 +307,28 @@ public Map queryDslLevelTree(String partnerId, String cates) { String selectSql = "SELECT A.* FROM DSL_CATEGORY A WHERE A.STATE = 1 ORDER BY A.LEVEL,A.ORDER_NUM "; List<Map> categoryList = baseDao.queryForList(selectSql,new SqlParameter("partnerId",partnerId)); - Map slMap = new HashMap(); + Map slMap = new HashMap(); if(StringUtil.notEmpty(cates)) { String[] catess = cates.split(","); for(String s : catess) { slMap.put(s, s); } } - - - + + + Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); - + for (Map map : categoryList) { String level = ConvertUtil.obj2StrBlank(map.get("LEVEL")); String id = ConvertUtil.obj2StrBlank(map.get("ID")); - + //涓�绾ф爲 if (level.equalsIgnoreCase("1")) { yjgnCache.put(id, map); @@ -358,21 +343,21 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(id, map); continue; } //涓夌骇鏍� if (level.equalsIgnoreCase("3")) { if(null!=map.get("P_ID")){ - + if(slMap.containsKey(id)) { slMap.put(id, map.get("CATEGORY_NAME")); map.put("check", 1); } else { map.put("check", 2); } - + Map ejgnMap = ejgnCache.get(map.get("P_ID").toString()); List<Map> list = (List<Map>)ejgnMap.get("sjTree"); list.add(map); @@ -384,7 +369,7 @@ resultMap.put("slMap", slMap); return resultMap; } - + @Override public void addOrderLinkDsl(String flowId, String dslIds, String verIds) { List<SqlParameter> params = new ArrayList<SqlParameter>(); @@ -400,19 +385,19 @@ }else{ param.addValue("verId", verArr[i]); } - params.add(param); + params.add(param); } String sql = "insert into DSL_ORDER_LINK (ID,FLOW_ID,DSL_VERSION_ID,DSL_ID) values (:id,:flowId,:verId,:dslId) "; baseDao.executeBatch(sql, params); } - + @Override public int queryDslChangeVersionCount(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A WHERE A.DSL_ID = :dslId AND (A.STATE = 1 OR (A.STATE = 3 AND A.CREATE_FLOW_ID = :flowId ) ) ORDER BY A.CREATE_TIME DESC "); - + String dslId = request.getParameter("dslId"); String flowId = request.getParameter("flowId"); - + Map paramMap = new HashMap(); paramMap.put("dslId", dslId); paramMap.put("flowId", flowId); @@ -423,18 +408,18 @@ @Override public PageInfo queryDslChangeVersionData(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID WHERE A.DSL_ID = :dslId AND (A.STATE = 1 OR (A.STATE = 3 AND A.CREATE_FLOW_ID = :flowId ) ) ORDER BY A.CREATE_TIME DESC "); - + String dslId = request.getParameter("dslId"); String flowId = request.getParameter("flowId"); - + Map paramMap = new HashMap(); paramMap.put("dslId", dslId); paramMap.put("flowId", flowId); PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - + return pageInfo; } - + @Override public List getDSLConfigListData(String configId) { StringBuilder builder = new StringBuilder(); @@ -453,14 +438,14 @@ sql.append(" AND PID=:pid "); } sql.append(" ORDER BY SORT_ID "); - + SqlParameter param = new SqlParameter("pid",configId); param.addValue("partnerId", partnerId); param.addValue("thirdCateId", thirdCateId); List<Map> firstList = new LinkedList<Map>(); List<Map> dataList = baseDao.queryForList(sql.toString(), param); - + for (Map map : dataList) { firstList.add(map); if (ConvertUtil.obj2Int(map.get("STATE")) == 1) { @@ -468,14 +453,14 @@ } else { map.put("STATE_TEXT", "鏈惎鐢�"); } - + if (!EqualUtil.isStringEqual(map.get("LV"), "2")) { map.put("state", "closed"); map.put("children", new LinkedList<Map>()); } - + } - + if (StringUtils.isBlank(configId)) { List<Map> resultList = new LinkedList<Map>(); Map map = new HashMap(); @@ -499,7 +484,7 @@ String note = request.getParameter("note"); String name = request.getParameter("name"); String thirdCateName = new DSL_CATEGORY(thirdCateId).getInstanceById().getCategory_name(); - + if(StringUtil.notEmpty(configId)) { DSL_CONFIG dsl = new DSL_CONFIG(configId).getInstanceById(); pId = dsl.getPid(); @@ -517,7 +502,7 @@ } else { level = 1; } - + String insertSql = "INSERT INTO DSL_CONFIG(ID,THIRD_CATEGORY_ID,THIRD_CATEGORY_NAME,LV,SORT_ID,STATE,PID,PARTNER_ID,NOTE,NAME) " + "VALUES (:id,:third_category_id,:third_category_name,:lv,:sort_id,1,:pid,:partner_id,:note,:name)"; Map paramMap = new HashMap(); @@ -532,38 +517,38 @@ paramMap.put("name", name); baseDao.execute(insertSql, paramMap); } - + return pId; - - + + } @Override public void saveProDslInfo(HttpServletRequest request) { - + String flowId = request.getParameter("flowId"); String projectId = request.getParameter("projectId"); String configureId = request.getParameter("configureId"); String versionNo = request.getParameter("versionNo"); - + SqlParameter param = new SqlParameter(); param.addValue("flowId", flowId) .addValue("projectId", projectId) .addValue("versionNo", versionNo) .addValue("configureId", configureId) .addValue("id", StringUtil.getUUID()); - - + + StringBuilder builder = new StringBuilder(); builder.append(" delete from config_dsl_pro where RELEASE_FLOW_ID = :flowId and CONFIGURE_ID=:configureId and PROJECT_ID=:projectId "); baseDao.execute(builder.toString(), param); - + builder.setLength(0); builder.append(" insert into config_dsl_pro (id,PROJECT_ID,CONFIGURE_ID,VERSION_NO,RELEASE_FLOW_ID,SOURCE_TYPE) "); builder.append(" values (:id,:projectId,:configureId,:versionNo,:flowId,1) "); baseDao.execute(builder.toString(), param); } - + @Override public List<Map> getSecondDslfileList(String orderId,String configureId,String secondDslId){ SqlParameter param = new SqlParameter(); @@ -574,7 +559,7 @@ "and BUSINESS_ID = :orderId and EXTEND1 =:configureId and EXTEND2 = :secondDslId "; return baseDao.queryForList(sql,param); } - + @Override public void saveDslFile(HttpServletRequest request){ Map user = WebUtil.getLoginUser(request).getLoginUser(); @@ -599,7 +584,7 @@ //System.out.println("-----------"+request.getSession().getServletContext().getRealPath("/")); String fullPath = request.getSession().getServletContext().getRealPath("/")+"/upload/infofiles/" + fileName; long size = file.getSize(); - String fileFormat = fileName.substring(fileName.lastIndexOf(".")+1); + String fileFormat = fileName.substring(fileName.lastIndexOf(".")+1); File localFile = new File(fullPath); // 鍐欐枃浠跺埌鏈湴 try { @@ -634,21 +619,21 @@ //String partnerId = WebUtil.getLoginedPartnerId(request); String selectSubSql = "SELECT * FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId AND STATE = 1 ORDER BY LV,SORT_ID "; String thirdCateId = request.getParameter("thirdCate"); - + paramMap.put("thirdCateId", thirdCateId); //paramMap.put("partnerId", partnerId); - + List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); - + for (Map map : cates) { String level = map.get("LV").toString(); String id = map.get("ID").toString(); - + //涓�绾ф爲 if (level.equalsIgnoreCase("1")) { yjgnCache.put(id, map); @@ -679,8 +664,8 @@ String thirdCateId = request.getParameter("thirdCate"); String pId = request.getParameter("pId"); sql.append("SELECT COUNT(ID) FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId "); - - + + Map paramMap = new HashMap(); //paramMap.put("partnerId", partnerId); paramMap.put("thirdCateId", thirdCateId); @@ -689,10 +674,10 @@ paramMap.put("pid", pId); } else { sql.append(" AND LV=1 AND (PID IS NULL OR PID ='' OR PID =0) "); - + } - - + + return baseDao.queryForInteger(sql.toString(), paramMap); } @@ -703,8 +688,8 @@ String thirdCateId = request.getParameter("thirdCate"); String pId = request.getParameter("pId"); sql.append("SELECT SORT_ID,NAME,ID,PID,LV,STATE FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId "); - - + + Map paramMap = new HashMap(); //paramMap.put("partnerId", partnerId); paramMap.put("thirdCateId", thirdCateId); @@ -713,13 +698,13 @@ paramMap.put("pid", pId); } else { sql.append(" AND LV=1 AND (PID IS NULL OR PID ='' OR PID =0) "); - + } - + sql.append(" ORDER BY SORT_ID "); - + return baseDao.queryforSplitPageInfo(request, sql.toString(), paramMap); - + } /** @@ -731,7 +716,7 @@ return baseDao.queryForInteger(selectSql,new SqlParameter("pid",configId)); } - + @Override public boolean saveProjectDsl(HttpServletRequest request) { @@ -742,25 +727,25 @@ String id = StringUtil.getUUID(); String projectId = request.getParameter("projectId"); String order_num = request.getParameter("order_num"); - + String[] cates = dslCateId.split("-"); String dsl_first_category_id = cates[0]; String dsl_second_category_id = cates[1]; String dsl_third_category_id = cates[2]; - - + + String searchcode = sequenceService.getDslCategorySequence(dsl_third_category_id); sequenceService.nextCICategorySequence(dsl_third_category_id); - + String[] cateNames = dslCateName.split("-"); String dsl_first_category_name = cateNames[0]; String dsl_second_category_name = cateNames[1]; String dsl_third_category_name = cateNames[2]; - - + + String insertSql = "INSERT INTO PROJECT_DSL(ID,DSL_NAME,DSL_FIRST_CATEGORY_ID,DSL_FIRST_CATEGORY_NAME,DSL_SECOND_CATEGORY_ID,DSL_SECOND_CATEGORY_NAME,DSL_THIRD_CATEGORY_ID,DSL_THIRD_CATEGORY_NAME,NOTE,DSL_SEARCHCODE,STATE,PROJECT_ID,PARTNER_ID,ADD_TIME,ORDER_NUM)" + "VALUES (:id,:dsl_name,:dsl_first_category_id,:dsl_first_category_name,:dsl_second_category_id,:dsl_second_category_name,:dsl_third_category_id,:dsl_third_category_name,:note,:dsl_searchcode,1,:project_id,:partner_id,:add_time,:order_num)"; - + Map paramMap = new HashMap(); paramMap.put("id", id); paramMap.put("dsl_name", dsl_name); @@ -776,9 +761,9 @@ //paramMap.put("partner_id", WebUtil.getLoginedPartnerId(request)); paramMap.put("add_time", DateUtil.getCurrentDate14()); paramMap.put("order_num", order_num); - + baseDao.execute(insertSql, paramMap); - + return true; } @@ -805,24 +790,24 @@ String note = request.getParameter("note"); String id = request.getParameter("id"); String order_num = request.getParameter("order_num"); - + String[] cates = dslCateId.split("-"); String dsl_first_category_id = cates[0]; String dsl_second_category_id = cates[1]; String dsl_third_category_id = cates[2]; - - + + String searchcode = sequenceService.getDslCategorySequence(dsl_third_category_id); - - + + String[] cateNames = dslCateName.split("-"); String dsl_first_category_name = cateNames[0]; String dsl_second_category_name = cateNames[1]; String dsl_third_category_name = cateNames[2]; - + String updateSql = "UPDATE PROJECT_DSL SET DSL_NAME = :dsl_name,DSL_FIRST_CATEGORY_ID = :dsl_first_category_id,DSL_FIRST_CATEGORY_NAME = :dsl_first_category_name," + "DSL_SECOND_CATEGORY_ID = :dsl_second_category_id,DSL_SECOND_CATEGORY_NAME = :dsl_second_category_name,DSL_THIRD_CATEGORY_ID = :dsl_third_category_id,DSL_THIRD_CATEGORY_NAME = :dsl_third_category_name,NOTE = :note,ORDER_NUM = :order_num WHERE ID = :id "; - + Map paramMap = new HashMap(); paramMap.put("id", id); paramMap.put("dsl_name", dsl_name); @@ -834,12 +819,12 @@ paramMap.put("dsl_third_category_name", dsl_third_category_name); paramMap.put("note", note); paramMap.put("order_num", order_num); - + baseDao.execute(updateSql, paramMap); return true; } - + @Override public String updateDslState(HttpServletRequest request) { String id = request.getParameter("id"); @@ -860,17 +845,17 @@ //paramMap.put("partnerId", partnerId); List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); - + for (Map map : cates) { String level = map.get("LEVEL").toString(); String id = map.get("ID").toString(); - + //涓�绾ф爲 if (level.equalsIgnoreCase("1")) { yjgnCache.put(id, map); @@ -887,7 +872,7 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(id, map); } continue; @@ -921,8 +906,8 @@ } else { builder.append(" AND C.LEVEL = 1 "); } - - + + int count = baseDao.queryForInteger(builder.toString(),paramMap); return count; } @@ -940,11 +925,11 @@ } else { builder.append(" AND C.LEVEL = 1 "); } - + builder.append(" ORDER BY STATE,ORDER_NUM "); - + PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - + return pageInfo; } @@ -953,7 +938,7 @@ String partner_id = ""; String id = dsl_category.getId(); String categoryid = request.getParameter("pId"); - + String firstCate = ""; String secondCate = ""; if(!StringUtil.notEmpty(id)) { @@ -962,27 +947,27 @@ int level = ConvertUtil.obj2Integer(pCate.getLevel()); dsl_category.setP_id(categoryid); dsl_category.setLevel(level+1); - + if(level==2) { firstCate = pCate.getP_id(); secondCate = pCate.getId(); } else { firstCate = pCate.getId(); } - + } else { dsl_category.setP_id(null); dsl_category.setLevel(1); } - - - + + + dsl_category.setState(Constants.COMMON_STATE_ENABLE);//鎵�鏈夎妭鐐规坊鍔犳椂 dsl_category.setPartner_id(partner_id); } - + dsl_category.insertOrUpdate(); - + Map result = new HashMap(); result.put("firstCate", firstCate); result.put("secondCate", secondCate); @@ -990,20 +975,20 @@ } - + @Override public List<Map> getConfigDslList(String configId) { - SqlParameter param = new SqlParameter(); + SqlParameter param = new SqlParameter(); param.addValue("configId", configId); String sql = " SELECT L.NEW_VERSION_ID,L.STATE FLAG,V.UPDATE_TIME,CONCAT(D.DSL_FIRST_CATEGORY_NAME,'-',D.DSL_SECOND_CATEGORY_NAME,'-',D.DSL_THIRD_CATEGORY_NAME) CATE_NAME,D.ID DSL_ID,V.ID VER_ID,L.ID LINK_ID,D.DSL_SEARCHCODE,D.DSL_NAME,V.EDITION " + " FROM CMDB_DSL_LINK L ,DSL_VERSION V , PROJECT_DSL D " + " WHERE L.DSL_ID = D.ID AND L.NEW_VERSION_ID = V.ID AND L.CI_ID = :configId AND (L.STATE IS NULL OR L.STATE = 1 OR L.STATE = 2 )"; return baseDao.queryForList(sql,param); } - - - + + + @Override public void addDslByConfig(PROJECT_DSL proDsl,String configId){ proDsl.setState(3); @@ -1020,8 +1005,8 @@ baseDao.execute(sql, param); } } - - + + @Override public void addDslVersionByOrder(DSL_VERSION dslVersion){ String id = StringUtil.getUUID(); @@ -1047,21 +1032,21 @@ .addValue("update_time", dslVersion.getCreate_time()); baseDao.execute("delete from DSL_ORDER_LINK where FLOW_ID=:flowId and DSL_ID = :dslId ", param); sql = " insert into DSL_ORDER_LINK (ID,FLOW_ID,DSL_ID,DSL_VERSION_ID) values (:id,:flowId,:dslId,:versionId) "; - + if(oldversion != null){ if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(oldversion.get("VER_ID")))){ //澶嶅埗鏈�鏂扮増鏈殑閰嶇疆淇℃伅 saveDslConfig(ConvertUtil.obj2StrBlank(oldversion.get("VER_ID")),id); } - + } baseDao.execute(sql, param); //dsl鍏宠仈閰嶇疆榛樿涓烘渶鏂扮増鏈� baseDao.execute("UPDATE CMDB_DSL_LINK SET STATE = 2,NEW_VERSION_ID = :versionId , FLOW_ID = :flowId,DEALER_ID = :dealer_id,DEALER_NAME = :dealer_name,UPDATE_TIME = :update_time WHERE DSL_ID = :dslId ", param); - + } - - + + @Override public int selectByCode(String code, String id,String partnerId,String pId) { StringBuffer sql=new StringBuffer("select count(*) from DSL_CATEGORY where CATE_CODE= :code AND PARTNER_ID =:partner_id AND P_ID =:p_id "); @@ -1091,31 +1076,31 @@ int count=baseDao.queryForInteger(sql.toString(),param); return count; } - + @Override public FacedeResponse execDisableDslCategory(String id, String partnerId) { FacedeResponse res = new FacedeResponse(); - + //鑾峰彇璇ュ垎绫讳笅鐨勬墍鏈夊瓙绫� List<Map> list = this.getAllChildList(id); Map map = new HashMap(); map.put("ID", id); list.add(map); - + //鍏堝垹闄ゅ師鏉ョ殑鍒嗙被 String sql = "UPDATE DSL_CATEGORY SET STATE = 2 WHERE ID=:id AND PARTNER_ID=:partner_id "; List<SqlParameter> paramList = new ArrayList<SqlParameter>(); - + if (list != null && list.size() > 0) { for (Map map2 : list) { String categoryId = ConvertUtil.obj2Str(map2.get("ID")); SqlParameter param = new SqlParameter(); param.addValue("id", categoryId); param.addValue("partner_id", partnerId); - + paramList.add(param); } - + baseDao.executeBatch(sql, paramList); } return res; @@ -1124,34 +1109,34 @@ @Override public FacedeResponse execEnableDslCategory(String id, String partnerId) { FacedeResponse res = new FacedeResponse(); - + //鑾峰彇璇ュ垎绫荤殑鐖剁被 List<Map> pList = this.getAllParentList(id, new ArrayList<Map>()); - + //鑾峰彇璇ュ垎绫讳笅鐨勬墍鏈夊瓙绫� List<Map> list = this.getAllChildList(id); Map map = new HashMap(); map.put("ID", id); list.add(map); - + //鍚堝苟鐖剁被鍜屽瓙绫诲垪琛� list.addAll(pList); - + //淇敼DSL鍒嗙被鐘舵�� this.saveDslCategory(list, partnerId); - + return res; } - + /** * 淇濆瓨鍔犵洘鍟咲SL鍒嗙被 * @param categoryIdList * @param partnerId */ private void saveDslCategory(List<Map> categoryIdList, String partnerId) { - + List<SqlParameter> paramList = new ArrayList<SqlParameter>(); - + if (categoryIdList != null && categoryIdList.size() > 0) { for (Map map : categoryIdList) { String categoryId = ConvertUtil.obj2Str(map.get("ID")); @@ -1160,12 +1145,12 @@ param.addValue("partner_id", partnerId); paramList.add(param); } - + String sql = "UPDATE DSL_CATEGORY SET STATE = 1 WHERE ID = :id AND PARTNER_ID=:partner_id "; baseDao.executeBatch(sql, paramList); } } - + /** * 閫掑綊锛岃幏鍙栧垎绫讳笅鐨勬墍鏈夊瓙绫伙紝涓�鐩村埌涓夌骇鍒嗙被 * @param pid @@ -1173,7 +1158,7 @@ */ private List<Map> getAllChildList(String pid) { String sql = "select ID,LEVEL from DSL_CATEGORY where STATE=1 and P_ID=:pid "; - + List<Map> list = baseDao.queryForList(sql, new SqlParameter("pid", pid)); if (list != null && list.size() > 0) { for (int i=0 ;i<list.size();i++) { @@ -1186,10 +1171,10 @@ } } } - + return list; } - + /** * 閫掑綊锛岃幏鍙栧綋鍓嶅瓙绫荤殑鎵�鏈夌埗绾у垎绫� * @param id @@ -1198,7 +1183,7 @@ private List<Map> getAllParentList(String id, List<Map> tList) { String sql = "select c.ID,c.LEVEL from DSL_CATEGORY c where c.STATE=1 and c.ID=(select P_ID from DSL_CATEGORY c2 where c2.STATE=1 and c2.ID=:id) "; Map map = baseDao.queryForMap(sql, new SqlParameter("id", id)); - + if (map != null && map.size() > 0) { tList.add(map); String cid = ConvertUtil.obj2Str(map.get("ID")); @@ -1210,7 +1195,7 @@ } return tList; } - + @Override public int selectByconfigName(String name, String id,String partnerId,String pId,String thirdCate) { StringBuffer sql=new StringBuffer("select count(*) from DSL_CONFIG where NAME= :name AND PARTNER_ID =:partner_id AND PID =:p_id AND THIRD_CATEGORY_ID = :thirdCate "); @@ -1230,27 +1215,27 @@ @Override public FacedeResponse execDisableDslconfigCate(String id, String partnerId) { FacedeResponse res = new FacedeResponse(); - + //鑾峰彇璇ュ垎绫讳笅鐨勬墍鏈夊瓙绫� List<Map> list = this.getAllChildconfigList(id); Map map = new HashMap(); map.put("ID", id); list.add(map); - + //鍏堝垹闄ゅ師鏉ョ殑鍒嗙被 String sql = "UPDATE DSL_CONFIG SET STATE = 2 WHERE ID=:id AND PARTNER_ID=:partner_id "; List<SqlParameter> paramList = new ArrayList<SqlParameter>(); - + if (list != null && list.size() > 0) { for (Map map2 : list) { String categoryId = ConvertUtil.obj2Str(map2.get("ID")); SqlParameter param = new SqlParameter(); param.addValue("id", categoryId); param.addValue("partner_id", partnerId); - + paramList.add(param); } - + baseDao.executeBatch(sql, paramList); } return res; @@ -1259,22 +1244,22 @@ @Override public FacedeResponse execEnableDslconfigCate(String id, String partnerId) { FacedeResponse res = new FacedeResponse(); - + //鑾峰彇璇ュ垎绫荤殑鐖剁被 List<Map> pList = this.getAllParentconfigList(id, new ArrayList<Map>()); - + //鑾峰彇璇ュ垎绫讳笅鐨勬墍鏈夊瓙绫� List<Map> list = this.getAllChildconfigList(id); Map map = new HashMap(); map.put("ID", id); list.add(map); - + //鍚堝苟鐖剁被鍜屽瓙绫诲垪琛� list.addAll(pList); - + //淇敼DSL鍒嗙被鐘舵�� this.saveDslconfigCate(list, partnerId); - + return res; } /** @@ -1283,9 +1268,9 @@ * @param partnerId */ private void saveDslconfigCate(List<Map> categoryIdList, String partnerId) { - + List<SqlParameter> paramList = new ArrayList<SqlParameter>(); - + if (categoryIdList != null && categoryIdList.size() > 0) { for (Map map : categoryIdList) { String categoryId = ConvertUtil.obj2Str(map.get("ID")); @@ -1294,12 +1279,12 @@ param.addValue("partner_id", partnerId); paramList.add(param); } - + String sql = "UPDATE DSL_CONFIG SET STATE = 1 WHERE ID = :id AND PARTNER_ID=:partner_id "; baseDao.executeBatch(sql, paramList); } } - + /** * 閫掑綊锛岃幏鍙栧垎绫讳笅鐨勬墍鏈夊瓙绫伙紝涓�鐩村埌涓夌骇鍒嗙被 * @param pid @@ -1307,7 +1292,7 @@ */ private List<Map> getAllChildconfigList(String pid) { String sql = "select ID,LV from DSL_CONFIG where STATE=1 and PID=:pid "; - + List<Map> list = baseDao.queryForList(sql, new SqlParameter("pid", pid)); if (list != null && list.size() > 0) { for (int i=0 ;i<list.size();i++) { @@ -1320,10 +1305,10 @@ } } } - + return list; } - + /** * 閫掑綊锛岃幏鍙栧綋鍓嶅瓙绫荤殑鎵�鏈夌埗绾у垎绫� * @param id @@ -1332,7 +1317,7 @@ private List<Map> getAllParentconfigList(String id, List<Map> tList) { String sql = "select c.ID,c.LV from DSL_CONFIG c where c.STATE=1 and c.ID=(select PID from DSL_CATEGORY c2 where c2.STATE=1 and c2.ID=:id) "; Map map = baseDao.queryForMap(sql, new SqlParameter("id", id)); - + if (map != null && map.size() > 0) { tList.add(map); String cid = ConvertUtil.obj2Str(map.get("ID")); @@ -1351,21 +1336,21 @@ Map paramMap = new HashMap(); //String partnerId = WebUtil.getLoginedPartnerId(request); String selectSubSql = "SELECT * FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId AND STATE = 1 ORDER BY LV,SORT_ID "; - + //paramMap.put("partnerId", partnerId); paramMap.put("thirdCateId", id); - + List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); - + for (Map map : cates) { String level = map.get("LV").toString(); String configId = map.get("ID").toString(); - + //涓�绾ф爲 if (level.equalsIgnoreCase("1")) { yjgnCache.put(configId, map); @@ -1400,9 +1385,9 @@ @Override public int queryDslVersionCount(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A WHERE A.DSL_ID = :dslId AND A.STATE <> 3 "); - + String dslId = request.getParameter("dslId"); - + Map paramMap = new HashMap(); paramMap.put("dslId", dslId); int count = baseDao.queryForInteger(builder.toString(), paramMap); @@ -1412,13 +1397,13 @@ @Override public PageInfo queryDslVersionData(HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID WHERE A.DSL_ID = :dslId AND A.STATE <> 3 ORDER BY A.CREATE_TIME DESC "); - + String dslId = request.getParameter("dslId"); - + Map paramMap = new HashMap(); paramMap.put("dslId", dslId); PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - + return pageInfo; } @@ -1430,13 +1415,13 @@ long update_time = DateUtil.getCurrentDate14(); long create_time = update_time; String dealer_user_id = WebUtil.getLoginedUserId(request); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String dealer_user_name = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - - + + String id = StringUtil.getUUID(); - + Map paramMap = new HashMap(); paramMap.put("id", id); paramMap.put("dsl_id", dsl_id); @@ -1446,30 +1431,30 @@ paramMap.put("create_time", create_time); paramMap.put("update_time", update_time); paramMap.put("note", note); - + String insertSql = "INSERT INTO DSL_VERSION(ID,DSL_ID,EDITION,STATE,UPDATE_TIME,DEALER_USER_ID,DEALER_USER_NAME,CREATE_TIME,NOTE,LAST_VERSION) VALUES (:id,:dsl_id,:edition,1,:update_time,:dealer_user_id,:dealer_user_name,:create_time,:note,:lastVersion)"; - - + + //鏌ヨ褰撳墠鏈�鏂扮殑鐗堟湰淇℃伅 Map newestVersion = queryDslNewestVersionById(dsl_id); String oldVersion = new String(); - + if(null!=newestVersion && newestVersion.size()>0) { oldVersion = ConvertUtil.obj2StrBlank(newestVersion.get("VER_ID")); } - + paramMap.put("lastVersion", oldVersion); - + baseDao.execute(insertSql, paramMap); - + if(StringUtil.notEmpty(oldVersion)) { //澶嶅埗鐗堟湰淇℃伅 saveDslConfig(oldVersion, id); } - - - - + + + + return true; } @@ -1485,7 +1470,7 @@ return "1"; } - + @Override public Map versionMore(String id) { String selectSql = "SELECT A.*,B.DSL_NAME,B.DSL_FIRST_CATEGORY_NAME,B.DSL_SECOND_CATEGORY_NAME,B.DSL_THIRD_CATEGORY_NAME FROM DSL_VERSION A,PROJECT_DSL B WHERE A.DSL_ID = B.ID AND A.ID = :id "; @@ -1495,7 +1480,7 @@ @Override public Map queryDslNewestVersionById(String dslId) { - String selectSql = "SELECT A.*,C.EDITION,C.VER_ID,C.UPDATE_TIME FROM PROJECT_DSL A LEFT JOIN (SELECT B.DSL_ID,B.EDITION,B.ID AS VER_ID,B.UPDATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.DSL_ID = :dslId ORDER BY B.CREATE_TIME DESC LIMIT 0,1 ) C ON A.ID = C.DSL_ID WHERE A.ID = :dslId "; + String selectSql = "SELECT A.*,C.EDITION,C.VER_ID,C.UPDATE_TIME FROM PROJECT_DSL A LEFT JOIN (SELECT B.DSL_ID,B.EDITION,B.ID AS VER_ID,B.UPDATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.DSL_ID = :dslId ORDER BY B.CREATE_TIME DESC LIMIT 0,1 ) C ON A.ID = C.DSL_ID WHERE A.ID = :dslId "; Map newestVersion = baseDao.queryForMap(selectSql,new SqlParameter("dslId",dslId)); return newestVersion; } @@ -1515,7 +1500,7 @@ return "0"; } - + @Override public List queryDslConfigFolder(String partnerId,String cateId) { Map paramMap = new HashMap(); @@ -1524,15 +1509,15 @@ paramMap.put("cateId", cateId); List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); - + for (Map map : cates) { String level = map.get("LV").toString(); String id = map.get("ID").toString(); - + //涓�绾ф爲 if (level.equalsIgnoreCase("1")) { yjgnCache.put(id, map); @@ -1564,9 +1549,9 @@ builder.append(" AND DSL_SECOND_CATE = :folderId "); paramMap.put("folderId", folderId); } - + int count = baseDao.queryForInteger(builder.toString(),paramMap); - + return count; } @@ -1579,18 +1564,18 @@ builder.append(" AND DSL_SECOND_CATE = :folderId "); paramMap.put("folderId", folderId); } - + builder.append(" ORDER BY CREATE_TIME DESC "); - + PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); - + List<Map> files = pageInfo.getDatas(); if(null!=files && files.size()>0) { for(Map file : files) { file.put("FILE_SIZE", StringUtil.getFileSize(ConvertUtil.obj2Double(file.get("FILE_SIZE")))); } } - + return pageInfo; } @@ -1601,7 +1586,7 @@ String updateSql = "UPDATE DSL_CONFIG_FILE SET DEL_FLAG = 2 WHERE ID = :fileId "; baseDao.execute(updateSql, new SqlParameter("fileId",fileId)); DSL_CONFIG_FILE file = new DSL_CONFIG_FILE(fileId).getInstanceById(); - + //娣诲姞鍒犻櫎鏂囦欢璁板綍 DSL_VERSION version = new DSL_VERSION(file.getVersion_id()).getInstanceById(); String saverecordSql = "INSERT INTO DSL_CONFIG_FILE_CHANGE_DETAIL(ID,FIRST_CONFIG_CATE,SECOND_CONFIG_CATE,DSL_VERSION_ID,FILE_ID,DEAL_TYPE,FLOW_ID,CREATE_TIME,USER_ID,USER_NAME) VALUES(:id,:first_config_cate,:folderId,:versionId,:file_id,:deal_type,:flow_id,:createTime,:userId,:userName)"; @@ -1620,8 +1605,8 @@ return true; } - - + + @Override public void addConfigLinkDsl(String configId, String dslIds, String verIds, String delFlags, String flowId, String userId, String userName) { List<SqlParameter> addParams = new ArrayList<SqlParameter>(); @@ -1661,16 +1646,16 @@ sql = " UPDATE CMDB_DSL_LINK SET STATE = NULL,DEALER_ID=NULL,DEALER_NAME=NULL,UPDATE_TIME=NULL,FLOW_ID=NULL WHERE CI_ID=:configId AND DSL_ID =:dslId AND STATE=3 "; baseDao.executeBatch(sql, updateParams); } - + } - - + + private Map getSelConfigDslSupport(HttpServletRequest request) { Map support = new HashMap(); SqlParameter param = new SqlParameter(); StringBuilder builder = new StringBuilder(); - + builder.append(" SELECT * FROM ( "); builder.append(" SELECT 0 AS DEL_FLAG,D.STATE,D.DSL_THIRD_CATEGORY_ID,V.UPDATE_TIME,CONCAT(D.DSL_FIRST_CATEGORY_NAME,'-',D.DSL_SECOND_CATEGORY_NAME,'-',D.DSL_THIRD_CATEGORY_NAME) CATE_NAME,D.ID DSL_ID,V.ID VER_ID,D.DSL_SEARCHCODE,D.DSL_NAME,V.EDITION "); builder.append(" FROM PROJECT_DSL D ,DSL_VERSION V "); @@ -1683,22 +1668,22 @@ builder.append(" FROM CMDB_DSL_LINK L,PROJECT_DSL D,DSL_VERSION V "); builder.append(" WHERE L.DSL_ID = D.ID AND L.DSL_VERSION_ID = V.ID AND L.STATE=3 AND L.CI_ID = :configId ORDER BY UPDATE_TIME DESC "); builder.append(" ) T WHERE 1=1 "); - + String proId = request.getParameter("proId"); if(StringUtil.notEmpty(proId)) { param.put("proId", proId); } - + String configId = request.getParameter("configId"); if(StringUtil.notEmpty(configId)) { param.put("configId", configId); } - + String flowId = request.getParameter("flowId"); if(StringUtil.notEmpty(flowId)) { param.put("flowId", flowId); } - + String dslName = request.getParameter("dslName"); if(StringUtil.notEmpty(dslName)) { builder.append(" AND DSL_NAME LIKE :dslName "); @@ -1714,27 +1699,27 @@ builder.append(" AND DSL_SEARCHCODE like :dslSearchCode "); param.put("dslSearchCode", "%"+dslSearchCode+"%"); } - + String dslIds = request.getParameter("dslIds"); if(StringUtil.notEmpty(dslIds)) { dslIds = "'" + dslIds.replace(",", "','") + "'"; builder.append(" AND DSL_ID NOT IN ("+dslIds+") "); } builder.append(" GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "); - + support.put("sql", builder.toString()); support.put("param", param); return support; } - - + + @Override public Map getDslMsgById(String id,HttpServletRequest request) { StringBuilder builder = new StringBuilder("SELECT c.*,A.EDITION,A.CREATE_TIME,A.VERSIONID FROM PROJECT_DSL c LEFT JOIN (SELECT MAX(B.CREATE_TIME),B.ID AS VERSIONID,B.DSL_ID,B.EDITION,B.CREATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.ID = :id ) A ON c.ID = A.DSL_ID WHERE c.STATE <> 3 "); // String partnerId = WebUtil.getLoginedPartnerId(request); - + Map paramMap = new HashMap(); paramMap.put("id", id); //paramMap.put("partnerId", partnerId); @@ -1766,9 +1751,9 @@ PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, sql, param); return pageInfo; } - - - + + + @Override public int getSelConfigDslListCount(HttpServletRequest request) { Map support = getSelConfigDslSupport(request); @@ -1794,10 +1779,10 @@ .addValue("curDate", curDate) .addValue("flowId", flowId); baseDao.execute(sql, param); - + } - + @Override @@ -1850,11 +1835,11 @@ sqlParameter.put("VERSION_ID", newVersion); paramList.add(sqlParameter); } - + String insertSql = "INSERT INTO DSL_CONFIG_FILE(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,VERSION_ID,ORDERNUM,FILE_NOTE,DSL_FIRST_CATE,DSL_SECOND_CATE,CREATE_TIME,USER_ID,USER_NAME,DEL_FLAG) VALUES (:ID,:FILE_NAME,:FILE_PATH,:FILE_SIZE,:FILE_FORMAT,:VERSION_ID,:ORDERNUM,:FILE_NOTE,:DSL_FIRST_CATE,:DSL_SECOND_CATE,:CREATE_TIME,:USER_ID,:USER_NAME,:DEL_FLAG)"; baseDao.executeBatch(insertSql,paramList); } - + } @Override @@ -1911,5 +1896,5 @@ return info; } - + } diff --git a/src/cn/ksource/web/facade/fileManage/DocFacadeImpl.java b/src/cn/ksource/web/facade/fileManage/DocFacadeImpl.java index 4013ced..8495826 100644 --- a/src/cn/ksource/web/facade/fileManage/DocFacadeImpl.java +++ b/src/cn/ksource/web/facade/fileManage/DocFacadeImpl.java @@ -1,16 +1,5 @@ package cn.ksource.web.facade.fileManage; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; @@ -19,14 +8,22 @@ import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.TreeNode; import cn.ksource.web.Constants; -import cn.ksource.web.service.file.FileService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Service("docFacade") @SuppressWarnings("unchecked") public class DocFacadeImpl implements DocFacade { - @Autowired + @Autowired BaseDao baseDao; - + @Override public List queryMyfileList(HttpServletRequest request) { StringBuilder sql=new StringBuilder("SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,0 AS FILE_SIZE,0 AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE FROM GG_FOLDERS A" + @@ -49,15 +46,15 @@ @Override public int queryfileCount(Map<String,String> params) { - StringBuilder sql=new StringBuilder("SELECT COUNT(C.ID) FROM(SELECT ID,FOLDER_NAME AS NAME FROM GG_FOLDERS A WHERE 1=1"); + StringBuilder sql=new StringBuilder("SELECT COUNT(C.ID) FROM(SELECT ID FROM GG_FOLDERS A WHERE 1=1"); String pId=params.get("pId"); if(StringUtil.isEmpty(pId)){ sql.append(" AND A.P_ID IS NULL"); }else{ sql.append(" AND A.P_ID=:pId"); } - sql.append(" UNION SELECT ID,FILE_NAME AS NAME FROM GG_FILES B WHERE B.DEL_FLAG=1 AND B.AUDIT_STATE="+Constants.FILE_STATE_SHTG); - + sql.append(" UNION SELECT ID FROM GG_FILES B WHERE B.DEL_FLAG=1 AND B.AUDIT_STATE="+Constants.FILE_STATE_SHTG); + if(StringUtil.isEmpty(pId)){ sql.append(" AND(B.FOLDER_ID IS NULL OR B.FOLDER_ID = '0' )"); }else{ @@ -74,8 +71,8 @@ @Override public PageInfo queryfileData(PageInfo pageInfo, Map<String,String> params) { - StringBuilder sql=new StringBuilder("SELECT * FROM (SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,0 AS FILE_SIZE,0 AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE,TYPE,0 AS BUSINESSTYPE,0 AS ORDER_CODE,0 AS FLOWID,0 AS BUSINESS_ID FROM GG_FOLDERS A WHERE 1=1"); - + StringBuilder sql=new StringBuilder("SELECT * FROM (SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,'0' AS FILE_SIZE,'0' AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE,TYPE,0 AS BUSINESSTYPE,'0' AS ORDER_CODE,'0' AS FLOWID,'0' AS BUSINESS_ID FROM GG_FOLDERS A WHERE 1=1"); + String pId=params.get("pId"); if(StringUtil.isEmpty(pId)){ sql.append(" AND A.P_ID IS NULL"); @@ -103,7 +100,7 @@ }else { sql.append(" ORDER BY C.TYPE ASC,C.FILE_TYPE "); } - + } else if(!StringUtil.isEmpty(orderType)&&"2".equals(orderType)){ if("1".equals(orderWay)){ @@ -111,7 +108,7 @@ }else { sql.append(" ORDER BY CAST(C.FILE_SIZE as SIGNED) "); } - + } else if(!StringUtil.isEmpty(orderType)&&"3".equals(orderType)){ if("1".equals(orderWay)){ @@ -119,12 +116,12 @@ }else { sql.append(" ORDER BY C.CREATE_TIME "); } - + } else{ sql.append(" ORDER BY C.TYPE ASC,C.FILE_TYPE,C.FILE_FORMAT,C.CREATE_TIME DESC"); } - + PageInfo info=baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); List<Map> list= info.getDatas(); for(Map map :list){ @@ -187,7 +184,7 @@ sqlBuilder.append("UPDATE GG_FILES SET FILE_NAME =:newName WHERE ID=:id"); } baseDao.execute(sqlBuilder.toString(), params); - + } @Override @@ -214,7 +211,7 @@ paramMap.put("pid", pid); } sql.append(" ORDER BY CREATE_TIME"); - + List<Map> categoryList = baseDao.queryForList(sql.toString(), paramMap); for (Map map : categoryList) { TreeNode yjTree = new TreeNode(map.get("ID").toString(),map.get("FOLDER_NAME").toString()); @@ -255,7 +252,7 @@ paramMap.put("businessId", businessId); paramMap.put("createTime", DateUtil.getCurrentDate14()); baseDao.execute(saveSql, paramMap); - + } @Override @@ -279,8 +276,8 @@ break; } } - - + + return list; } @@ -317,7 +314,7 @@ }else { sqlBuilder.append(" ORDER BY A.ORDERNUM "); } - + } else if(!StringUtil.isEmpty(orderType)&&"2".equals(orderType)){ if("1".equals(orderWay)){ @@ -325,7 +322,7 @@ }else { sqlBuilder.append(" ORDER BY CAST(A.FILE_SIZE as SIGNED) "); } - + } else if(!StringUtil.isEmpty(orderType)&&"3".equals(orderType)){ if("1".equals(orderWay)){ @@ -333,7 +330,7 @@ }else { sqlBuilder.append(" ORDER BY A.CREATE_TIME "); } - + } else{ sqlBuilder.append(" ORDER BY A.CREATE_TIME DESC"); @@ -420,7 +417,7 @@ map.put("FOLDER_NAME", f_name); } } - + return map; } @@ -503,6 +500,6 @@ public void docheckFile(Map<String, String> params) { String sql="UPDATE GG_FILES SET AUDIT_STATE=:flag WHERE ID=:id"; baseDao.execute(sql, params); - + } } diff --git a/src/cn/ksource/web/facade/health/HealthFacadeImpl.java b/src/cn/ksource/web/facade/health/HealthFacadeImpl.java index f8fa312..17f0054 100644 --- a/src/cn/ksource/web/facade/health/HealthFacadeImpl.java +++ b/src/cn/ksource/web/facade/health/HealthFacadeImpl.java @@ -1,27 +1,12 @@ package cn.ksource.web.facade.health; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Service; - import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; import cn.ksource.beans.SC_WORKFLOW_CI_HEALTH; 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.ConvertUtil; -import cn.ksource.core.util.DateUtil; -import cn.ksource.core.util.JsonUtil; -import cn.ksource.core.util.StringUtil; -import cn.ksource.core.util.TreeUtil; +import cn.ksource.core.util.*; import cn.ksource.core.web.ClientUtil; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; @@ -31,6 +16,11 @@ import cn.ksource.web.service.file.FileService; import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; import cn.ksource.web.util.DateParepareUtil; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.*; @Service @SuppressWarnings("unchecked") @@ -771,7 +761,7 @@ builder.append("and FLOWSTATE =:nodeState "); } builder.append(" order by FLOWSTATE asc "); - builder.append(" ) t group by FLOWID "); + builder.append(" ) t group by FLOWID,NODETIME,NODEID,NODESTATE "); builder.append(" ) n "); builder.append(" on b.ID = n.FLOWID "); //宸ュ崟绫诲瀷 diff --git a/src/cn/ksource/web/facade/incident/IncidentFacadeImpl.java b/src/cn/ksource/web/facade/incident/IncidentFacadeImpl.java index 7c04073..5a8d902 100644 --- a/src/cn/ksource/web/facade/incident/IncidentFacadeImpl.java +++ b/src/cn/ksource/web/facade/incident/IncidentFacadeImpl.java @@ -884,7 +884,7 @@ } @Override public Map queryContactNameInfo(Map param) { - + String selectSql = "SELECT CONTACT_NAME,YWKS,SUB_CUSTOMER_ID,SUB_CUSTOMER_NAME,CONTACTS_TYPE FROM CUSTOMER_CONTACTS WHERE CONTACT_NAME = :contactName AND CUSTOMER_ID = :customer_id "; Map map = baseDao.queryForMap(selectSql,param); @@ -1762,30 +1762,30 @@ String flowstate = params.get("flowstate"); if (StringUtil.notEmpty(flowstate)) { if (flowstate.equals("1")) { - builder.append(" SELECT DISTINCT D.* FROM ( "); + builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); + builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); builder.append(")D"); builder.append(" WHERE 1=1 "); params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); } else if (flowstate.equals("2")) { - builder.append(" SELECT DISTINCT D.* FROM ( "); - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); + builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); + builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); builder.append(")D"); builder.append(" WHERE 1=1 "); params.put("jdjxz", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_DOING)); } else { - builder.append(" SELECT DISTINCT D.* FROM ( "); - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); + builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); + builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); builder.append(")D"); builder.append(" WHERE 1=1 "); params.put("jdywc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_FINISH)); } } else { - builder.append(" SELECT DISTINCT D.* FROM ( "); + builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); + builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); builder.append(")D"); builder.append(" WHERE D.WFSTATE != :ysc "); } @@ -2339,7 +2339,7 @@ public int queryincidentEndCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = :type "); sqlpart = getEndSql(sqlpart, params); sql.append(sqlpart); @@ -2353,7 +2353,8 @@ public PageInfo queryincidentEndList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); +// sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); + sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME ,"); sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB, WORKFLOW_NODE C ,SC_WORKFLOW_INCIDENT B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); @@ -2362,7 +2363,7 @@ sqlpart = getEndSql(sqlpart, params); sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME , D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -2479,7 +2480,7 @@ public int queryincidentJxzCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); sqlpart = getJxzSql(sqlpart, params); sql.append(sqlpart); @@ -2493,14 +2494,14 @@ public PageInfo queryincidentJxzList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.* ,B.STATE ,B.NAME "); + sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID ,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); sqlpart = getJxzSql(sqlpart, params); sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID ,B.STATE ,B.NAME ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -2717,15 +2718,15 @@ StringBuffer sql = new StringBuffer(); Map paramMap = new HashMap(); - selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); - sql.append("SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); + selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID, A.STATE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); String customer_Id = request.getParameter("customerId"); if (!StringUtil.isEmpty(customer_Id)) { selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); sql.append(" AND A.CUSTOMER_ID = :customer_Id "); paramMap.put("customer_Id", customer_Id); } - selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); + selectSql.append(" GROUP BY A.ID, A.STATE) D GROUP BY D.STATE "); sql.append(" GROUP BY A.ID) D "); List<Map> list = baseDao.queryForList(selectSql.toString(), paramMap); @@ -2773,7 +2774,7 @@ public int queryincidentOrderNodeCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); sqlpart = getOrderNodeSql(sqlpart, params); sql.append(sqlpart); @@ -2787,14 +2788,14 @@ public PageInfo queryincidentOrderNodeList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); + sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,"); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); sqlpart = getOrderNodeSql(sqlpart, params); sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID,WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -2915,7 +2916,7 @@ public int queryincidentTimeoutCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); sqlpart = getincidentTimeOutSql(sqlpart, params); @@ -2930,14 +2931,14 @@ public PageInfo queryincidentTimeoutList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.*,B.STATE ,B.NAME "); + sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); sqlpart = getincidentTimeOutSql(sqlpart, params); sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID,B.STATE ,B.NAME ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -3079,7 +3080,7 @@ paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); //鏌ヨ璇ヤ汉鍛樻墍灞炵殑椤圭洰 sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); - sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.* FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); + sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); @@ -3137,7 +3138,7 @@ public int querymyincidentEndCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); sqlpart.append(" AND WB.WFSTATE = :state "); @@ -3154,7 +3155,8 @@ public PageInfo querymyincidentEndList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); +// sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); + sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME ,WB.ENDTIME , "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME, "); sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB , WORKFLOW_NODE C ,SC_WORKFLOW_INCIDENT B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); @@ -3164,7 +3166,7 @@ sqlpart.append(" AND WB.WFSTATE = :state "); params.put("state", params.get("type")); sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID, B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME , WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME, D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -3303,8 +3305,8 @@ Map paramMap = new HashMap(); paramMap.put("flowstate", type); paramMap.put("userId", params.get("userId")); - selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); - sql.append("SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); + selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,A.STATE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); String customer_Id = params.get("customerId"); if (!StringUtil.isEmpty(customer_Id)) { @@ -3314,7 +3316,7 @@ } - selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); + selectSql.append(" GROUP BY A.ID,A.STATE) D GROUP BY D.STATE "); sql.append(" GROUP BY A.ID) D "); List<Map> list = baseDao.queryForList(selectSql.toString(), paramMap); @@ -3361,7 +3363,7 @@ public int querymyincidentOrderNodeCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); params.put("flowstate", params.get("type")); sqlpart = getmyodernodeSql(sqlpart, params); @@ -3376,7 +3378,7 @@ public PageInfo querymyincidentOrderNodeList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,C.FLOWSTATE, "); + sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,C.FLOWSTATE, "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); @@ -3386,7 +3388,7 @@ sqlpart = getmyodernodeSql(sqlpart, params); sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, C.FLOWSTATE, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -3511,7 +3513,7 @@ public int querymyincidentTimeoutCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND WB.CURRENT_DEALER_ID = :current_dealer_id "); params.put("current_dealer_id", params.get("userId")); @@ -3638,7 +3640,8 @@ public PageInfo querymyincidentTimeoutList(PageInfo pageInfo, Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); + sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, "); +// sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB WHERE WB.BUSINESS_ID = B.ID "); sqlpart.append(" AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND WB.CURRENT_DEALER_ID = :current_dealer_id "); @@ -3758,7 +3761,7 @@ } sql.append(sqlpart); - sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); + sql.append(" GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME,WB.CREATETIME ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } @@ -5498,12 +5501,12 @@ params.put("endTime", endDay + "600000"); if (StringUtil.isBlank(userId)) { builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_INCIDENT where CUSTOMER_ID = :cusId "); - builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); + builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); } else { builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_INCIDENT q "); builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); - builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); + builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); } List<Map> dataList = baseDao.queryForList(builder.toString(), params); @@ -5642,12 +5645,12 @@ StringBuilder builder = new StringBuilder(); if (StringUtil.isBlank(userId)) { builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT where CUSTOMER_ID = :cusId "); - builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); + builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); } else { builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT q,WORKFLOW_BASE b "); builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); - builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); + builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); } List<Map> dataList = baseDao.queryForList(builder.toString(), params); @@ -5784,9 +5787,9 @@ } } } - + return map; - + } @Override diff --git a/src/cn/ksource/web/facade/knowledge/KmLibraryFacadeImpl.java b/src/cn/ksource/web/facade/knowledge/KmLibraryFacadeImpl.java index 81ce094..87af250 100644 --- a/src/cn/ksource/web/facade/knowledge/KmLibraryFacadeImpl.java +++ b/src/cn/ksource/web/facade/knowledge/KmLibraryFacadeImpl.java @@ -1,53 +1,39 @@ package cn.ksource.web.facade.knowledge; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import cn.ksource.beans.GG_USER; -import cn.ksource.beans.KM_LIBRARY; -import cn.ksource.beans.KM_LIBRARY_CATEGORY; -import cn.ksource.beans.KM_LIBRARY_HIT_RECORD; -import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS; -import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP; -import cn.ksource.beans.KM_LIBRARY_TEMP; +import cn.ksource.beans.*; 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.ParamsMapUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.SysInfoMsg; -import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.knowledge.knowledgeDeal.KnowledgeDealFacade; import cn.ksource.web.service.file.FileService; import cn.ksource.web.service.knowledge.KmRecordService; import cn.ksource.web.service.knowledge.KmService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; @Service("kmLibraryFacade") public class KmLibraryFacadeImpl implements KmLibraryFacade { @Autowired private BaseDao baseDao; - + @Autowired private FileService fileService; - + @Autowired private KmService kmService; - + @Autowired private KnowledgeDealFacade knowledgeDealFacade; - + @Autowired private KmRecordService kmRecordService; /** @@ -59,15 +45,15 @@ String selectSubSql = "SELECT * FROM KM_LIBRARY_CATEGORY WHERE STATE=1 ORDER BY LEVEL,SERIAL,TITLE"; List<Map> subCus = baseDao.queryForList(selectSubSql,param); Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); - + for (Map map : subCus) { - + //涓�绾ф爲 if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); @@ -84,7 +70,7 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(map.get("ID").toString(), map); } continue; @@ -119,11 +105,11 @@ param.put("id", id); PageInfo pageInfos = baseDao.queryforSplitPageInfo(pageInfo, selectSql, param); if(pageInfos.getDatas().size() > 0){ - for(Map map:pageInfos.getDatas()){ + for(Map map:pageInfos.getDatas()){ map.put("CREATE_TIME", DateUtil.format("yyyy-MM-dd HH:mm:ss", map.get("CREATE_TIME"))); - } + } } - + return pageInfos; } /** @@ -131,22 +117,22 @@ */ @Override public int queryZsflCount(String pId) { - + String selectSql = "SELECT COUNT(ID) FROM KM_LIBRARY_CATEGORY WHERE 1=1 "; if(StringUtil.isEmpty(pId)){ selectSql +=" AND (TAG is null or TAG = '') "; }else{ selectSql +=" AND TAG = :id "; } - + Map param = new HashMap(); param.put("id", pId); int count = baseDao.queryForInteger(selectSql.toString(),param); - + return count; } - + /** * 楠岃瘉鍒嗙被鍚嶇О */ @@ -176,7 +162,7 @@ @Override public void saveknowcategory(Map<String, String> param) { KM_LIBRARY_CATEGORY km_library_category = new KM_LIBRARY_CATEGORY(); - + String level = param.get("LEVEL");//鏂板浣跨敤 String tag = param.get("TAG");//鏂板浣跨敤 String title = param.get("title"); @@ -186,7 +172,7 @@ //String userId = WebUtil.getLoginedUserId(request) ; String userId = param.get("userId"); String userName = ConvertUtil.obj2Str(param.get("userName")); - + if (StringUtils.isBlank(id)) {//new km_library_category.setCreate_user_id(userId); km_library_category.setCreate_user_name(userName); @@ -195,15 +181,15 @@ } km_library_category.setCreate_time(DateUtil.getCurrentDate14()); km_library_category.setState(1); - km_library_category.setLevel((Integer.parseInt(level)+1)); + km_library_category.setLevel((Integer.parseInt(level)+1)); }else{ km_library_category.setId(id); } km_library_category.setTitle(title); km_library_category.setNote(note); - km_library_category.setSerial(ConvertUtil.obj2Integer(serial)); + km_library_category.setSerial(ConvertUtil.obj2Integer(serial)); km_library_category.insertOrUpdate(); - + } /** * 淇敼椤哄簭鍙� @@ -236,7 +222,7 @@ Integer count = baseDao.queryForInteger(sql, new SqlParameter("id",id)); return count; } - + /** * 楠岃瘉鐭ヨ瘑鍒嗙被鍙惁绂佺敤 * @param id @@ -248,10 +234,10 @@ Integer count = baseDao.queryForInteger(sql, new SqlParameter("id",id)); return count; } - - + + /** - * + * * @param p_id * @return */ @@ -291,13 +277,13 @@ paramList.add(map4); } } - + } } } String sql = "update KM_LIBRARY_CATEGORY set STATE=:state where ID=:id"; baseDao.executeBatch(sql, paramList); - + } @Override public int getMyCreateKnowCount(Map<String, String> params) { @@ -316,13 +302,13 @@ sql.append(" ) K WHERE K.STATE=1 AND K.CREATE_USER_ID=:loginUserId "); queryMyCreateKnowIf(params, sql); sql.append(" ORDER BY K.AUDIT_STATE ASC,K.CREATE_TIME DESC"); - + PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); List<Map> datas = info.getDatas(); if(datas.size()>0){ List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); Map cachefile = new HashMap(); - + for(Map file:filesList){ if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ cachefile.put(file.get("BUSINESS_ID"), file); @@ -337,7 +323,7 @@ } } info.setDatas(datas); - + return info; } private void queryMyCreateKnowIf(Map<String, String> params, @@ -361,7 +347,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -379,7 +365,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -401,7 +387,7 @@ sql.append(" AND K.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND K.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); @@ -411,7 +397,7 @@ public int getMyEditKnowCount(Map<String, String> params) { StringBuilder sql = new StringBuilder("SELECT COUNT(K.ID) FROM ( "); sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); - sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); + sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); sql.append(" ) K WHERE K.STATE=1 "); queryMyEditKnowIf(params,sql); return baseDao.queryForInteger(sql.toString(), params); @@ -419,22 +405,22 @@ @Override public PageInfo getMyEditKnowData(Map<String, String> params, PageInfo pageInfo) { - + StringBuilder sql = new StringBuilder("SELECT K.* FROM ( "); - + sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); - sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); + sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); sql.append(" ) K WHERE K.STATE=1 "); - + queryMyEditKnowIf(params, sql); sql.append(" ORDER BY K.UPDATE_DATE DESC"); - + PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); List<Map> datas = info.getDatas(); if(datas.size()>0){ List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); Map cachefile = new HashMap(); - + for(Map file:filesList){ if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ cachefile.put(file.get("BUSINESS_ID"), file); @@ -449,13 +435,13 @@ } } info.setDatas(datas); - + return info; } private void queryMyEditKnowIf(Map<String, String> params, StringBuilder sql) { String title = params.get("title"); String keyword = params.get("keyword"); - + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -473,7 +459,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -491,7 +477,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -513,7 +499,7 @@ sql.append(" AND k.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND k.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); @@ -536,7 +522,7 @@ if(datas.size()>0){ List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); Map cachefile = new HashMap(); - + for(Map file:filesList){ if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ cachefile.put(file.get("BUSINESS_ID"), file); @@ -551,13 +537,13 @@ } } info.setDatas(datas); - + return info; } private void queryMyFavKnowIf(Map<String, String> params, StringBuilder sql) { String title = params.get("title"); String keyword = params.get("keyword"); - + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -575,7 +561,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -593,7 +579,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -615,7 +601,7 @@ sql.append(" AND k.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND k.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); @@ -629,7 +615,7 @@ } @Override public PageInfo getMyKnowData(Map<String, String> params, PageInfo pageInfo) { - StringBuilder sql = new StringBuilder("SELECT DISTINCT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); + StringBuilder sql = new StringBuilder("SELECT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); queryMyKnowIf(params, sql); sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); @@ -654,7 +640,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -672,7 +658,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -694,20 +680,20 @@ sql.append(" AND K.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND K.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); } } - + @Override public int queryMyDshKnowCount(Map<String, String> params) { StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT K.ID) FROM KM_LIBRARY_TEMP K WHERE K.STATE=1 AND K.CREATE_USER_ID=:loginUserId "); queryMyDshKnowIf(params,sql); return baseDao.queryForInteger(sql.toString(), params); } - + @Override public PageInfo queryMyDshKnowData(PageInfo pageInfo, Map<String, String> params) { @@ -716,7 +702,7 @@ sql.append(" ORDER BY K.AUDIT_STATE,K.CREATE_TIME DESC"); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + private void queryMyDshKnowIf(Map<String, String> params, StringBuilder sql) { String title = params.get("title"); String keyword = params.get("keyword"); @@ -738,7 +724,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -756,7 +742,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -778,7 +764,7 @@ sql.append(" AND K.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND K.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); @@ -789,7 +775,7 @@ } @Override public int updatestate(String id,String state) { - + KM_LIBRARY library = new KM_LIBRARY(id); if("1".equals(state)){ library.setState(2); @@ -885,7 +871,7 @@ } } Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj")); - + km_library.setFirst_knowcategory_id(first_knowcategory_id).setFirst_knowcategory_name(first_knowcategory_name) .setSecond_knowcategory_id(second_knowcategory_id).setSecond_knowcategory_name(second_knowcategory_name) .setCategory_id(categoryid).setCategory_name(category_name) @@ -896,7 +882,7 @@ .setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) .setThird_category_id(third_category_id).setThird_category_name(third_category_name) .setAccess_type(access_type); - + km_library.insertOrUpdate(); //娣诲姞鐢ㄦ埛鏉冮檺淇℃伅 String cusId = request.getParameter("cusId"); @@ -912,7 +898,7 @@ access.setKnowledge_id(km_library.getId()).setCustomer_id(cusIdArray[i]).setCustomer_name(cusListArray[i]).insert(); } } - + //娣诲姞鍏宠仈鐭ヨ瘑 //鍒犻櫎宸插瓨鍦ㄧ殑鍏宠仈鐭ヨ瘑 baseDao.execute("DELETE FROM KM_LIBRARY_KNOWLEDGE WHERE LIBRARY_ID = :business_id ", new SqlParameter("business_id",km_library.getId())); @@ -936,23 +922,23 @@ } fileService.uploadFile(request,km_library.getFile_id(),Constants.GG_FOLDERS_KNOWFOLDERS,Constants.FILE_STATE_SHTG,null); } - + @Override public int getMyKnowCxCount(Map<String, String> params) { StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT K.ID) FROM KM_LIBRARY K WHERE 1=1 "); queryMyKnowCxIf(params,sql); return baseDao.queryForInteger(sql.toString(), params); } - + @Override public PageInfo getMyKnowCxData(Map<String, String> params, PageInfo pageInfo) { - StringBuilder sql = new StringBuilder("SELECT DISTINCT K.* FROM KM_LIBRARY K WHERE 1=1 "); + StringBuilder sql = new StringBuilder("SELECT K.* FROM KM_LIBRARY K WHERE 1=1 "); queryMyKnowCxIf(params, sql); sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + private void queryMyKnowCxIf(Map<String, String> params, StringBuilder sql) { String title = params.get("title"); String keyword = params.get("keyword"); @@ -973,7 +959,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -991,7 +977,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -1013,7 +999,7 @@ sql.append(" AND K.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND K.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); @@ -1026,10 +1012,10 @@ @Override public void deleteMyLibraryFavorite(String userId, String libraryId) { String sql = "delete from KM_LIBRARY_FAVORITE where LIBRARY_ID=:library_id and CREATE_USER_ID=:user_id "; - + SqlParameter param = new SqlParameter("library_id", libraryId); param.addValue("user_id", userId); - + baseDao.execute(sql, param); } @Override @@ -1043,12 +1029,12 @@ KM_LIBRARY_HIT_RECORD record = new KM_LIBRARY_HIT_RECORD(); record.setLibrary_id(libraryId).setCreate_user_id(userId).setCreate_time(DateUtil.getCurrentDate14()).insert(); String sqlupd = "update KM_LIBRARY set HITS=HITS+1 where ID=:libraryId "; - + baseDao.execute(sqlupd, param); }/*濡傛灉鍚屼竴璐﹀彿鐐瑰嚮杩囷紝涓嶅啀澧炲姞鐐瑰嚮鏁� else{ String sqlupd = "update KM_LIBRARY set HITS=HITS+1 where ID=:libraryId "; - + baseDao.execute(sqlupd, param); }*/ return baseDao.queryForInteger("select HITS FROM KM_LIBRARY WHERE ID=:id",new SqlParameter("id",libraryId)); @@ -1090,9 +1076,9 @@ params.put("type", ConvertUtil.obj2StrBlank(Constants.KM_SCORE_RULE_TYPE_ZJ)); kmRecordService.addrecord(params); } - + } - + return 1; } @Override @@ -1105,16 +1091,16 @@ @Override public PageInfo getMyKnowTypeData(Map<String, String> params, PageInfo pageInfo) { - + StringBuilder sql = getknowtypesql(params); sql.append(" ORDER BY A.UPDATE_DATE DESC "); - + PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); List<Map> datas = info.getDatas(); if(datas.size()>0){ List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); Map cachefile = new HashMap(); - + for(Map file:filesList){ if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ cachefile.put(file.get("BUSINESS_ID"), file); @@ -1129,12 +1115,12 @@ } } info.setDatas(datas); - + return info; } - + public StringBuilder getknowtypesql(Map<String, String> params){ - StringBuilder sql = new StringBuilder("SELECT DISTINCT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); + StringBuilder sql = new StringBuilder("SELECT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); String title = params.get("title"); String keyword = params.get("keyword"); String sl = params.get("sl"); @@ -1155,7 +1141,7 @@ sql.append(")"); } } - + String know = params.get("know"); if(StringUtil.notEmpty(know)) { String[] knows = know.split(","); @@ -1173,7 +1159,7 @@ sql.append(")"); } } - + String ci = params.get("ci"); if(StringUtil.notEmpty(ci)) { String[] cis = ci.split(","); @@ -1195,12 +1181,12 @@ sql.append(" AND K.TITLE like :title "); params.put("title", "%" + title + "%"); } - + if (!StringUtil.isEmpty(keyword)) { sql.append(" AND K.TAG like :keyword "); params.put("keyword", "%" + keyword + "%"); } - + if(!StringUtil.isEmpty(type)){ if(ConvertUtil.obj2Integer(type)==Constants.KM_SCORE_RULE_TYPE_ZJ ){ sql.append(" AND A.IS_TOP = 1 "); @@ -1210,9 +1196,9 @@ sql.append(" AND B.TYPE = :type "); } } - + return sql; - + } @Override public int getMyKnowJfCount(Map<String, String> params) { @@ -1241,7 +1227,7 @@ cacheMap.put(map.get("TYPE"),score); } if(cacheMap.size() != 0){ - + if(user.getKm_score() < ConvertUtil.obj2Int(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ))){ msg.put("DQDJ", ""); msg.put("XYDJ", Constants.getmapKM_EXPERT_LEVEL_RULE_TYPE_Label(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ)); @@ -1345,7 +1331,7 @@ params.put("name", "%"+name+"%"); } if(!StringUtil.isEmpty(type)){ - + if(ConvertUtil.obj2Integer(type) == Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ){ sql.append(" AND KM_SCORE >=:score1 AND KM_SCORE< :score2 "); params.put("score1",ConvertUtil.obj2StrBlank(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ)) ); @@ -1363,19 +1349,19 @@ params.put("score1",ConvertUtil.obj2StrBlank(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_ZSZJ)) ); } } - + sql.append(" ORDER BY KM_SCORE DESC "); List<Map> userList = baseDao.queryForList(sql.toString(),params); - - + + for(Map map:userList){ if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(map.get("KM_SCORE")))){ map.put("KM_SCORE", 0); } int score = ConvertUtil.obj2Int(map.get("KM_SCORE")); if(cacheMap.size()!=0){ - - + + if(score < ConvertUtil.obj2Int(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ))){ map.put("DQDJ", ""); map.put("djtype", ""); @@ -1427,7 +1413,7 @@ public PageInfo knowZjhyData(PageInfo pageInfo, Map<String, String> params) { String userId = params.get("userId"); String type = params.get("type"); - StringBuilder sql = new StringBuilder("SELECT DISTINCT A.*,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); + StringBuilder sql = new StringBuilder("SELECT DISTINCT A.ID,A.TITLE,A.TAG,A.CATEGORY_ID,A.CATEGORY_NAME,A.CREATE_USER_ID,A.CREATE_USER_NAME,A.CREATE_TIME,A.STATE,A.VERSION,A.HITS,A.IS_EDITOR,A.THIRDLEVEL_NAME,A.THIRDLEVEL_ID,A.FIRST_CATEGORY_ID,A.FIRST_CATEGORY_NAME,A.SECOND_CATEGORY_ID,A.SECOND_CATEGORY_NAME,A.THIRD_CATEGORY_ID,A.THIRD_CATEGORY_NAME,A.UPDATE_DATE,A.UPDATER_ID,A.UPDATE_NAME,A.SECOND_KNOWCATEGORY_ID,A.SECOND_KNOWCATEGORY_NAME,A.FIRST_KNOWCATEGORY_ID,A.FIRST_KNOWCATEGORY_NAME,A.SECONDLEVEL_NAME,A.SECONDLEVEL_ID,A.FIRSTLEVEL_NAME,A.FIRSTLEVEL_ID,A.ACCESS_TYPE,A.FILE_ID,A.IS_ESSENCE,A.IS_TOP,A.AUDIT_USERID,A.AUDIT_USERNAME,A.AUDIT_USERNAME,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); if(!StringUtil.isEmpty(userId)){ sql.append(" AND B.USER_ID = :userId "); } @@ -1467,7 +1453,7 @@ } List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); Map cachefile = new HashMap(); - + for(Map file:filesList){ if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ cachefile.put(file.get("BUSINESS_ID"), file); @@ -1491,7 +1477,7 @@ if(count == 0){ kmRecordService.addrecord(params); } - + } @Override public void savezanLibrary(Map<String, String> params) { @@ -1500,11 +1486,11 @@ if(count == 0){ kmRecordService.addrecord(params); } - + } @Override public Map getTempKnowledgeById(String id) { - + Map knowMap = new KM_LIBRARY_TEMP(id).getBeanMapById(); List<Map> knowList = baseDao.queryForList("SELECT B.* FROM KM_LIBRARY_KNOWLEDGE_TEMP A,KM_LIBRARY B WHERE A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID = :business_id ", new SqlParameter("business_id",id)); knowMap.put("knowList", knowList); @@ -1526,9 +1512,9 @@ //鏂囦欢 List<Map> fileList = fileService.getFileList(ConvertUtil.obj2StrBlank(knowMap.get("ID"))); knowMap.put("fileList", fileList); - return knowMap; + return knowMap; } - + @Override public Map saveAgainUpdate(HttpServletRequest request, KM_LIBRARY_TEMP km_library_temp) { @@ -1536,7 +1522,7 @@ resultMap.put("result", 2); String id = request.getParameter("id"); KM_LIBRARY_TEMP temp = new KM_LIBRARY_TEMP(id).getInstanceById(); - + String serivceListId = request.getParameter("serivceListId"); String serivceList = request.getParameter("serivceList"); String category_id = request.getParameter("category_id"); @@ -1596,7 +1582,7 @@ } } Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj")); - + temp.setFirst_knowcategory_id(first_knowcategory_id).setFirst_knowcategory_name(first_knowcategory_name) .setSecond_knowcategory_id(second_knowcategory_id).setSecond_knowcategory_name(second_knowcategory_name) .setCategory_id(categoryid).setCategory_name(category_name) @@ -1607,7 +1593,7 @@ .setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) .setThird_category_id(third_category_id).setThird_category_name(third_category_name) .setAccess_type(access_type); - + //寰呭鏍� Integer auditState = Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH; Map shuser = knowledgeDealFacade.getSpMap(categoryid); @@ -1626,7 +1612,7 @@ //鏇存柊鍏卞悓鐨勯儴鍒� temp.setTitle(km_library_temp.getTitle()).setTag(km_library_temp.getTag()).setSummary(km_library_temp.getSummary()) .setContent(km_library_temp.getContent()).setAudit_userid(shId).setAudit_username(shName).setUpdate_date(DateUtil.getCurrentDate14()).setAudit_state(Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH).update(); - + //娣诲姞鐢ㄦ埛鏉冮檺淇℃伅 String cusId = request.getParameter("cusId"); String cusList = request.getParameter("cusList"); @@ -1666,6 +1652,6 @@ } return resultMap; } - - + + } diff --git a/src/cn/ksource/web/facade/question/QuestionFacadeImpl.java b/src/cn/ksource/web/facade/question/QuestionFacadeImpl.java index 462db7c..f81b635 100644 --- a/src/cn/ksource/web/facade/question/QuestionFacadeImpl.java +++ b/src/cn/ksource/web/facade/question/QuestionFacadeImpl.java @@ -29,37 +29,37 @@ @Service("questionFacade") public class QuestionFacadeImpl implements QuestionFacade { - + @Autowired private BaseDao baseDao; - + @Autowired private FileService fileService; - + @Autowired private RecordService recordService; - + @Autowired private OrderService orderService; - + @Autowired private DeviceService deviceService; - + @Autowired private WorkOrderCodeService workOrderCodeService; - + @Autowired private WorkflowBusinessService workflowBusinessService; - + @Autowired private WorkflowCoreService workflowCoreService; - + @Autowired private MessageFacade messageFacade; - + @Autowired private DataDictionaryService dataDictionaryService; - + @Override public Map getQuestionMsgByOrderId(HttpServletRequest request) { String orderId = request.getParameter("changeId"); @@ -90,7 +90,7 @@ @Override public Map saveQuestion(HttpServletRequest request, SC_WORKFLOW_QUESTION sc_workflow_question) { - + String changeId = request.getParameter("changeId"); String bustype = request.getParameter("bustype"); Map resultMap = new HashMap(); @@ -102,7 +102,7 @@ String bz = request.getParameter("bz"); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + String serivceListId = request.getParameter("serivceListId"); String serivceList = request.getParameter("serivceList"); String first_category_id = new String(); @@ -111,7 +111,7 @@ String second_category_name = new String(); String third_category_id = new String(); String third_category_name = new String(); - + if(StringUtil.notEmpty(serivceListId) && StringUtil.notEmpty(serivceList)) { String[] serivceListIds = serivceListId.split("-"); String[] serivceLists = serivceList.split("->"); @@ -135,7 +135,7 @@ nextnodeid = userMsg[1]; dealUserId = userMsg[2]; dealUserName = userMsg[3]; - + if(nextnodeid.equals(Constants.WTSL)) { state = Constants.SC_WORKFLOW_QUESTION_STATE_SL; } else if(nextnodeid.equals(Constants.WTSH)) { @@ -151,7 +151,7 @@ }else{ state = Constants.SC_WORKFLOW_QUESTION_STATE_YDJ; } - + String sla_id = request.getParameter("sla_id"); String sla_name = request.getParameter("sla_name"); String order_code = workOrderCodeService.getQuestionOrderCode(); @@ -164,15 +164,15 @@ sc_workflow_question.setCreate_user_id(userId).setCreate_user_name(userName).setCreate_time(createTime); sc_workflow_question.setOrder_code(order_code); } - + sc_workflow_question.setState(ConvertUtil.obj2Integer(state)).setFlow_name(sc_workflow_question.getName()).insertOrUpdate(); - + //鑾峰彇褰撳墠鎵�澶勭殑鑺傜偣 Map flowMsg = getFlowMsg(flowId,userId); String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); if("1".equals(sh)){ - + //澧炲姞闂澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("淇敼闂锛�"+userName+"淇敼浜嗛棶棰樹俊鎭�"); @@ -183,9 +183,9 @@ record.setNode_id(nodeid).setNode_name(nodeName); recordService.addRecord(record); } - - - + + + if(!"1".equals(sh)){ WORKFLOW_BASE base = new WORKFLOW_BASE(); if(!"2".equals(sh)){ @@ -202,9 +202,9 @@ recordService.addRecord(record); flowId = base.getId(); }else{ - + base = new WORKFLOW_BASE(flowId).getInstanceById(); - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title(userName+"瀹屾垚浜嗚妭鐐�"); @@ -212,10 +212,10 @@ WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); //鍏抽棴褰撳墠鑺傜偣 workflowCoreService.finishNode(base, node, finishEntity); - + } - - + + NodeDealEntity entity = new NodeDealEntity(); List<Map> userMap = new ArrayList(); if("2".equals(sh)){ @@ -242,7 +242,7 @@ dealer_type = getDealUser(entity,flowId,dealer_type,userMap,dealUserId,dealUserName); } workflowCoreService.toNode(base,nextnodeid , entity); - + String hasMsg = request.getParameter("hasMsg"); /*if(StringUtil.notEmptyNum(hasMsg) && hasMsg.equals("2")) { //淇濆瓨鑱旂郴浜虹殑淇℃伅 @@ -267,8 +267,8 @@ .setType(Constants.GG_MESSAGE_TYPE_WTGL); messageFacade.doSendMessage(message, userMap); resultMap.put("result", 1); - - + + } String usertype = "1"; if("1".equals(dealer_type)){ @@ -284,7 +284,7 @@ } else if(nextnodeid.equals(Constants.WTSH)) { baseDao.execute("UPDATE WORKFLOW_PARAMETER SET PVALUE=:PVALUE WHERE WORKFLOWID = :WORKFLOWID AND PNAME = :PNAME ", paramuser); } - + Map paramrecord = new HashMap(); paramrecord.put("flowId", flowId); //鎻愪氦宸ュ崟鏃舵坊鍔犲叧鑱斿伐鍗� @@ -292,11 +292,11 @@ baseDao.execute("DELETE FROM ORDER_REF_ORDER WHERE BUSINESS_ID = :flowId ", paramrecord); String[] orderId = request.getParameterValues("orderId"); orderService.saveLinkOrders(flowId,orderId,request); - + //鎻愪氦宸ュ崟鏃朵笂浼犳枃妗i檮浠� fileService.uploadFile(request,flowId,flowId,null,null,Constants.GG_FOLDERS_WTFOLDERS,Constants.FILE_STATE_SHTG,null); - - + + //鎻愪氦宸ュ崟鏃舵坊鍔犲叧鑱旇澶� //鍏堝垹闄ゅ凡瀛樺湪鐨勮澶� baseDao.execute("DELETE FROM CMDB_CI_REF_ORDER WHERE FLOW_ID = :flowId ", paramrecord); @@ -315,19 +315,19 @@ zcyw.setQuestionid(sc_workflow_question.getId()).update(); } } - + }else{ resultMap.put("nouser", "1"); } return resultMap; } - + public String getDealUser(NodeDealEntity entity,String flowId,String dealer_type,List<Map> userMap,String dealUserId,String dealUserName) { Map param = new HashMap(); param.put("ID", StringUtil.getUUID()); param.put("WORKFLOWID", flowId); param.put("PNAME", "澶勭悊浜�"); - + entity.setDealer_type(3); if(dealer_type.equals("1")||dealer_type.equals("3")) { entity.setBefore_Dealer_type(2); @@ -350,7 +350,7 @@ map.put("USER_ID", userList2[i]); map.put("USER_NAME", cacheuser.get(userList2[i])); } - + userMap.add(map); } dealer_type = "2"; @@ -365,7 +365,7 @@ dealer_type = "1"; } entity.setDealerList(userMap); - + baseDao.execute("INSERT INTO WORKFLOW_PARAMETER(ID,WORKFLOWID,PNAME,PVALUE) VALUES(:ID,:WORKFLOWID,:PNAME,:PVALUE)", param); return dealer_type; } @@ -373,46 +373,46 @@ @Override public Map queryQuestionCount(HttpServletRequest request) { //鍒濆鍖栧彉閲� - + //闂鍙楃悊鍝嶅簲涓� int wtsldxy = 0; //闂鍙楃悊澶勭悊涓� int wtslclz = 0; - + //闂瀹℃牳寰呭搷搴� int wtshdxy = 0; //闂瀹℃牳澶勭悊涓� int wtshclz = 0; - + //闂璇婃柇寰呭搷搴� int wtzddxy = 0; //闂璇婃柇澶勭悊涓� int wtzdclz = 0; - - + + //鏂规瀹℃壒寰呭搷搴� int faspdxy = 0; //鏂规瀹℃壒澶勭悊涓� int faspclz = 0; - + //鏂规瀹炴柦寰呭搷搴� int fassdxy = 0; //鏂规瀹炴柦澶勭悊涓� int fassclz = 0; - + //闂鍥為【寰呭搷搴� int wthgdxy = 0; //闂鍥為【澶勭悊涓� int wthgclz = 0; - + //宸插畬鎴� int ywc = 0; //杩涜涓� int jxz = 0; - + StringBuffer selectSql = new StringBuffer(); StringBuffer sql = new StringBuffer(); - + Map paramMap = new HashMap(); selectSql.append("SELECT COUNT(*) AS NUM,A.STATE,C.FLOWSTATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B LEFT JOIN WORKFLOW_NODE C ON B.ID = C.FLOWID AND B.CURRENT_NODE_ID = C.ID WHERE A.ID = B.BUSINESS_ID AND C.FLOWSTATE is not null "); sql.append("SELECT COUNT(ID) FROM SC_WORKFLOW_QUESTION WHERE STATE != :yjj AND STATE !=:gb AND STATE != :ypj "); @@ -422,9 +422,9 @@ sql.append(" AND CUSTOMER_ID = :customerId "); paramMap.put("customerId", customerId); } - + paramMap.put("flowstate", 3); - + selectSql.append(" GROUP BY A.STATE,C.FLOWSTATE "); List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); if(null!=list && list.size()>0) { @@ -459,7 +459,7 @@ } continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { if(flowstate == Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE){ faspdxy += num; @@ -468,7 +468,7 @@ } continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { if(flowstate == Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE){ fassdxy += num; @@ -477,7 +477,7 @@ } continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { if(flowstate == Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE){ wthgdxy += num; @@ -486,51 +486,51 @@ } continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_YWC)) { ywc += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_YPJ)) { ywc += num; continue; } - + } } - + Map map = new HashMap(); map.put("wtsldxy", wtsldxy); map.put("wtslclz", wtslclz); - + map.put("wtshdxy", wtshdxy); map.put("wtshclz", wtshclz); - + map.put("wtzddxy", wtzddxy); map.put("wtzdclz", wtzdclz); - + map.put("faspdxy", faspdxy); map.put("faspclz", faspclz); - + map.put("fassdxy", fassdxy); map.put("fassclz", fassclz); - + map.put("wthgdxy", wthgdxy); map.put("wthgclz", wthgclz); - + //鏌ヨ璇ュ姞鐩熷晢鏈畬鎴愮殑浜嬩欢 - + paramMap.put("yjj", Constants.SC_WORKFLOW_QUESTION_STATE_YWC); paramMap.put("gb", Constants.SC_WORKFLOW_QUESTION_STATE_YGB); paramMap.put("ypj", Constants.SC_WORKFLOW_QUESTION_STATE_YPJ); - - + + jxz = baseDao.queryForInteger(sql.toString(),paramMap); - + map.put("ywc", ywc); map.put("jxz", jxz); - + return map; } @@ -538,21 +538,21 @@ public int queryQuestionOrderCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - + sql.append("SELECT COUNT(WB.ID) FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB LEFT JOIN WORKFLOW_NODE C ON C.FLOWID = WB.ID AND WB.CURRENT_NODE_ID = C.ID AND C.FLOWSTATE <> 3 "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType "); sqlpart = getOrderSql(sqlpart,params); sql.append(sqlpart); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + return baseDao.queryForInteger(sql.toString(),params); } @Override public PageInfo queryQuestionOrderList(PageInfo pageInfo, Map<String, String> params) { - - + + StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE,C.FLOWSTATE , "); @@ -561,45 +561,45 @@ sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); sqlpart = getOrderSql(sqlpart,params); - + sql.append(sqlpart); sql.append( " ORDER BY WB.CREATETIME DESC "); - + return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + public StringBuilder getOrderSql(StringBuilder sqlpart,Map<String, String> params){ String customerid = params.get("customerId"); if(StringUtil.notEmpty(customerid)) { sqlpart.append(" AND B.CUSTOMER_ID = :customerId "); } - + String subCustomerId = params.get("subCustomerId"); if(StringUtil.notEmpty(subCustomerId)) { sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); params.put("subCustomerId", subCustomerId); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { sqlpart.append(" AND B.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); params.put("orderCode", "%"+orderCode+"%"); } - - + + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - - + + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -617,9 +617,9 @@ sqlpart.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -637,8 +637,8 @@ sqlpart.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -656,8 +656,8 @@ sqlpart.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -694,10 +694,10 @@ sqlpart.append( " AND C.FLOWSTATE = :flowstate "); params.put("flowstate", state[1]); } - - + + } - + } return sqlpart; } @@ -706,7 +706,7 @@ public int queryMyQuestionCount(Map<String, String> params) { StringBuilder builder = new StringBuilder(); params.put("ysc",ConvertUtil.obj2StrBlank( Constants.WORKFLOW_BASE_WFSTATE_DELETE)); - + /** * 鏌ヨ閫昏緫 * 1.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓哄叏閮紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝鎴栬�呭鐞嗚鑹叉槸鎴戠殑骞朵笖娌℃湁鍒嗛厤澶勭悊浜虹殑锛� @@ -715,7 +715,7 @@ * 3.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓鸿繘琛屼腑锛屽垯鏌ヨ鑺傜偣琛ㄤ腑澶勭悊浜烘槸鎴戠殑 锛堜笉闇�瑕佽繃婊わ紝鍥犱负涓�涓伐鍗曡繘琛屼腑鑺傜偣锛屽彧浼氭湁涓�涓級 * 4.濡傛灉鑺傜偣鐘舵�佹煡璇㈡湭宸插鐞嗭紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝闇�瑕佽繃婊わ紙鍥犱负涓�涓妭鐐逛竴涓汉鍙互澶勭悊澶氭锛岄�氳繃鑺傜偣琛ㄤ綔涓轰富琛ㄦ煡璇㈠嚭鏉ョ殑宸ュ崟浼氭湁閲嶅锛� */ - + String flowstate = params.get("flowstate"); if(StringUtil.notEmpty(flowstate)) { if(flowstate.equals("1")) { @@ -745,28 +745,28 @@ builder.append(")D"); builder.append(" WHERE D.WFSTATE != :ysc "); } - + builder = getMyquestionSql(builder,params); - + builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + StringBuilder newBuild = new StringBuilder(); newBuild.append("SELECT COUNT(*) FROM ( "); newBuild.append(builder.toString()); newBuild.append(") E"); - + return baseDao.queryForInteger(newBuild.toString(),params); } @Override public PageInfo queryMyQuestionData(PageInfo pageInfo, Map<String, String> params) { - + StringBuilder builder = new StringBuilder(); params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); - - + + /** * 鏌ヨ閫昏緫 * 1.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓哄叏閮紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝鎴栬�呭鐞嗚鑹叉槸鎴戠殑骞朵笖娌℃湁鍒嗛厤澶勭悊浜虹殑锛� @@ -775,14 +775,14 @@ * 3.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓鸿繘琛屼腑锛屽垯鏌ヨ鑺傜偣琛ㄤ腑澶勭悊浜烘槸鎴戠殑 锛堜笉闇�瑕佽繃婊わ紝鍥犱负涓�涓伐鍗曡繘琛屼腑鑺傜偣锛屽彧浼氭湁涓�涓級 * 4.濡傛灉鑺傜偣鐘舵�佹煡璇㈡湭宸插鐞嗭紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝闇�瑕佽繃婊わ紙鍥犱负涓�涓妭鐐逛竴涓汉鍙互澶勭悊澶氭锛岄�氳繃鑺傜偣琛ㄤ綔涓轰富琛ㄦ煡璇㈠嚭鏉ョ殑宸ュ崟浼氭湁閲嶅锛� */ - + String flowstate = params.get("flowstate"); if(StringUtil.notEmpty(flowstate)) { if(flowstate.equals("1")) { builder.append(" SELECT D.* FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 builder.append(" SELECT B.*,A.FLOWSTATE,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID,C.STATE FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_QUESTION C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); - + builder.append(")D"); builder.append(" WHERE D.FLOWSTATE = :jddcl "); params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); @@ -807,10 +807,10 @@ builder.append(" WHERE D.WFSTATE != :ysc "); } builder = getMyquestionSql(builder,params); - + builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + String pageSize = pageInfo.getPageSize(); String currPage = pageInfo.getCurrPage(); if(!StringUtil.notEmptyNum(pageSize)){ @@ -821,7 +821,7 @@ } int begin = Integer.valueOf(currPage); int size = Integer.valueOf(pageSize); - + if(!StringUtil.notEmpty(flowstate)) { builder.append( " ORDER BY D.FLOWSTATE,D.CREATETIME DESC" ); List<Map> result = baseDao.queryForList(builder.toString(),params); @@ -844,14 +844,14 @@ list.add(flowId); } } - + if(cacheMap.size()>0) { for(String str : list) { resultList.add(cacheMap.get(str)); } } } - + int infoCount = resultList.size(); int bin = (begin-1)* size ; int end = (begin-1)* size + size; @@ -868,7 +868,7 @@ return result; } } - + public StringBuilder getMyquestionSql(StringBuilder builder,Map<String, String> params){ String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { @@ -879,39 +879,39 @@ builder.append(" AND D.SUB_CUSTOMER_ID = :subCustomerId "); params.put("subCustomerId", subCustomerId); } - + String status = params.get("status"); if(StringUtil.notEmpty(status)) { builder.append(" AND D.WFSTATE = :status "); params.put("status", status); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { builder.append(" AND D.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - - + + String hjName = params.get("hjName"); if(StringUtil.notEmpty(hjName)) { builder.append(" AND D.CURRENT_NODE_NAME LIKE :hjName "); params.put("hjName", "%"+hjName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND D.ORDER_CODE LIKE :orderCode"); params.put("orderCode", "%"+orderCode+"%"); } - + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { builder.append(" AND D.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -929,9 +929,9 @@ builder.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -949,8 +949,8 @@ builder.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -968,8 +968,8 @@ builder.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -989,10 +989,10 @@ } return builder; } - + @Override public Map queryLevel(String priority_id, String influence_id,String customerId) { - + String selectSql = "SELECT LEVEL_ID,LEVEL_NAME FROM SC_SLA_LEVEL_CONFIG WHERE INFLUENCE_ID = :influence_id AND PRIORITY_ID = :priority_id AND CUSTOMER_ID = :customerId"; Map paramMap = new HashMap(); paramMap.put("influence_id", influence_id); @@ -1001,7 +1001,7 @@ Map levelMap = baseDao.queryForMap(selectSql,paramMap); return levelMap; } - + @Override public List<Map> getFlueNode(HttpServletRequest request) { String flowId = request.getParameter("flowId"); @@ -1013,24 +1013,24 @@ } else { currentNode = Constants.WTFQ; } - + //鏌ヨ褰撳墠鑺傜偣鑳藉彂閫佺殑鑺傜偣 String selectSql = "SELECT * FROM QUESTION_FLOWRULE WHERE CUSTOMER_ID = :customer_id"; List<Map> list = baseDao.queryForList(selectSql,new SqlParameter("customer_id",customer_id)); Map prom = new HashMap(); if(null!=list && list.size()>0) { prom = list.get(0); - + String json = ConvertUtil.obj2StrBlank(prom.get(Constants.questionNodeColunm.get(currentNode))); List<Map> nodes = JsonUtil.json2List(json); return nodes; - + }else{ String gsSql = "SELECT * FROM QUESTION_FLOWRULE WHERE (CUSTOMER_ID IS NULL OR CUSTOMER_ID = '')"; List<Map> gslist = baseDao.queryForList(gsSql); if(null!=gslist && gslist.size()>0){ prom = gslist.get(0); - + String json = ConvertUtil.obj2StrBlank(prom.get(Constants.questionNodeColunm.get(currentNode))); List<Map> nodes = JsonUtil.json2List(json); return nodes; @@ -1038,12 +1038,12 @@ } return new ArrayList<Map>(); } - + public Map getCurrentNode(String flowId) { String selectSql = "SELECT B.NODE_TEMPLATE_ID FROM WORKFLOW_BASE A,WORKFLOW_NODE B WHERE A.CURRENT_NODE_ID = B.ID AND A.ID = :id"; return baseDao.queryForMap(selectSql,new SqlParameter("id",flowId)); } - + @Override public List<Map> getZdyGroupList(HttpServletRequest request) { String customer_id = request.getParameter("customer_id"); @@ -1070,7 +1070,7 @@ map.put("userlist", userName.deleteCharAt(userName.lastIndexOf(","))); map.put("useridlist", userId.deleteCharAt(userId.lastIndexOf(","))); } - + } return groupList; } @@ -1079,13 +1079,13 @@ public List<Map> groupuser(String groupId) { String usersql = "SELECT * FROM CUSTOM_GROUP WHERE GROUP_ID = :group_id"; List<Map> groupuser = baseDao.queryForList(usersql, new SqlParameter("group_id",groupId)); - + return groupuser; } @Override public Map usersbyGroup(HttpServletRequest request) { - Map main = new HashMap(); + Map main = new HashMap(); String groupId = request.getParameter("groupId"); String customer_id = request.getParameter("customer_id"); String usersql = "SELECT * FROM CUSTOM_GROUP WHERE ID = :group_id"; @@ -1105,11 +1105,11 @@ StringBuilder sql = new StringBuilder(); List<Map> cateList = new ArrayList<Map>(); List<Map> userList = new ArrayList<Map>(); - + sql.setLength(0); sql.append(" select G.ID ,G.ROLENAME from AC_USER_REF_ROLE U,AC_ROLE G WHERE G.ID = U.JSBH AND G.STATE=1 GROUP BY G.ID ORDER BY G.ID"); cateList = baseDao.queryForList(sql.toString(),param); - + sql.setLength(0); sql.append(" select U.JSBH,G.ROLENAME,D.ID,D.ZSXM from AC_USER_REF_ROLE U,AC_ROLE G,GG_USER D WHERE G.ID = U.JSBH AND U.YHBH = D.ID AND D.ZT = 1 AND G.STATE=1 ORDER BY D.ID"); userList = baseDao.queryForList(sql.toString(),param); @@ -1127,7 +1127,7 @@ } tempList.add(userMap); } - + } tempMap.put("dataList", tempList); resList.add(tempMap); @@ -1143,11 +1143,11 @@ String groupId = request.getParameter("groupId"); String customer_id = request.getParameter("customer_id"); String groupname = request.getParameter("name"); - //浜哄憳 - String[] user = request.getParameterValues("users"); + //浜哄憳 + String[] user = request.getParameterValues("users"); //涓昏璐熻矗浜� String userMain = request.getParameter("userid"); - + String sqluser = "SELECT * FROM GG_USER "; List<Map> userList = baseDao.queryForList(sqluser); Map cacheuser = new HashMap(); @@ -1155,9 +1155,9 @@ cacheuser.put(users.get("ID"), users.get("ZSXM")); } List<Map> list = new ArrayList<Map>(); - + Map cacheMap = new HashMap(); - + for(int i=0;i<user.length;i++){ String userId = user[i]; if(!cacheMap.containsKey(userId)) { @@ -1186,9 +1186,9 @@ .setCreate_time(DateUtil.getCurrentDate14()); } group.insertOrUpdate(); - + } - + /** * 閫氳繃orderid鑾峰彇娴佺▼淇℃伅 */ @@ -1197,7 +1197,7 @@ String selectSql = "SELECT * FROM WORKFLOW_NODE WHERE FLOWID = :flowId AND CURRENT_DEALER_ID = :userId AND FLOWSTATE <> 3 "; return baseDao.queryForMap(selectSql,new SqlParameter("flowId",flowId).addValue("userId", userId)); } - + @Override public Map queryQuestionBaseMsg(String orderId) { String selectSql = "SELECT A.*,B.WFSTATE,N.ANSWER_TIME,B.BUSINESSTYPE,B.CURRENT_DEALER_ID clr FROM SC_WORKFLOW_QUESTION A LEFT JOIN WORKFLOW_BASE B ON A.ID = B.BUSINESS_ID LEFT JOIN WORKFLOW_NODE N ON B.CURRENT_NODE_ID = N.ID WHERE A.ID = :orderId "; @@ -1242,15 +1242,15 @@ return baseMap; } - - @Override + + @Override public String anwerSubmit(HttpServletRequest request){ - + WORKFLOW_BASE base = new WORKFLOW_BASE(request.getParameter("flowId")).getInstanceById(); - + WORKFLOW_NODE node = new WORKFLOW_NODE(request.getParameter("nodeId")).getInstanceById(); NodeAnswerEntity entity = new NodeAnswerEntity(); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); entity.setUser_id(user.get("ID").toString()); entity.setUser_name(user.get("ZSXM").toString()); @@ -1263,34 +1263,34 @@ Map map = baseDao.queryForMap(selectSql,new SqlParameter("questionid",base.getBusiness_id())); String shouli_time = ConvertUtil.obj2StrBlank(map.get("SHOULI_TIME")); long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); - + Map paramMap = new HashMap(); - - + + if(!StringUtil.notEmpty(shouli_time)) { StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_QUESTION SET "); long answer_time = DateUtil.getCurrentDate14(); - + builder.append(" SHOULI_USERID = :shouli_userid,SHOULI_USERNAME = :shouli_username,SHOULI_TIME = :answerTime,SHOULI_USE_TIME = :answer_user_time "); paramMap.put("answerTime",answer_time); paramMap.put("shouli_userid",user.get("ID")); paramMap.put("shouli_username",user.get("ZSXM")); - + //璁$畻绗竴娆″搷搴旀椂闂村拰鍒涘缓闂鐨勬椂闂村樊 灏嗘椂闂村樊杞寲涓哄垎閽� long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); //灏嗙杞寲涓哄垎閽� double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); - + paramMap.put("answer_user_time", sjxysj); - + builder.append(" WHERE ID = :questionid"); paramMap.put("questionid", base.getBusiness_id()); baseDao.execute(builder.toString(), paramMap); } return "1"; - + } - + @Override public void updateQuestion(HttpServletRequest request, SC_WORKFLOW_QUESTION sc_workflow_question) { @@ -1318,8 +1318,8 @@ sc_workflow_question.setPri_level_id(sla_id).setPri_level(sla_name); sc_workflow_question.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name).setSecond_category_id(second_category_id) .setSecond_category_name(second_category_name).setThird_category_id(third_category_id).setThird_category_name(third_category_name); - - + + sc_workflow_question.update(); //娣诲姞澶勭悊璁板綍 Map userlogin = WebUtil.getLoginUser(request).getLoginUser(); @@ -1329,7 +1329,7 @@ Map flowMsg = getFlowMsg(flowId,createUserId); String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); - + //澧炲姞闂澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("淇敼闂锛�"+createUserName+"淇敼浜嗛棶棰樹俊鎭�"); @@ -1339,13 +1339,13 @@ record.setBusiness_id(flowId); record.setNode_id(nodeid).setNode_name(nodeName); recordService.addRecord(record); - + } - + @Override public List<Map> getZdMsgList(String flowId) { String sql = "SELECT * FROM QUESTION_ZD_HISTORY WHERE FLOWID = :flowid ORDER BY CREATE_TIME DESC"; - + return baseDao.queryForList(sql, new SqlParameter("flowid",flowId)); } @@ -1355,9 +1355,9 @@ String type = request.getParameter("type"); String flowId = request.getParameter("flowId"); Map zdMsg = new HashMap(); - + if(!StringUtil.isEmpty(type)){ - + if("1".equals(type)){ SC_WORKFLOW_QUESTION question = new SC_WORKFLOW_QUESTION(id).getInstanceById(); zdMsg.put("ID", question.getId()); @@ -1370,7 +1370,7 @@ }else{ zdMsg = new QUESTION_ZD_HISTORY(id).getBeanMapById(); } - + } return zdMsg; } @@ -1380,16 +1380,16 @@ String flowId = request.getParameter("flowId"); String id = request.getParameter("id"); String type = request.getParameter("type"); - - + + String resolve = request.getParameter("resolve"); String suggest = request.getParameter("suggest"); String reason = request.getParameter("reason"); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + long resolveTime = DateUtil.getCurrentDate14(); QUESTION_ZD_HISTORY zd = new QUESTION_ZD_HISTORY(); if("1".equals(type)){ @@ -1405,11 +1405,11 @@ String zdid = baseDao.queryForString(selsql, param); zd.setId(zdid); String sql = "UPDATE QUESTION_ZD_HISTORY SET REASON = :reason ,RESOLVE = :resolve,SUGGEST = :suggest WHERE FLOWID = :flowid AND ISTHEEND = :istheend "; - + baseDao.execute(sql, param); - + }else{ - + if(!StringUtil.isEmpty(id)){ zd.setId(id); }else{ @@ -1418,9 +1418,9 @@ zd.setReason(reason).setResolve(resolve).setSuggest(suggest).insertOrUpdate(); } fileService.uploadFile(request, zd.getId(), flowId, null, null); - + } - + @Override public String issave(HttpServletRequest request) { String nodeId = request.getParameter("nodeId"); @@ -1450,7 +1450,7 @@ } return result; } - + @Override public Map gettempMsg(String id,String userId) { //鑾峰彇褰撳墠鎵�澶勭殑鑺傜偣 @@ -1461,7 +1461,7 @@ Map msg = baseDao.queryForMap(sql, new SqlParameter("node_id",nodeid)); return msg; } - + @Override public Map updateAssign(HttpServletRequest request) { Map resultMap = new HashMap(); @@ -1477,14 +1477,14 @@ String resolve = request.getParameter("resolve"); String suggest = request.getParameter("suggest"); String bz = request.getParameter("bz"); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + WORKFLOW_BASE base = new WORKFLOW_BASE(id).getInstanceById(); SC_WORKFLOW_QUESTION myQuestion = new SC_WORKFLOW_QUESTION(base.getBusiness_id()).getInstanceById(); - + //鑾峰彇褰撳墠鎵�澶勭殑鑺傜偣 Map flowMsg = getFlowMsg(id,userId); String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); @@ -1497,14 +1497,14 @@ ORDER_ASSIGN_TEMP temp = new ORDER_ASSIGN_TEMP(); temp.setDealer(JsonUtil.map2Json(dealuser)).setNode_id(nodeid) .setExtend1(usertype).setExtend2(true_reason).setExtend3(resolve).setExtend4(suggest).setExtend5(bz).insert(); - + }else{ - + String dealUserId = new String(); String dealUserName = new String(); String state = new String(); String type = new String(); - + String node_template_id = Constants.WTFQ; if(StringUtil.notEmpty(selectUser)) { if(usertype.equals("3")){ @@ -1533,11 +1533,11 @@ }else{ state = Constants.SC_WORKFLOW_QUESTION_STATE_YDJ; } - } + } if(StringUtil.notEmpty(selectUser)) { //鎵ц鍒嗘淳浠诲姟 - - + + NodeDealEntity entity = new NodeDealEntity(); entity.setDealer_type(3); List<Map> dealerList = new ArrayList<Map>(); @@ -1563,44 +1563,44 @@ map.put("USER_NAME", cacheuser.get(userList2[i])); dealUserName += cacheuser.get(userList2[i])+","; } - + dealerList.add(map); } dealUserName = dealUserName.substring(0, dealUserName.length()-1); - + } else { entity.setBefore_Dealer_type(1); entity.setRoleID(selectUser.split("&")[0]); entity.setRoleName(selectUser.split("&")[1]); - + //鏌ヨ鏀圭粍涓嬮潰鐨勬墍鏈変汉鍛樹俊鎭� String sqlUser = "SELECT B.ID AS USER_ID ,B.ZSXM AS USER_NAME FROM AC_USER_REF_ROLE A,GG_USER B WHERE A.YHBH = B.ID AND A.JSBH = :groupId "; dealerList = baseDao.queryForList(sqlUser,new SqlParameter("groupId",selectUser.split("&")[0])); dealUserName = entity.getRoleName(); } entity.setDealerList(dealerList); - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title("鑺傜偣杞嚦 锛�" + dealUserName); finishEntity.setDeal_note(bz); WORKFLOW_NODE node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); - - - + + + boolean canFinish = workflowCoreService.finishNode(base, node, finishEntity); if (canFinish) { workflowBusinessService.toNode(base, node_template_id, entity); - } - - + } + + //鏇存柊闂鐘舵�� Map param = new HashMap(); param.put("state", state); param.put("questionId", base.getBusiness_id()); String updateIncidentSql = "UPDATE SC_WORKFLOW_QUESTION SET STATE = :state "; if(curnodeId .equals(Constants.WTZD)){ - + updateIncidentSql += " ,RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,TRUE_REASON = :true_reason ,RESOLVE = :resolve ,SUGGEST = :suggest "; param.put("true_reason",true_reason ); param.put("resolve", resolve); @@ -1622,13 +1622,13 @@ } fileService.uploadFile(request,businessid, id, null, null); - + } updateIncidentSql += " WHERE ID = :questionId "; baseDao.execute(updateIncidentSql, param); - + baseDao.execute("DELETE FROM ORDER_ASSIGN_TEMP WHERE NODE_ID = :node_id ", new SqlParameter("node_id",nodeid)); - + //澧炲姞闂澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("鎸囨淳浠诲姟锛�"+userName+"灏嗛棶棰樻寚娲剧粰浜�"+dealUserName); @@ -1654,15 +1654,15 @@ messageFacade.doSendMessage(message, dealerList); resultMap.put("result", 1); type = ConvertUtil.obj2StrBlank(entity.getBefore_Dealer_type()); - + } SysInfoMsg msg = new SysInfoMsg(type,dealUserName,Constants.questionNode.get(node_template_id)); - + resultMap.put("msg", msg); } return resultMap; } - + @Override public void updatefinishnode(HttpServletRequest request) { String nodeId = request.getParameter("nodeId"); @@ -1677,7 +1677,7 @@ //鍏抽棴褰撳墠鑺傜偣 workflowCoreService.finishNode(base, node, finishEntity); } - + @Override public Map getBeforeNodeMsg(String nodeId) { WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); @@ -1691,20 +1691,20 @@ Map nodeMap = baseDao.queryForMap(sql, param); return nodeMap; } - - + + @Override public Map gobackNodeSubmit(HttpServletRequest request) { String flowId = request.getParameter("flowId"); String nodeId = request.getParameter("nodeId"); String orderId = request.getParameter("orderId"); - + WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(3); finishEntity.setDeal_note_title(userName+"鍥為��浜嗚妭鐐�"); @@ -1712,7 +1712,7 @@ WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); WORKFLOW_NODE beforenode = new WORKFLOW_NODE(node.getSource_node_instance_id()).getInstanceById(); String node_template_id = beforenode.getNode_template_id(); - + Map nodeMap = getBeforeNodeMsg(nodeId); List<Map> nodesList = baseDao.queryForList("SELECT * FROM WORKFLOW_NODE WHERE FLOWID = :flowid AND SAME_NODE_KEY = :same_node_key ",new SqlParameter("flowid",flowId).addValue("same_node_key", node.getSame_node_key())); //鍥為��鏃讹紝鍏抽棴鎵�鏈夎妭鐐� @@ -1721,7 +1721,7 @@ nodeid.setDealtime(ConvertUtil.obj2Long(nodes.get("DEALTIME"))).setAnswer_time(ConvertUtil.obj2Long(nodes.get("ANSWER_TIME"))); workflowCoreService.finishNode(base,nodeid , finishEntity); } - + String state = ""; if(node_template_id.equals(Constants.WTSL)) { state = Constants.SC_WORKFLOW_QUESTION_STATE_SL; @@ -1738,18 +1738,18 @@ }else{ state = Constants.SC_WORKFLOW_QUESTION_STATE_YDJ; } - + //鏇存柊闂鐘舵�� String updateSql = "UPDATE SC_WORKFLOW_QUESTION SET STATE = :state WHERE ID = :questionId "; baseDao.execute(updateSql, new SqlParameter("state",state).addValue("questionId", orderId)); - + List<Map> list = new ArrayList<Map>(); Map map = new HashMap(); map.put("USER_ID", nodeMap.get("CURRENT_DEALER_ID")); map.put("USER_NAME", nodeMap.get("CURRENT_DEALER_NAME")); map.put("IS_ADMIN", "1"); list.add(map); - + NodeDealEntity entity = new NodeDealEntity(); entity.setBefore_Dealer_type(2); entity.setDealer_type(2); @@ -1777,7 +1777,7 @@ resultMap.put("msg", msg); return resultMap; } - + @Override public Map updateApplyEnd(HttpServletRequest request) { Map resultMap = new HashMap(); @@ -1959,17 +1959,17 @@ resultMap.put("msg", msg); return resultMap; - - + + } - + @Override public Map getEndMsgById(String orderId) { String sql ="SELECT RESOLVE_TYPE_ID,TRUE_REASON,RESOLVE,SUGGEST FROM SC_WORKFLOW_QUESTION WHERE ID = :id "; Map faMap = baseDao.queryForMap(sql, new SqlParameter("id",orderId)); return faMap; } - + @Override public void updateEndQuestion(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -1978,17 +1978,17 @@ String solveWay = request.getParameter("solveWay"); String solveWayName = request.getParameter("solveWayName"); String solve = request.getParameter("solve"); - - + + String reason = request.getParameter("reason"); - - + + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + long resolveTime = DateUtil.getCurrentDate14(); - + String state = ""; if("1".equals(solve)){ state = Constants.SC_WORKFLOW_QUESTION_STATE_YWC; @@ -1996,8 +1996,8 @@ state = Constants.SC_WORKFLOW_QUESTION_STATE_YGB; } SC_WORKFLOW_QUESTION question = new SC_WORKFLOW_QUESTION(orderId).getInstanceById(); - - + + StringBuffer updateSql = new StringBuffer("UPDATE SC_WORKFLOW_QUESTION SET STATE = :state , RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,RESOLVE_TYPE_ID = :solveWay,RESOLVE_TYPE_NAME = :solveWayName "); Map paramMap = new HashMap(); if(StringUtil.isEmpty(question.getResolve_user_id())){ @@ -2016,10 +2016,10 @@ paramMap.put("resolve", map.get("RESOLVE")); paramMap.put("suggest", map.get("SUGGEST")); } - + } paramMap.put("state", state); - + paramMap.put("resolveTime", resolveTime); paramMap.put("solveWay", solveWay); paramMap.put("solveWayName", solveWayName); @@ -2043,18 +2043,18 @@ record.setBusiness_id(flowId); record.setNode_id(nodeid).setNode_name(nodeName); recordService.addRecord(record); - + //缁撴潫宸ュ崟 WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); - + List<Map> list = new ArrayList<Map>(); NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title(userName+"澶勭悊瀹屾垚"); finishEntity.setDeal_note(reason); - + WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); - + workflowCoreService.finishNode(base, node, finishEntity); if("1".equals(solve)){ workflowCoreService.finishWorkFlow(base); @@ -2062,7 +2062,7 @@ workflowCoreService.closeWorkFlow(base); } } - + @Override public List queryLinkwtOrder(HttpServletRequest request) { String orderCode = request.getParameter("orderCode"); @@ -2077,27 +2077,27 @@ param.addValue("orderid", orderid); param.addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); param.addValue("businesstype", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); - + if (StringUtils.isNotBlank(reordercode)) { sql.append("AND A.ORDER_CODE != :reordercode "); param.addValue("reordercode", reordercode); } - + if (StringUtils.isNotBlank(orderName)) { sql.append("AND B.NAME like :wfname "); param.addValue("wfname", "%"+orderName+"%"); } - + if (StringUtils.isNotBlank(orderCode)) { sql.append("AND A.ORDER_CODE like :orderCode "); param.addValue("orderCode", "%"+orderCode+"%"); } - + sql.append("ORDER BY A.WFSTATE ASC,A.CREATETIME DESC"); - - + + List<Map> list = baseDao.queryForList(sql.toString(),param); - + for (Map map2 : list) { map2.put("BUSINESSTYPE_TEXT", Constants.mapWORKFLOW_BUSINESS_TYPE_Label(ConvertUtil.obj2Str(map2.get("BUSINESSTYPE")))); map2.put("WFSTATE_TEXT", Constants.getWORKFLOW_BASE_WFSTATE_Label(ConvertUtil.obj2Str(map2.get("WFSTATE")))); @@ -2105,7 +2105,7 @@ } return list; } - + @Override public String getIsOpenQuestion(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -2114,7 +2114,7 @@ Map param = new HashMap(); param.put("bus_id", orderId); param.put("userId", userId); - + int count = baseDao.queryForInteger(sql, param); if(count > 0){ return "1"; @@ -2122,7 +2122,7 @@ return "0"; } } - + @Override public Map questionInfo(HttpServletRequest request) { String questionId=request.getParameter("orderId"); @@ -2168,7 +2168,7 @@ map.put("fileList", fileList); return map; } - + @Override public void updateResolveType(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -2204,10 +2204,10 @@ record.setNode_id(nodeid).setNode_name(nodeName); record = recordService.addRecord(record); fileService.uploadFile(request, record.getId(), flowId, null, null); - - + + WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title(createUserName+"缁撴潫鑺傜偣"); @@ -2217,9 +2217,9 @@ workflowCoreService.finishNode(base, node, finishEntity); //鍏抽棴宸ュ崟 workflowCoreService.closeWorkFlow(base); - + } - + @Override public void updateQuestiongq(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -2232,7 +2232,7 @@ Map user = WebUtil.getLoginUser(request).getLoginUser(); String createUserId = ConvertUtil.obj2StrBlank(user.get("ID")); String createUserName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + String sql = "INSERT INTO HANG_UP_INFO(ID,BUS_ID,BUS_STATE,STATE,HANG_UP_USERID,HANG_UP_USERNAME,HANG_UP_TIME,HANG_UP_REASONID,HANG_UP_REASON,HANG_UP_NOTE) VALUES(:id,:bus_id,:bus_state,:state,:hang_up_userid,:hang_up_username,:hang_up_time,:hang_up_reasonid,:hang_up_reason,:hang_up_note)"; Map param = new HashMap(); param.put("id", StringUtil.getUUID()); @@ -2267,9 +2267,9 @@ record.setNode_id(nodeid).setNode_name(nodeName); record = recordService.addRecord(record); fileService.uploadFile(request, record.getId(), flowId, null, null); - + } - + @Override public List queryGqhistoryData(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -2286,7 +2286,7 @@ } return gqList; } - + @Override public void updateQuestionOpen(HttpServletRequest request) { Map user = WebUtil.getLoginUser(request).getLoginUser(); @@ -2305,7 +2305,7 @@ HANG_UP_INFO qg = new HANG_UP_INFO(ConvertUtil.obj2StrBlank(qgMap.get("ID"))); qg.setState(2).setHang_down_reason(note).update(); } - + @Override public Map querymyQuestionpoolCount(HttpServletRequest request) { String userId = WebUtil.getLoginedUserId(request); @@ -2313,19 +2313,19 @@ int ywc = 0; //闂鍙楃悊 int wtsl = 0; - + //闂瀹℃牳 int wtsh = 0; - + //闂璇婃柇 int wtzd = 0; - + //鏂规瀹℃壒 int fasp = 0; - + //鏂规瀹炴柦 int fass = 0; - + //闂鍥為【 int wthg = 0; StringBuilder sql = new StringBuilder(); @@ -2334,7 +2334,7 @@ paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_QUESTION E, WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE D.CURRENT_DEAL_ROLEIDA = C.JSBH AND E.ID = D.BUSINESS_ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) AND D.BUSINESSTYPE = :businessType "); sqlall.append("SELECT COUNT(G.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_QUESTION E, WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE D.CURRENT_DEAL_ROLEIDA = C.JSBH AND E.ID = D.BUSINESS_ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) AND D.BUSINESSTYPE = :businessType "); - + String customer_Id = request.getParameter("customerId"); if(!StringUtil.isEmpty(customer_Id)){ sql.append(" AND E.CUSTOMER_ID = :customer_Id "); @@ -2362,57 +2362,57 @@ wtzd += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { fasp += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { fass += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { wthg += num; continue; } - + } } int all = baseDao.queryForInteger(sqlall.toString(), paramMap); Map map = new HashMap(); map.put("wtsl", wtsl); - + map.put("wtsh", wtsh); - + map.put("wtzd", wtzd); - + map.put("fasp", fasp); - + map.put("fass", fass); - + map.put("wthg", wthg); - + map.put("all", all); return map; } @Override public int myquestionpoolCount(Map<String, String> params) { - + String sql = new String(); params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); sql = "SELECT COUNT(D.ID) FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.JSBH AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) "; - - + + if(StringUtil.notEmpty(sql)) { StringBuilder builder = new StringBuilder(sql); - + builder = getMypoolsql(builder,params); - + int count = baseDao.queryForInteger(builder.toString(),params); - + return count; } @@ -2422,19 +2422,19 @@ @Override public PageInfo myquestionpoolData(PageInfo pageInfo, Map<String, String> params) { - + String sql = new String(); params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); sql = "SELECT D.* FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.JSBH AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) "; - + if(StringUtil.notEmpty(sql)) { - + StringBuilder builder = new StringBuilder(sql); builder = getMypoolsql(builder,params); - + builder.append(" ORDER BY D.CREATETIME DESC "); PageInfo result = baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); - + return result; } return new PageInfo(); @@ -2445,30 +2445,30 @@ Map chartMap = new HashMap(); Long endDay = DateUtil.getCurrentDate8(); Long startDay = DateUtil.getDateAdd(endDay,-30,8); - + String userId = params.get("userId"); params.put("startTime", startDay+"000000"); params.put("endTime", endDay + "600000"); - + StringBuilder builder = new StringBuilder(); if(StringUtil.isBlank(userId)){ builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_QUESTION where CUSTOMER_ID = :cusId "); - builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); + builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); }else{ builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_QUESTION q "); builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); - builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); + builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); } - + List<Map> dataList = baseDao.queryForList(builder.toString(),params); if(dataList!=null&&dataList.size()>0){ - + List<String> categories = DateUtil.getDates(startDay ,endDay); categories.add(String.valueOf(DateUtil.getCurrentDate8())); List<String> categories_format = new ArrayList<String>(); - - + + Map dataMap = new HashMap(); Map tempMap = new HashMap(); List<Map> series = new ArrayList<Map>(); @@ -2493,26 +2493,26 @@ } return chartMap; } - + public StringBuilder getMypoolsql(StringBuilder builder,Map<String, String> params){ String status = params.get("status"); if(StringUtil.notEmpty(status)) { builder.append(" AND E.STATE = :status "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { builder.append(" AND D.WFNAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - - + + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND D.ORDER_CODE LIKE :orderCode"); params.put("orderCode", "%"+orderCode+"%"); } - + String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { builder.append(" AND D.CUSTOMER_ID = :customerId "); @@ -2521,8 +2521,8 @@ if(StringUtil.notEmpty(subCustomerId)) { builder.append(" AND D.SUB_CUSTOMER_ID = :subCustomerId "); } - - + + builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); return builder; @@ -2532,14 +2532,14 @@ public Map getLastMonthQuestionLv(Map<String, String> params) { //dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI,WebUtil.getLoginedPartnerId(request)); Map chartMap = new HashMap(); - + Long endDay = DateUtil.getCurrentDate8(); Long startDay = DateUtil.getDateAdd(endDay,-30,8); String userId = params.get("userId"); params.put("startTime", startDay+"000000"); params.put("endTime", endDay + "600000"); - - + + StringBuilder builder = new StringBuilder(); if(StringUtil.isBlank(userId)){ builder.append(" SELECT count(ID) NUM,PRI_LEVEL_ID FROM SC_WORKFLOW_QUESTION WHERE "); @@ -2557,11 +2557,11 @@ Map dataMap = new HashMap(); Map tempMap = new HashMap(); List serieslist = new ArrayList(); - + for(Map data : dataList){ dataMap.put(data.get("PRI_LEVEL_ID").toString(), data); } - + builder.setLength(0); builder.append(" select ID LEVEL_ID,LEVEL_NAME from SC_SLA where state =1 order by SERIAL "); List<Map> catelist = baseDao.queryForList(builder.toString()); @@ -2585,11 +2585,11 @@ Map chartMap = new HashMap(); Long endDay = DateUtil.getCurrentDate8(); Long startDay = DateUtil.getDateAdd(endDay,-30,8); - + String userId = params.get("userId"); params.put("startTime", startDay+"000000"); params.put("endTime", endDay + "600000"); - + StringBuilder builder = new StringBuilder(); if(StringUtil.isBlank(userId)){ builder.append(" SELECT count(ID) NUM,PRIORITY_ID FROM SC_WORKFLOW_QUESTION WHERE "); @@ -2601,7 +2601,7 @@ builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.PRIORITY_ID "); } - + List<Map> dataList = baseDao.queryForList(builder.toString(),params); if(dataList!=null&&dataList.size()>0){ Map dataMap = new HashMap(); @@ -2631,11 +2631,11 @@ Map chartMap = new HashMap(); Long endDay = DateUtil.getCurrentDate8(); Long startDay = DateUtil.getDateAdd(endDay,-30,8); - + String userId = params.get("userId"); params.put("startTime", startDay+"000000"); params.put("endTime", endDay + "600000"); - + StringBuilder builder = new StringBuilder(); if(StringUtil.isBlank(userId)){ builder.append(" SELECT count(ID) NUM,INFLUENCE_ID FROM SC_WORKFLOW_QUESTION WHERE "); @@ -2647,7 +2647,7 @@ builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.INFLUENCE_ID "); } - + List<Map> dataList = baseDao.queryForList(builder.toString(),params); if(dataList!=null&&dataList.size()>0){ Map dataMap = new HashMap(); @@ -2679,24 +2679,24 @@ Map chartMap = new HashMap(); Long endDay = DateUtil.getCurrentDate8(); Long startDay = DateUtil.getDateAdd(endDay,-30,8); - + StringBuilder builder = new StringBuilder(); String userId = params.get("userId"); params.put("startTime", startDay+"000000"); params.put("endTime", endDay + "600000"); if(StringUtil.isBlank(userId)){ - builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_QUESTION where CUSTOMER_ID = :cusId "); - builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); + builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_QUESTION where CUSTOMER_ID = :cusId "); + builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); }else{ builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_QUESTION q,WORKFLOW_BASE b "); builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); - builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); + builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); } - - - - + + + + List<Map> dataList = baseDao.queryForList(builder.toString(),params); if(dataList!=null&&dataList.size()>0){ builder.setLength(0); @@ -2740,9 +2740,9 @@ int jxzcount = 0; if("1".equals(type)){ poolcount = questionpoolCount(params); - + dxycount = queryQuestionOrderNodeCount(params); - + jxzcount = queryQuestionJxzCount(params); }else{ poolcount = myquestionpoolCount(params); @@ -2751,7 +2751,7 @@ params.put("type", "2"); jxzcount = querymyQuestionOrderNodeCount(params); } - + Map map = new HashMap(); map.put("poolcount", poolcount); map.put("dxycount", dxycount); @@ -2767,40 +2767,40 @@ int ywc = 0; //闂鍙楃悊 int wtsl = 0; - + //闂瀹℃牳 int wtsh = 0; - + //闂璇婃柇 int wtzd = 0; - + //鏂规瀹℃壒 int fasp = 0; - + //鏂规瀹炴柦 int fass = 0; - + //闂鍥為【 int wthg = 0; - + StringBuffer selectSql = new StringBuffer(); StringBuffer sql = new StringBuffer(); - + Map paramMap = new HashMap(); paramMap.put("flowstate", type); paramMap.put("userId", params.get("userId")); - selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); - sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); + selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,A.STATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); + sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); if(!StringUtil.isEmpty(customerId)){ selectSql.append(" AND A.CUSTOMER_ID = :customerId "); sql.append(" AND A.CUSTOMER_ID = :customerId "); paramMap.put("customerId", customerId); } - - - selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); + + + selectSql.append(" GROUP BY A.ID,A.STATE) D GROUP BY D.STATE "); sql.append(" GROUP BY A.ID) D "); - + List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); if(null!=list && list.size()>0) { for(Map map : list) { @@ -2818,40 +2818,40 @@ wtzd += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { fasp += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { fass += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { wthg += num; continue; } - + } } int all = baseDao.queryForInteger(sql.toString(), paramMap); Map map = new HashMap(); map.put("wtsl", wtsl); - + map.put("wtsh", wtsh); - + map.put("wtzd", wtzd); - + map.put("fasp", fasp); - + map.put("fass", fass); - + map.put("wthg", wthg); - + map.put("all", all); - + return map; } @@ -2859,16 +2859,16 @@ public int querymyQuestionEndCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); - + sqlpart.append( " AND WB.WFSTATE = :state "); params.put("state", params.get("type")); - + sql.append(sqlpart); sql.append( " GROUP BY B.ID ) D"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + return baseDao.queryForInteger(sql.toString(),params); } @@ -2877,24 +2877,24 @@ Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); + sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME, "); sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON "); sql.append("FROM (SELECT F.* FROM WORKFLOW_BASE F WHERE F.BUSINESSTYPE = :businessType ) WB , WORKFLOW_NODE C ,SC_WORKFLOW_QUESTION B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); sqlpart = getMyEndSql(sqlpart,params); - + sqlpart.append( " AND WB.WFSTATE = :state "); params.put("state", params.get("type")); sql.append(sqlpart); - sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); - + sql.append( " GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME, D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON ORDER BY WB.CREATETIME DESC "); + return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + public StringBuilder getMyEndSql(StringBuilder sqlpart,Map<String, String> params){ - + String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { sqlpart.append(" AND B.CUSTOMER_ID = :customerId "); @@ -2903,27 +2903,27 @@ if(StringUtil.notEmpty(subCustomerId)) { sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { sqlpart.append(" AND B.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); params.put("orderCode", "%"+orderCode+"%"); } - - + + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - - + + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -2941,9 +2941,9 @@ sqlpart.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -2961,8 +2961,8 @@ sqlpart.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -2980,8 +2980,8 @@ sqlpart.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -3006,15 +3006,15 @@ public int querymyQuestionOrderNodeCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); params.put("flowstate", params.get("type")); sqlpart = getMyNodeSql(sqlpart,params); - + sql.append(sqlpart); sql.append( " GROUP BY B.ID ) D"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + return baseDao.queryForInteger(sql.toString(),params); } @@ -3023,7 +3023,7 @@ Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,C.FLOWSTATE, "); + sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,C.FLOWSTATE, "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); @@ -3031,11 +3031,11 @@ params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); sqlpart = getMyNodeSql(sqlpart,params); sql.append(sqlpart); - sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); - + sql.append( " GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, C.FLOWSTATE, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); + return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + public StringBuilder getMyNodeSql(StringBuilder sqlpart,Map<String, String> params){ String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { @@ -3045,27 +3045,27 @@ if(StringUtil.notEmpty(subCustomerId)) { sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { sqlpart.append(" AND B.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); params.put("orderCode", "%"+orderCode+"%"); } - - + + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - - + + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -3083,9 +3083,9 @@ sqlpart.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -3103,8 +3103,8 @@ sqlpart.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -3122,8 +3122,8 @@ sqlpart.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -3146,7 +3146,7 @@ sqlpart.append( " AND B.STATE = :state "); params.put("state", status); } - + return sqlpart; } @@ -3156,19 +3156,19 @@ int ywc = 0; //闂鍙楃悊 int wtsl = 0; - + //闂瀹℃牳 int wtsh = 0; - + //闂璇婃柇 int wtzd = 0; - + //鏂规瀹℃壒 int fasp = 0; - + //鏂规瀹炴柦 int fass = 0; - + //闂鍥為【 int wthg = 0; StringBuffer sql = new StringBuffer(); @@ -3177,18 +3177,18 @@ paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); //鏌ヨ璇ヤ汉鍛樻墍灞炵殑椤圭洰 sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); - sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.* FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); - + sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); + sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); sqlall.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); - + String customer_Id = request.getParameter("customerId"); if(!StringUtil.isEmpty(customer_Id)){ sql.append(" AND E.CUSTOMER_ID = :customer_Id "); sqlall.append(" AND E.CUSTOMER_ID = :customer_Id "); paramMap.put("customer_Id", customer_Id); } - + sql.append(" GROUP BY E.STATE "); sqlall.append(" GROUP BY E.ID) F "); List<Map> list = baseDao.queryForList(sql.toString(),paramMap); @@ -3208,38 +3208,38 @@ wtzd += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { fasp += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { fass += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { wthg += num; continue; } - + } } int all = baseDao.queryForInteger(sqlall.toString(), paramMap); Map map = new HashMap(); map.put("wtsl", wtsl); - + map.put("wtsh", wtsh); - + map.put("wtzd", wtzd); - + map.put("fasp", fasp); - + map.put("fass", fass); - + map.put("wthg", wthg); - + map.put("all", all); return map; } @@ -3253,25 +3253,25 @@ * 濡傛灉鏄鎴锋湇鍔″彴锛屾煡璇㈡垜鐨勫伐鍗曟睜 鍒欐煡璇㈠伐鍗曡〃涓垎缁勬槸 锛堟煡璇㈣瀹㈡埛涓嬫墍鏈夌殑椤圭洰鐨勬湇鍔″彴鍒嗙粍锛� * 濡傛灉鏄�绘湇鍔″彴锛屽垯鏌ヨ鎵�鏈夊鎴蜂笅锛堝姞鐩熷晢涓嬫墍鏈夐」鐩殑鏈嶅姟鍙板垎缁勶級 */ - + StringBuffer sql = new StringBuffer(); params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); - + sql.append("SELECT COUNT(D.ID) FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); - + String customer_Id = params.get("customer_Id"); if(!StringUtil.isEmpty(customer_Id)){ sql.append(" AND B.CUSTOMER_ID = :customer_Id "); } - + sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); StringBuilder builder = new StringBuilder(sql); builder = getPoolSql(builder,params); builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType",ConvertUtil.obj2StrBlank( Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + int count = baseDao.queryForInteger(builder.toString(),params); - + return count; } @@ -3280,16 +3280,16 @@ Map<String, String> params) { /** * 鏌ヨ鎴戠殑宸ュ崟姹犺鍒� - * 濡傛灉鏄」鐩湇鍔″彴锛屽垯鐩存帴鏌ヨ宸ュ崟琛� + * 濡傛灉鏄」鐩湇鍔″彴锛屽垯鐩存帴鏌ヨ宸ュ崟琛� * 濡傛灉鏄鎴锋湇鍔″彴锛屾煡璇㈡垜鐨勫伐鍗曟睜 鍒欐煡璇㈠伐鍗曡〃涓垎缁勬槸 锛堟煡璇㈣瀹㈡埛涓嬫墍鏈夌殑椤圭洰鐨勫垎缁勶級 * 濡傛灉鏄�绘湇鍔″彴锛屽垯鏌ヨ鎵�鏈夊鎴蜂笅锛堝姞鐩熷晢涓嬫墍鏈夐」鐩殑鍒嗙粍锛� */ - + StringBuffer sql = new StringBuffer(); params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); //鏌ヨ璇ヤ汉鍛樻墍灞炵殑椤圭洰 sql.append("SELECT D.* FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); - + String customer_Id = params.get("customer_Id"); if(!StringUtil.isEmpty(customer_Id)){ sql.append(" AND B.CUSTOMER_ID = :customer_Id "); @@ -3297,16 +3297,16 @@ sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); StringBuilder builder = new StringBuilder(sql); builder = getPoolSql(builder,params); - + builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + builder.append(" ORDER BY D.CREATETIME DESC "); PageInfo result = baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); - + return result; } - + public StringBuilder getPoolSql(StringBuilder builder,Map<String, String> params){ String status = params.get("status"); if(StringUtil.notEmpty(status)) { @@ -3320,20 +3320,20 @@ if(StringUtil.notEmpty(subCustomerId)) { builder.append(" AND D.SUB_CUSTOMER_ID = :subCustomerId "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { builder.append(" AND D.WFNAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - - + + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND D.ORDER_CODE LIKE :orderCode"); params.put("orderCode", "%"+orderCode+"%"); } - + String customerName = params.get("customerName"); if(StringUtil.notEmpty(customerName)) { builder.append(" AND D.CUSTOMER_NAME LIKE :customerName "); @@ -3341,46 +3341,46 @@ } return builder; } - + @Override public Map queryQuestionNodeCount(HttpServletRequest request) { //鍒濆鍖栧彉閲� int ywc = 0; //闂鍙楃悊 int wtsl = 0; - + //闂瀹℃牳 int wtsh = 0; - + //闂璇婃柇 int wtzd = 0; - + //鏂规瀹℃壒 int fasp = 0; - + //鏂规瀹炴柦 int fass = 0; - + //闂鍥為【 int wthg = 0; - - + + //鍙湁鏈嶅姟鍙板拰绠$悊浜哄憳鎵嶅彲浠ョ湅鍒版墍鏈夌殑宸ュ崟锛岋紙鎵�浠ユ煡璇㈠綋鍓嶇殑鐢ㄦ埛灞炰簬閭g鏈嶅姟鍙帮級 StringBuffer selectSql = new StringBuffer(); StringBuffer sql = new StringBuffer(); - + Map paramMap = new HashMap(); - selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); - sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); + selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,a.STATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); + sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); String customer_Id = request.getParameter("customerId"); if(!StringUtil.isEmpty(customer_Id)){ selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); sql.append(" AND A.CUSTOMER_ID = :customer_Id "); paramMap.put("customer_Id", customer_Id); } - selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); + selectSql.append(" GROUP BY A.ID,a.STATE) D GROUP BY D.STATE "); sql.append(" GROUP BY A.ID) D "); - + List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); if(null!=list && list.size()>0) { for(Map map : list) { @@ -3398,40 +3398,40 @@ wtzd += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { fasp += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { fass += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { wthg += num; continue; } - + } } int all = baseDao.queryForInteger(sql.toString(), paramMap); Map map = new HashMap(); map.put("wtsl", wtsl); - + map.put("wtsh", wtsh); - + map.put("wtzd", wtzd); - + map.put("fasp", fasp); - + map.put("fass", fass); - + map.put("wthg", wthg); - + map.put("all", all); - + return map; } @@ -3439,14 +3439,14 @@ public int queryQuestionOrderNodeCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); sqlpart = getNodeSql(sqlpart,params); - + sql.append(sqlpart); sql.append( " GROUP BY B.ID ) D"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + return baseDao.queryForInteger(sql.toString(),params); } @@ -3455,19 +3455,19 @@ Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); + sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); sql.append("FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); sqlpart = getNodeSql(sqlpart,params); - + sql.append(sqlpart); - sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); - + sql.append( " GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); + return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + public StringBuilder getNodeSql(StringBuilder sqlpart,Map<String, String> params){ String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { @@ -3477,27 +3477,27 @@ if(StringUtil.notEmpty(subCustomerId)) { sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { sqlpart.append(" AND B.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); params.put("orderCode", "%"+orderCode+"%"); } - - + + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - - + + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -3515,9 +3515,9 @@ sqlpart.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -3535,8 +3535,8 @@ sqlpart.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -3554,7 +3554,7 @@ sqlpart.append(")"); } } - + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -3576,16 +3576,16 @@ if(StringUtil.notEmpty(status)) { sqlpart.append( " AND B.STATE = :state "); params.put("state", status); - + } return sqlpart; } - + @Override public int queryQuestionJxzCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND (\n" + "\tB.STATE != '9'\n" + "\tAND B.STATE != '10'\n" + @@ -3595,7 +3595,7 @@ sql.append(sqlpart); sql.append( " GROUP BY B.ID ) D"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + return baseDao.queryForInteger(sql.toString(),params); } @@ -3604,7 +3604,7 @@ Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT WB.* ,B.STATE ,B.NAME "); + sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID, B.STATE , B.NAME "); sql.append("FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB LEFT JOIN WORKFLOW_NODE C ON C.FLOWID = WB.ID\n" + "AND WB.CURRENT_NODE_ID = C.ID "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND (\n" + @@ -3615,11 +3615,11 @@ params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); sqlpart = getJxzSql(sqlpart,params); sql.append(sqlpart); - sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); - + sql.append( " GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); + return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + public StringBuilder getJxzSql(StringBuilder sqlpart,Map<String, String> params){ String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { @@ -3629,27 +3629,27 @@ if(StringUtil.notEmpty(subCustomerId)) { sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { sqlpart.append(" AND B.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); params.put("orderCode", "%"+orderCode+"%"); } - - + + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - - + + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -3667,9 +3667,9 @@ sqlpart.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -3687,8 +3687,8 @@ sqlpart.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -3706,8 +3706,8 @@ sqlpart.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -3739,33 +3739,33 @@ int ywc = 0; //闂鍙楃悊 int wtsl = 0; - + //闂瀹℃牳 int wtsh = 0; - + //闂璇婃柇 int wtzd = 0; - + //鏂规瀹℃壒 int fasp = 0; - + //鏂规瀹炴柦 int fass = 0; - + //闂鍥為【 int wthg = 0; - - + + //鍙湁鏈嶅姟鍙板拰绠$悊浜哄憳鎵嶅彲浠ョ湅鍒版墍鏈夌殑宸ュ崟锛岋紙鎵�浠ユ煡璇㈠綋鍓嶇殑鐢ㄦ埛灞炰簬閭g鏈嶅姟鍙帮級 StringBuffer selectSql = new StringBuffer(); StringBuffer sql = new StringBuffer(); - + Map paramMap = new HashMap(); selectSql.append( "SELECT COUNT(*) AS NUM,A.STATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B LEFT JOIN WORKFLOW_NODE C ON B.ID = C.FLOWID\n" + "AND B.CURRENT_NODE_ID = C.ID\n" + "AND C.FLOWSTATE <> 3 WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE = 1 AND C.FLOWSTATE is not null"); sql.append( "SELECT COUNT(A.ID) FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID"); - + String customer_Id = request.getParameter("customerId"); if(!StringUtil.isEmpty(customer_Id)){ selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); @@ -3773,7 +3773,7 @@ paramMap.put("customer_Id", customer_Id); } selectSql.append(" GROUP BY A.STATE "); - + List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); if(null!=list && list.size()>0) { for(Map map : list) { @@ -3791,58 +3791,58 @@ wtzd += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { fasp += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { fass += num; continue; } - + if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { wthg += num; continue; } - + } } sql.append(" AND A.STATE != '9' AND A.STATE !='7' AND A.STATE != '10'"); int all = baseDao.queryForInteger(sql.toString(), paramMap); Map map = new HashMap(); map.put("wtsl", wtsl); - + map.put("wtsh", wtsh); - + map.put("wtzd", wtzd); - + map.put("fasp", fasp); - + map.put("fass", fass); - + map.put("wthg", wthg); - + map.put("all", all); - + return map; } - + @Override public int queryQuestionEndCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = :type "); params.put("type", params.get("type")); - + sqlpart = getEndSql(sqlpart,params); - + sql.append(sqlpart); sql.append( " GROUP BY B.ID ) D"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + return baseDao.queryForInteger(sql.toString(),params); } @@ -3851,22 +3851,23 @@ Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); + sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, WB.ENDTIME , "); +// sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME ,"); sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB, WORKFLOW_NODE C ,SC_WORKFLOW_QUESTION B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND WB.WFSTATE = :type "); params.put("type", params.get("type")); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); - + sqlpart = getEndSql(sqlpart,params); - + sql.append(sqlpart); - sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); - + sql.append( " GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME , D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); + return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } - + public StringBuilder getEndSql(StringBuilder sqlpart,Map<String, String> params){ String customerId = params.get("customerId"); if(StringUtil.notEmpty(customerId)) { @@ -3876,27 +3877,27 @@ if(StringUtil.notEmpty(subCustomerId)) { sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { sqlpart.append(" AND B.NAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); params.put("orderCode", "%"+orderCode+"%"); } - - + + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - - + + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -3914,9 +3915,9 @@ sqlpart.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -3934,8 +3935,8 @@ sqlpart.append(")"); } } - - + + String source = params.get("source"); if(StringUtil.notEmpty(source)) { String[] sources = source.split(","); @@ -3953,8 +3954,8 @@ sqlpart.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -3979,7 +3980,7 @@ } return sqlpart; } - + @Override public String queryQuestionGroupDealer(HttpServletRequest request) { String group_Id = request.getParameter("group_id"); @@ -4003,7 +4004,7 @@ } return userName.toString(); } - + @Override public String queryQuestionDealer(HttpServletRequest request) { StringBuffer userName = new StringBuffer(); @@ -4022,6 +4023,6 @@ return userName.toString(); } - + } diff --git a/src/cn/ksource/web/facade/releaseManage/ReleaseFacadeImpl.java b/src/cn/ksource/web/facade/releaseManage/ReleaseFacadeImpl.java index ad513ef..3db47f5 100644 --- a/src/cn/ksource/web/facade/releaseManage/ReleaseFacadeImpl.java +++ b/src/cn/ksource/web/facade/releaseManage/ReleaseFacadeImpl.java @@ -1,15 +1,5 @@ package cn.ksource.web.facade.releaseManage; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Repository; - import cn.ksource.beans.GG_RECORD; import cn.ksource.beans.SC_WORKFLOW_RELEASE; import cn.ksource.beans.WORKFLOW_BASE; @@ -18,7 +8,6 @@ import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; -import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.util.TreeUtil; import cn.ksource.core.web.SysInfoMsg; @@ -33,7 +22,15 @@ import cn.ksource.web.service.WorkOrderCodeService; import cn.ksource.web.service.record.RecordService; import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; - +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @SuppressWarnings("unchecked") @Repository public class ReleaseFacadeImpl implements ReleaseFacade{ @@ -43,17 +40,17 @@ private DSLFacade dslFacade; @Autowired private ChangeFacade changeFacade; - + @Autowired private WorkOrderCodeService workOrderCodeService; - + @Autowired private WorkFlowSupportService workFlowSupportService; @Autowired private RecordService recordService; @Autowired private WorkflowCoreService workflowCoreService; - + /** * 鑾峰彇鎴戠殑鍙戝竷绠$悊鏁版嵁 * @param request @@ -88,7 +85,7 @@ .addValue("startDate", startDate+"000000") .addValue("endDate", endDate+"666666"); - + StringBuilder builder = new StringBuilder(); builder.append(" select r.NAME,b.CURRENT_DEALER_NAME,r.PROJECT_NAME,r.RELEASE_REASON,n.*,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); builder.append(" r.ORDER_CODE,r.ID ORDERID,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); @@ -101,11 +98,11 @@ builder.append(" where CURRENT_DEALER_ID = :userId "); //鐜妭鐘舵�� if(StringUtil.isNotBlank(nodeState)){ - builder.append("and FLOWSTATE =:nodeState "); + builder.append("and FLOWSTATE =:nodeState "); } builder.append(" order by FLOWSTATE asc "); builder.append(" ) t "); - builder.append(" group by FLOWID "); + builder.append(" group by FLOWID,NODEID,NODETIME,NODESTATE "); builder.append(" ) n "); builder.append(" on b.ID = n.FLOWID "); //builder.append(" where b.PARTNER_ID =:partnerId "); @@ -114,9 +111,9 @@ //宸ュ崟鐘舵�� if(StringUtil.notEmpty(flowState)) { builder.append(" AND b.WFSTATE =:flowState "); - + } - + //瀹㈡埛 if(StringUtil.isNotBlank(customerId)) { builder.append(" AND b.CUSTOMER_ID = :customerId "); @@ -129,7 +126,7 @@ if(StringUtil.isNotBlank(projectId)) { builder.append(" AND b.PROJECT_ID = :projectId "); } - + if(StringUtil.notEmpty(orderCode)) { builder.append(" AND r.ORDER_CODE LIKE :orderCode"); } @@ -145,13 +142,13 @@ builder.append(" order by n.NODESTATE ASC,n.NODETIME desc,b.CREATETIME desc "); - + Map supportMap = new HashMap(); supportMap.put("sql", builder.toString()); supportMap.put("param", param); return supportMap; } - + @Override public int queryMyRealseCount(HttpServletRequest request) { Map supportMap = getMyRealseSupportMap(request); @@ -167,7 +164,7 @@ SqlParameter param = (SqlParameter)supportMap.get("param"); return baseDao.queryforSplitPage(request, sql, param); } - + @Override public List queryLinkDeviceList(String flowId) { String sql = " select c.id,c.ciname,c.position,c.SEARCHCODE seachcode from cmdb_ci_base c " + @@ -189,13 +186,13 @@ } return list; } - + @Override public Map getChangeInfoById(String changeId) { String sql = "select oa_id,id change_id,name,customer_id,customer_name,project_id,project_name from sc_workflow_change where id = :changeId "; return baseDao.queryForMap(sql, new SqlParameter("changeId", changeId)); } - + @Override public String saveRelease(HttpServletRequest request, SC_WORKFLOW_RELEASE release) { String orderId = request.getParameter("orderId"); @@ -258,7 +255,7 @@ String[] linkOrderIds = request.getParameterValues("linkOrderId"); String[] linkDeviceIds = request.getParameterValues("linkDeviceId"); - + if(StringUtil.isBlank(flowId)||flowId.equals(orderId)){ String sql = " update sc_workflow_release set flow_id = :orderId where id=:orderId "; baseDao.execute(sql, new SqlParameter("orderId",orderId)); @@ -272,7 +269,7 @@ //saveSysInfo(orderId,sysInfoJson); return orderId; } - + @Override public SysInfoMsg doOrganizationDSL(HttpServletRequest request){ String orderId = request.getParameter("orderId"); @@ -322,7 +319,7 @@ sql = " update DSL_ORDER_LINK set FLOW_ID = :flowId where FLOW_ID = :orderId "; baseDao.execute(sql, param); } - + //澧炲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("鍒涘缓鍙戝竷锛�"+userName+"鍒涘缓浜嗗彂甯冩祦绋�"); @@ -331,10 +328,10 @@ record.setDeal_user_name(userName); record.setBusiness_id(flowId); recordService.addRecord(record); - + return msg; } - + @Override public Map getDSLInfo(String configureId, String thirdCateId, String flowId, String partnerId) { SqlParameter param = new SqlParameter(); @@ -342,7 +339,7 @@ .addValue("thirdCateId", thirdCateId) .addValue("flowId", flowId) .addValue("partnerId", partnerId); - + StringBuilder builder = new StringBuilder(); //鏌ヨdsl鍩烘湰淇℃伅 builder.append(" select id,pid,'name',note,lv from CONFIG_DSL where state=1 and THIRD_CATEGORY_ID=:thirdCateId and PARTNER_ID=:partnerId order by lv,sort_id asc "); @@ -366,7 +363,7 @@ root.put("versionNo",versionNo); return root; } - + @Override public Map getNextNode(Map<String, String> params) { String nodeId = params.get("nodeId"); @@ -395,7 +392,7 @@ nextNode.put("curTemplateId", templateId); return nextNode; } - + @Override public SysInfoMsg doApproveAssign(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -412,7 +409,7 @@ return doReleaseNotice(request); /*}*/ } - + @Override public SysInfoMsg doReleaseNotice(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -422,16 +419,16 @@ Map user = WebUtil.getLoginUser(request).getLoginUser(); String userName = user.get("ZSXM").toString(); String userId = user.get("Id").toString(); - + SC_WORKFLOW_RELEASE release = new SC_WORKFLOW_RELEASE(orderId).getInstanceById(); - + List<Map> userList = new ArrayList<Map>(); Map executorMap = new HashMap(); executorMap.put("USER_ID", release.getExecute_id()); executorMap.put("USER_NAME", release.getExecute_name()); executorMap.put("IS_ADMIN", "1"); userList.add(executorMap); - + WorkFlowSupportEntity support = new WorkFlowSupportEntity(); support.setFlowId(flowId); support.setNodeId(nodeId); @@ -442,7 +439,7 @@ support.setNextNodeTemplateId(Constants.RELEASE_EXECUTE); support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); SysInfoMsg msg = workFlowSupportService.doOrderFlow(support); - + //澧炲姞澶勭悊璁板綍 String dealUserName=""; for(Map map:userList){ @@ -459,10 +456,10 @@ record.setDeal_user_name(userName); record.setBusiness_id(flowId); recordService.addRecord(record); - + return msg; } - + @Override public SysInfoMsg doReleaseExec(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -490,16 +487,16 @@ support.setUserName(userName); support.setUserId(userId); support.setNote(flowNote); - + support.setEverDealflag(true); support.setEverNodeTemplateId(Constants.RELEASE_APPROVE); support.setNextNodeTemplateId(Constants.RELEASE_APPROVAL); support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); SysInfoMsg msg = workFlowSupportService.doOrderFlow(support); - + //鏌ヨ鍙戝竷瀹℃壒涓昏礋璐d汉() Map<String, String> lastNode = changeFacade.queryUserByTemplateId(flowId, Constants.RELEASE_APPROVE); - + //澧炲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("宸ュ崟娴佽浆锛�"+userName+"灏嗗伐鍗曞彂閫佺粰浜�"+lastNode.get("CURRENT_DEALER_NAME")); @@ -508,7 +505,7 @@ record.setDeal_user_name(userName); record.setBusiness_id(flowId); recordService.addRecord(record); - + return msg; } @@ -520,7 +517,7 @@ String nodeId = request.getParameter("nodeId"); String flowId = request.getParameter("flowId"); String flowNote = request.getParameter("flowNote"); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userName = user.get("ZSXM").toString(); String userId = user.get("Id").toString(); @@ -568,12 +565,12 @@ return null; } } - + @Override public void doOrderFinish(HttpServletRequest request){ String orderId = request.getParameter("orderId"); - String nodeId = request.getParameter("nodeId"); - String flowNote = request.getParameter("flowNote"); + String nodeId = request.getParameter("nodeId"); + String flowNote = request.getParameter("flowNote"); String sucessFlag = request.getParameter("sucessFlag"); if (StringUtil.isBlank(sucessFlag)) { sucessFlag = "1"; @@ -596,7 +593,7 @@ support.setFlowEndflag(true); support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); workFlowSupportService.doOrderFlow(support); - + //淇濆瓨dsl鎿嶄綔璁板綍 dslFacade.saveConfigDslDealRecord(flowId); //鏇存柊dsl鍏崇郴 @@ -614,13 +611,13 @@ record.setBusiness_id(flowId); recordService.addRecord(record); } - + @Override public List querySysInfoList(String orderId) { String sql = " select * from SC_WORKFLOW_RELEASE_BUSINESS_SYS where BUSINESS_ID = :orderId" ; return baseDao.queryForList(sql,new SqlParameter().addValue("orderId", orderId)); } - + @Override public boolean doAnswer(HttpServletRequest request) { String flowId = request.getParameter("flowId"); @@ -634,7 +631,7 @@ boolean flag = workflowCoreService.answerNode(base, node, entity); return flag; } - + @Override public SysInfoMsg doSendBack(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -656,7 +653,7 @@ SysInfoMsg msg = workFlowSupportService.doOrderSendback(support); return msg; } - + @Override public void doCloseFlow(HttpServletRequest request) { String orderId = request.getParameter("orderId"); @@ -673,7 +670,7 @@ WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); workflowCoreService.finishNode(base, node, finishEntity); workflowCoreService.closeWorkFlow(base); - + String flowId = base.getId(); //淇濆瓨dsl鎿嶄綔璁板綍 dslFacade.saveConfigDslDealRecord(flowId); @@ -683,7 +680,7 @@ changeFacade.saveRelationWhenClose(flowId); //鍒犻櫎鍙樻洿涓殑閰嶇疆鍏崇郴 changeFacade.delRelationWhenClose(flowId); - + //澧炲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("宸ュ崟鍏抽棴锛�"+userName+"鍏抽棴浜嗗伐鍗�"); @@ -693,14 +690,14 @@ record.setBusiness_id(node.getFlowid()); recordService.addRecord(record); } - + @Override public Map getSurveyNum(HttpServletRequest request) { Map result = new HashMap(); //String partnerId = WebUtil.getLoginedPartnerId(request); SqlParameter param = new SqlParameter(); param.addValue("businessType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); - + List<Map> projects = new ArrayList<Map>(); //projects = WebUtil.getProjects(request); StringBuilder builder = new StringBuilder(); @@ -730,7 +727,7 @@ } return result; } - + @Override public List<Map> queryRealseData(HttpServletRequest request) { StringBuilder builder = new StringBuilder(); @@ -799,7 +796,7 @@ String sql = "select count(*) from ( " + builder.toString() + " ) t" ; return baseDao.queryForInteger(sql.toString(),paramMap); } - + /** * 鏈嶅姟鍙板伐鍗曞垪琛� * @param request @@ -813,17 +810,17 @@ String nodeTemplateId = request.getParameter("nodeTemplateId"); String nodeTempId = request.getParameter("nodeTempId"); - + /*List<Map> projects = new ArrayList<Map>(); if(StringUtil.notEmpty(customerId) && StringUtil.notEmpty(projectId)) { - + } else if (StringUtil.notEmpty(customerId) && !StringUtil.notEmpty(projectId)) { //閫氳繃褰撳墠瀹㈡埛鏌ヨ鍑烘墍鏈夌殑椤圭洰淇℃伅 projects = slaProjectFacade.queryProjects(request, customerId); } else { projects = WebUtil.getProjects(request); }*/ - + StringBuilder builder = new StringBuilder(); builder.append(" select n.FLOWSTATE NODESTATE,b.CURRENT_DEALER_NAME,b.PROJECT_NAME,r.RELEASE_REASON,b.ID FLOWID,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); builder.append(" r.ORDER_CODE,r.ID ORDERID,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); @@ -840,15 +837,15 @@ if(StringUtil.isNotBlank(nodeTemplateId)){ builder.append(" and n.NODE_TEMPLATE_ID IS NOT NULL and n.NODE_TEMPLATE_ID =:nodeTemplateId and b.WFSTATE = 1 "); } - - + + /*if(StringUtil.notEmpty(customerId) && StringUtil.notEmpty(projectId)) { builder.append(" AND b.CUSTOMER_ID = :customerId AND b.PROJECT_ID = :projectId "); } else { builder = getProjectSql(builder,projects); }*/ - - + + //瀹㈡埛 if(StringUtil.isNotBlank(customerId)) { builder.append(" AND b.CUSTOMER_ID = :customerId "); @@ -856,7 +853,7 @@ //涓嬪睘鍗曚綅 if(StringUtil.isNotBlank(subCustomerId)) { builder.append(" AND b.SUB_CUSTOMER_ID = :subCustomerId "); - + } //宸ュ崟缂栧彿 String orderCode = request.getParameter("orderCode"); @@ -884,8 +881,8 @@ if(StringUtil.notEmpty(nodeTempId)) { builder.append(" AND EXISTS (SELECT n.ID FROM WORKFLOW_NODE n WHERE b.CURRENT_NODE_ID = n.ID AND n.NODE_TEMPLATE_ID = :nodeTempId ) "); } - - builder.append(" order by b.CREATETIME desc "); + + builder.append(" order by b.CREATETIME desc "); return builder; } diff --git a/src/cn/ksource/web/facade/servicelist/SlaProjectFacadeImpl.java b/src/cn/ksource/web/facade/servicelist/SlaProjectFacadeImpl.java index 8e15191..ce5d8a1 100644 --- a/src/cn/ksource/web/facade/servicelist/SlaProjectFacadeImpl.java +++ b/src/cn/ksource/web/facade/servicelist/SlaProjectFacadeImpl.java @@ -1,15 +1,5 @@ package cn.ksource.web.facade.servicelist; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - import cn.ksource.beans.CONFIG_DATA_DICTIONARY; import cn.ksource.beans.CUSTOMER_CONTACTS; import cn.ksource.beans.SC_SERVCE_CATEGORY; @@ -24,6 +14,14 @@ import cn.ksource.web.SysConstants; import cn.ksource.web.facade.incident.IncidentFacade; import cn.ksource.web.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @@ -42,7 +40,7 @@ @Override public PageInfo queryProjectContacts(Map<String, String> params, PageInfo pageInfo) { - StringBuilder sql = new StringBuilder("SELECT DISTINCT * FROM CUSTOMER_CONTACTS WHERE CUSTOMER_ID = :customerId"); + StringBuilder sql = new StringBuilder("SELECT DISTINCT ID , CUSTOMER_ID , CONTACT_NAME , YWKS , ZW , TELEPHONE , MOBILE , LEVEL_ID , LEVEL_NAME , IS_SATIS , STATE , LOGIN_NAME , PASSWORD , EMAIL , QQ_OPEN_ID , ISEMAIL , ISPHONE , ALLOW_LOGIN , WECHAT_OPEN_ID , SUB_CUSTOMER_ID , SUB_CUSTOMER_NAME , CONTACTS_TYPE , IME FROM CUSTOMER_CONTACTS WHERE CUSTOMER_ID = :customerId"); queryProjectContactsIf(params, sql); sql.append(" ORDER BY ALLOW_LOGIN ASC,IS_SATIS DESC,STATE ASC"); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); diff --git a/src/cn/ksource/web/facade/workReport/WorkReportFacadeImpl.java b/src/cn/ksource/web/facade/workReport/WorkReportFacadeImpl.java index be79802..dac3140 100644 --- a/src/cn/ksource/web/facade/workReport/WorkReportFacadeImpl.java +++ b/src/cn/ksource/web/facade/workReport/WorkReportFacadeImpl.java @@ -26,12 +26,12 @@ @Autowired private DataDictionaryService dicService; - + @Override public List<Map> getWeekByYear(String year) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, Integer.valueOf(year)); - List<Map> list = new ArrayList<Map>(); + List<Map> list = new ArrayList<Map>(); int count = DateUtil.getWeekNumByYear(Integer.valueOf(year)); SimpleDateFormat sf=new SimpleDateFormat("yyyy/MM/dd"); if(count>0){ @@ -51,7 +51,7 @@ @Override public List<Map> getWeekByMonth(String date){ - List<Map> list = new ArrayList<Map>(); + List<Map> list = new ArrayList<Map>(); int count = DateUtil.getWeekNumByMonth(date); SimpleDateFormat sf=new SimpleDateFormat("yyyy/MM/dd"); if(count>0){ @@ -65,7 +65,7 @@ String beginDay = DateUtil.format("yyyy/MM/dd", DateUtil.getMonthWeekFirstDay(date,i)); String endDay = DateUtil.format("yyyy/MM/dd", DateUtil.getMonthWeekEndDay(date,i)); int weekNum = DateUtil.getYearWeekNum(date,i); - + map.put("val", date.substring(0,4)+weekNum); map.put("beginDay", beginDay); map.put("endDay", endDay); @@ -74,10 +74,10 @@ } return list; } - + @Override public List<Map> getMonthByYear(String year) { - List<Map> list = new ArrayList<Map>(); + List<Map> list = new ArrayList<Map>(); for(int i=1;i<=12;i++){ Map map = new HashMap(); map.put("name", year+"骞�"+i+"鏈�"); @@ -96,9 +96,9 @@ StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId",cusId); - + sql.append(" select wfstate data_name,businesstype cate_id,count(id) num from workflow_base where wfstate in (1,2,3,4) "); - setWhereSql(sql,"createtime",selDate,statisType,param); + setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); sql.append(" and customer_id=:cusId group by wfstate,businesstype order by businesstype,wfstate"); List<Map> dataList = baseDao.queryForList(sql.toString(),param); Map<String,Map> dataSetMap = new HashMap(); @@ -130,23 +130,23 @@ System.out.println("chartMap"+JsonUtil.map2Json(chartMap)); return chartMap; } - + @Override public Map getOrderSurveyTable(String selDate,String statisType, String cusId) { StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId",cusId); - + sql.append(" select wfstate data_name,businesstype cate_id,count(id) num from workflow_base where wfstate in (1,2,3,4) "); - setWhereSql(sql,"createtime",selDate,statisType,param); + setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); sql.append(" and customer_id=:cusId group by businesstype,wfstate "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); sql.setLength(0); sql.append(" SELECT businesstype cate_id,count(id) num FROM workflow_base WHERE customer_id = :cusId "); - setWhereSql(sql,"createtime",selDate,statisType,param); + setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); sql.append(" group by businesstype "); List<Map> extendList = baseDao.queryForList(sql.toString(),param); - + Map dataSetMap = new HashMap(); Map extendSetMap = new HashMap(); for(Map map:dataList){ @@ -157,7 +157,7 @@ } //鑾峰彇宸ュ崟绫诲瀷List List<Map> cateList = getOrderCateList(); - + List<String> labelList = new ArrayList<String>(); List<List<String>> tableDataList = new ArrayList<List<String>>(); //缁勭粐琛ㄥご @@ -176,14 +176,14 @@ String key = cate.get("key").toString(); List<String> tempList = new ArrayList<String>(); tempList.add(cate.get("val").toString()); - + if(extendSetMap.get(key)!=null){ tempList.add(((Map)extendSetMap.get(key)).get("num").toString()); totalNum = totalNum + Integer.valueOf(((Map)extendSetMap.get(key)).get("num").toString()); }else{ tempList.add("0"); } - + key = "1" + "_" + cate.get("key").toString() ; if(dataSetMap.get(key)!=null){ tempList.add(((Map)dataSetMap.get(key)).get("num").toString()); @@ -234,9 +234,9 @@ tableMap.put("dataList", tableDataList); return tableMap; } - - - + + + /** * 鑾峰彇宸ュ崟绫诲瀷鍒楄〃 * @author chenlong @@ -268,7 +268,7 @@ } return cateList; } - + /** * 缁勮绫诲瀷鏌ヨ鏉′欢 * @author chenlong @@ -311,9 +311,9 @@ if(statisType.equals("month")){ sql.append(" and month =:selDate "); }else if(statisType.equals("year")){ - sql.append(" and left(month,4) =:selDate "); + sql.append(" and left(month,4) =:selDate "); }else if(statisType.equals("quarter")){ - sql.append(" and concat(left(month,4),quarter(concat(month,'01'))) =:selDate "); + sql.append(" and concat(left(month,4),quarter(concat(month,'01'))) =:selDate "); } sql.append(" order by update_time desc "); Double y = baseDao.queryForDouble(sql.toString(), param); @@ -330,7 +330,7 @@ SqlParameter param = new SqlParameter(); param.put("cus_id", cusId); param.put("selDate", selDate); - + sql.append("SELECT AVG(A.ALL_SCORE) AS ALL_SCORE ,B.CUSTOMER_NAME,B.YWJL_NAME,B.ID FROM TOTLE_SATIS_INFO A,SC_PARTNER_CUSTOMER_INFO B WHERE A.CUSTOMER_ID = B.ID AND A.CUSTOMER_ID = :cus_id "); if(statisType.equals("month")){ sql.append(" AND A.MONTH =:selDate "); @@ -339,9 +339,9 @@ }else if(statisType.equals("quarter")){ sql.append(" AND CONCAT(left(month,4),quarter(CONCAT(month,'01'))) =:selDate "); } - sql.append(" GROUP BY A.CUSTOMER_ID"); + sql.append(" GROUP BY A.CUSTOMER_ID,B.CUSTOMER_NAME, B.YWJL_NAME, B.ID"); Map map = baseDao.queryForMap(sql.toString(),param); - + StringBuffer detailsql = new StringBuffer("SELECT A.CUSTOMER_ID,B.SATIS_TYPE,SUM(B.ALL_COUNT) AS ALL_COUNT,SUM(SATIS_COUNT) AS SATIS_COUNT,AVG(FG_RATE) AS FG_RATE,AVG(REQUEST_FG_RATE) AS REQUEST_FG_RATE,AVG(SATIS_SCORE) AS SATIS_SCORE,AVG(REQUEST_SATIS_SCORE) AS REQUEST_SATIS_SCORE,AVG(SATIS_QZ) AS SATIS_QZ FROM TOTLE_SATIS_INFO A,TOTLE_SATIS_DETAIL B WHERE A.ID = B.BUS_ID AND A.CUSTOMER_ID = :cus_id "); if(statisType.equals("month")){ detailsql.append(" AND A.MONTH =:selDate "); @@ -369,15 +369,15 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,type_id,type_name from sc_workflow_incident where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); - sql.append(" group by type_id "); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); + sql.append(" group by type_id,type_name "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); for(Map data:dataList){ dataSetMap.put(data.get("type_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); List seriesData = new ArrayList(); for(Map dic:dicList){ @@ -428,7 +428,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("satis_type").toString(), data); } - + List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); categories.add("鍒嗘暟"); @@ -461,10 +461,10 @@ tempMap.put("data", tempList); series.add(tempMap); } - + } - - + + chartMap.put("categories", categories); chartMap.put("series", series); }else{ @@ -481,15 +481,15 @@ df = new SimpleDateFormat("yyyyw"); } Calendar cal = Calendar.getInstance(); - cal.setMinimalDaysInFirstWeek(7); - cal.setFirstDayOfWeek(Calendar.MONDAY); //璁剧疆姣忓懆鐨勭涓�澶╀负鏄熸湡涓� - cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//姣忓懆浠庡懆涓�寮�濮� + cal.setMinimalDaysInFirstWeek(7); + cal.setFirstDayOfWeek(Calendar.MONDAY); //璁剧疆姣忓懆鐨勭涓�澶╀负鏄熸湡涓� + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//姣忓懆浠庡懆涓�寮�濮� try { cal.setTime(df.parse(selDate)); } catch (ParseException e) { e.printStackTrace(); } - + if(statisType.equals("month")){ cal.add(Calendar.MONTH, -1); }else if(statisType.equals("week")){ @@ -499,32 +499,36 @@ if(statisType.equals("quarter")){ lastDate = getLastQuarter(selDate); } - + StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId",cusId); param.put("selDate",selDate); param.put("lastDate",lastDate); param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); - - + + + String groupByStr = ""; if(statisType.equals("month")){ - sql.append(" select date_format(createtime,'%Y%m') cate_id,"); + sql.append(" select date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') cate_id,"); + groupByStr="date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')"; }else if(statisType.equals("week")){ - sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); + sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) cate_id,"); + groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5))"; }else if(statisType.equals("quarter")){ - sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); + sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) cate_id,"); + groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS')))"; } sql.append(" wfstate data_name,count(id) num from workflow_base where wfstate in (1,2,3,4) and businesstype=:busType "); if(statisType.equals("month")){ - sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); + sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')=:lastDate) "); }else if(statisType.equals("week")){ - sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5) ) "); + sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (week(to_date(createtime,'YYYYMMDDHH24MISS'),5) = substring(:selDate,5) or week(to_date(createtime,'YYYYMMDDHH24MISS'),5)=substring(:lastDate,5) ) "); }else if(statisType.equals("quarter")){ - sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5) ) "); + sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (quarter(to_date(createtime,'YYYYMMDDHH24MISS')) = substring(:selDate,5) or quarter(to_date(createtime,'YYYYMMDDHH24MISS'))=substring(:lastDate,5) ) "); } - - sql.append(" and customer_id=:cusId group by cate_id,data_name "); + + sql.append(" and customer_id=:cusId group by " + groupByStr +",wfstate "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); Map<String,Map> dataSet = new HashMap(); @@ -567,7 +571,7 @@ } sql.append(" group by cate_id "); List<Map> extendList = baseDao.queryForList(sql.toString(),param); - + Map dataSetMap = new HashMap(); Map extendSetMap = new HashMap(); for(Map map:dataList){ @@ -576,7 +580,7 @@ for(Map map:extendList){ extendSetMap.put(map.get("cate_id"), map); } - + List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); if(statisType.equals("month")){ @@ -589,7 +593,7 @@ categories.add("涓婂搴�"); categories.add("鏈搴�"); } - + for(int i=0;i<4;i++){ Map tempMap = new HashMap(); List tempList = new ArrayList(); @@ -608,7 +612,7 @@ if(j==1){ key = selDate; } - + if(i==0){ if(extendSetMap.get(key)!=null){ tempList.add(((Map)extendSetMap.get(key)).get("num")); @@ -625,7 +629,7 @@ } tempMap.put("data", tempList); series.add(tempMap); - + } chartMap.put("categories", categories); chartMap.put("series", series); @@ -644,7 +648,7 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,source_id from sc_workflow_incident where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by source_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ @@ -652,7 +656,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("source_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_SOURCE); List seriesData = new ArrayList(); for(Map dic:dicList){ @@ -680,16 +684,16 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,resolve_type_id from sc_workflow_incident where customer_id = :cusId and resolve_type_id is not null "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by resolve_type_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); - + if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); for(Map data:dataList){ dataSetMap.put(data.get("resolve_type_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.CLOSE_REASON); List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); @@ -719,12 +723,12 @@ StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId", cusId); - sql.append(" select TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) ontime_rate from ( "); + sql.append(" select case when total_num=0 then 0 else TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) end ontime_rate from ( "); sql.append(" select count(id) total_num from sc_workflow_incident where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mtotal, ( "); sql.append(" select count(id) outtime_num from sc_workflow_incident where customer_id = :cusId and (answer_timeout=1 or deal_timeout=1) "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mfinish "); Double y = baseDao.queryForDouble(sql.toString(), param); Map chartMap = new HashMap(); @@ -743,16 +747,16 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,sla_id from sc_workflow_incident where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by sla_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); - + if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); for(Map data:dataList){ dataSetMap.put(data.get("sla_id"), data); } - + sql.setLength(0); sql.append(" select id,level_name from sc_sla where state=1 order by serial asc"); List<Map> dicList = baseDao.queryForList(sql.toString(), param); @@ -779,49 +783,49 @@ SqlParameter param = new SqlParameter(); param.put("cusId", cusId); param.put("nodeTemplateId", Constants.YXCL); - List<String> lebalList = new ArrayList<String>(); - List<List<String>> dataList = new ArrayList<List<String>>(); - + List<String> lebalList = new ArrayList<String>(); + List<List<String>> dataList = new ArrayList<List<String>>(); + StringBuilder sql = new StringBuilder(); sql.append(" select mtotal.THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(first_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); sql.append(" (select THIRD_CATEGORY_NAME,count(id) total_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); - sql.append(" group by THIRD_CATEGORY_ID) mtotal "); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); + sql.append(" group by THIRD_CATEGORY_ID,THIRD_CATEGORY_NAME) mtotal "); sql.append(" left join (select count(i.id) answer_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) manswer "); sql.append(" on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID "); sql.append(" left join (select count(i.id) activi_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) mactivi "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID "); sql.append(" left join (select count(i.id) finish_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) mfinish "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID "); sql.append(" left join (select count(id) timeout_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mtimeout "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mtimeout.THIRD_CATEGORY_ID "); sql.append(" left join (select count(id) pri_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where SLA_NAME='LEVEL1' and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mpri "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mpri.THIRD_CATEGORY_ID "); sql.append(" left join (select count(id) ques_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where QUESTIONID is not null and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mques "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mques.THIRD_CATEGORY_ID "); sql.append(" left join (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mdeal "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mdeal.THIRD_CATEGORY_ID "); sql.append(" left join (select count(i.id) first_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) mfirst "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mfirst.THIRD_CATEGORY_ID "); List<Map> baseList = baseDao.queryForList(sql.toString(),param); - + //缁勭粐琛ㄥご lebalList.add("鏈嶅姟鐩綍"); lebalList.add("浜嬩欢鏁�"); @@ -834,41 +838,41 @@ lebalList.add("骞冲潎澶勭悊鏃堕暱"); lebalList.add("涓�绾胯В鍐崇巼"); lebalList.add("鏈嶅姟绾у埆杈炬垚鐜�"); - + //缁勭粐鏁版嵁 if(baseList!=null&&baseList.size()>0){ sql.setLength(0); sql.append(" select total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(first_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); sql.append(" (select count(id) total_num from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mtotal, "); sql.append(" (select count(i.id) answer_num from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) manswer, "); sql.append(" (select count(i.id) activi_num from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mactivi, "); sql.append(" (select count(i.id) finish_num from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mfinish, "); sql.append(" (select count(id) timeout_num from SC_WORKFLOW_INCIDENT where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mtimeout, "); sql.append(" (select count(id) pri_num from SC_WORKFLOW_INCIDENT where SLA_NAME='LEVEL1' and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mpri, "); sql.append(" (select count(id) ques_num from SC_WORKFLOW_INCIDENT where QUESTIONID is not null and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mques, "); sql.append(" (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mdeal, "); sql.append(" (select count(i.id) first_num from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mfirst "); Map extendMap = baseDao.queryForMap(sql.toString(),param); - + for(Map base:baseList){ List<String> tempList = new ArrayList<String>(); tempList.add(ConvertUtil.obj2StrBlank(base.get("THIRD_CATEGORY_NAME"))); @@ -898,7 +902,7 @@ tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ontime_rate"))+"%"); dataList.add(tempList); } - + Map res = new HashMap(); res.put("lebalList",lebalList); res.put("dataList",dataList); @@ -914,7 +918,7 @@ param.put("selDate", selDate); param.put("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); sql.append(" select count(id) num,wfstate from workflow_base where businesstype =:busType and customer_id = :cusId "); - setWhereSql(sql, "createtime", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATETIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by wfstate order by wfstate"); List<Map> dataList = baseDao.queryForList(sql.toString(),param); Map<String,Map> dataxx = new HashMap(); @@ -943,7 +947,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("wfstate").toString(), data); } - + List<Map> dicList = new ArrayList<Map>(); for(int i=1;i<=3;i++){ Map map = new HashMap(); @@ -957,7 +961,7 @@ map.put("DATAKEY", i); dicList.add(map); } - + List seriesData = new ArrayList(); for(Map dic:dicList){ List tempList = new ArrayList(); @@ -973,7 +977,7 @@ }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -985,9 +989,9 @@ df = new SimpleDateFormat("yyyyw"); } Calendar cal = Calendar.getInstance(); - cal.setFirstDayOfWeek(Calendar.MONDAY); //璁剧疆姣忓懆鐨勭涓�澶╀负鏄熸湡涓� - cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//姣忓懆浠庡懆涓�寮�濮� - cal.setMinimalDaysInFirstWeek(7); + cal.setFirstDayOfWeek(Calendar.MONDAY); //璁剧疆姣忓懆鐨勭涓�澶╀负鏄熸湡涓� + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//姣忓懆浠庡懆涓�寮�濮� + cal.setMinimalDaysInFirstWeek(7); try { cal.setTime(df.parse(selDate)); } catch (ParseException e) { @@ -1002,54 +1006,63 @@ if(statisType.equals("quarter")){ lastDate = getLastQuarter(selDate); } - + StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId",cusId); param.put("selDate",selDate); param.put("lastDate",lastDate); param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); - - + + + String groupByStr = ""; if(statisType.equals("month")){ - sql.append(" select date_format(createtime,'%Y%m') cate_id,"); + sql.append(" select date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') cate_id,"); + groupByStr = "date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') "; }else if(statisType.equals("week")){ - sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); + sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) cate_id,"); + groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) "; }else if(statisType.equals("quarter")){ - sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); + sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) cate_id,"); + groupByStr = " concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) "; } sql.append(" wfstate data_name,count(id) num from workflow_base where wfstate in (1,2,3) and businesstype=:busType "); if(statisType.equals("month")){ - sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); + sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')=:lastDate) "); }else if(statisType.equals("week")){ - sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); - }else if(statisType.equals("quarter")){ - sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); + sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (week(to_date(createtime,'YYYYMMDDHH24MISS'),5) = substring(:selDate,5) or week(to_date(createtime,'YYYYMMDDHH24MISS'),5)=substring(:lastDate,5)) "); + }else if(statisType.equals("to_date(createtime,'YYYYMMDDHH24MISS')")){ + sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (quarter(to_date(createtime,'YYYYMMDDHH24MISS')) = substring(:selDate,5) or quarter(to_date(createtime,'YYYYMMDDHH24MISS'))=substring(:lastDate,5)) "); } - - sql.append(" and customer_id=:cusId group by cate_id,data_name "); + + sql.append(" and customer_id=:cusId group by "+ groupByStr +",wfstate "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); - + + String newcreatetime = "to_date(createtime,'YYYYMMDDHH24MISS')"; if(dataList!=null&&dataList.size()>0){ + String groupCateId=""; sql.setLength(0); if(statisType.equals("month")){ - sql.append(" select date_format(createtime,'%Y%m') cate_id,"); + sql.append(" select date_format(" + newcreatetime+",'%Y%m') cate_id,"); + groupCateId = " date_format(" + newcreatetime+",'%Y%m') "; }else if(statisType.equals("week")){ - sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); + sql.append(" select concat(year("+newcreatetime+"),week("+newcreatetime+",5)) cate_id,"); + groupCateId = " concat(year("+newcreatetime+"),week("+newcreatetime+",5)) "; }else if(statisType.equals("quarter")){ - sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); + sql.append(" select concat(year("+newcreatetime+"),quarter("+newcreatetime+")) cate_id,"); + groupCateId=" concat(year("+newcreatetime+"),quarter("+newcreatetime+")) "; } sql.append(" count(id) num FROM workflow_base WHERE customer_id = :cusId and businesstype=:busType "); if(statisType.equals("month")){ - sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); + sql.append(" and (date_format("+newcreatetime+",'%Y%m') = :selDate or date_format("+newcreatetime+",'%Y%m')=:lastDate) "); }else if(statisType.equals("week")){ - sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); + sql.append(" and year("+newcreatetime+")=left(:selDate,4) and (week("+newcreatetime+",5) = substring(:selDate,5) or week("+newcreatetime+",5)=substring(:lastDate,5)) "); }else if(statisType.equals("quarter")){ - sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); + sql.append(" and year("+newcreatetime+")=left(:selDate,4) and (quarter("+newcreatetime+") = substring(:selDate,5) or quarter("+newcreatetime+")=substring(:lastDate,5)) "); } - sql.append(" group by cate_id "); + sql.append(" group by "+groupCateId); List<Map> extendList = baseDao.queryForList(sql.toString(),param); - + Map dataSetMap = new HashMap(); Map extendSetMap = new HashMap(); for(Map map:dataList){ @@ -1058,7 +1071,7 @@ for(Map map:extendList){ extendSetMap.put(map.get("cate_id"), map); } - + List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); if(statisType.equals("month")){ @@ -1071,7 +1084,7 @@ categories.add("涓婂搴�"); categories.add("鏈搴�"); } - + for(int i=0;i<4;i++){ Map tempMap = new HashMap(); List tempList = new ArrayList(); @@ -1090,7 +1103,7 @@ if(j==1){ key = selDate; } - + if(i==0){ if(extendSetMap.get(key)!=null){ tempList.add(((Map)extendSetMap.get(key)).get("num")); @@ -1107,15 +1120,15 @@ } tempMap.put("data", tempList); series.add(tempMap); - + } - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -1127,7 +1140,7 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,source_id from sc_workflow_question where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by source_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ @@ -1135,7 +1148,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("source_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); List seriesData = new ArrayList(); for(Map dic:dicList){ @@ -1163,16 +1176,16 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,resolve_type_id from sc_workflow_question where customer_id = :cusId and state=7 "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by resolve_type_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); - + if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); for(Map data:dataList){ dataSetMap.put(data.get("resolve_type_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.QUESTIONCLOSE_RESOLVE_TYPE); List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); @@ -1189,13 +1202,13 @@ tempMap.put("data", tempList); series.add(tempMap); } - + chartMap.put("series", series); chartMap.put("categories", categories); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -1207,16 +1220,16 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,influence_id from sc_workflow_question where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by influence_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); - + if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); for(Map data:dataList){ dataSetMap.put(data.get("influence_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); List seriesData = new ArrayList(); for(Map dic:dicList){ @@ -1241,41 +1254,41 @@ SqlParameter param = new SqlParameter(); param.put("cusId", cusId); //瀹氫箟鎶ヨ〃鍙橀噺 - List<String> lebalList = new ArrayList<String>(); - List<List<String>> dataList = new ArrayList<List<String>>(); + List<String> lebalList = new ArrayList<String>(); + List<List<String>> dataList = new ArrayList<List<String>>(); //鏌ヨ鏁版嵁 StringBuilder sql = new StringBuilder(); sql.append(" select THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(sleep_num,0) sleep_num, "); sql.append(" IFNULL(finish_num,0) finish_num, IFNULL(close_num,0) close_num from ( "); sql.append(" select count(b.id) total_num,i.THIRD_CATEGORY_NAME,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); - setWhereSql(sql, "b.createtime", selDate, statisType, param); - sql.append(" GROUP BY I.THIRD_CATEGORY_ID "); + setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); + sql.append(" GROUP BY I.THIRD_CATEGORY_ID,i.THIRD_CATEGORY_NAME "); sql.append(" ) mtotal left join ( "); sql.append(" select count(b.id) answer_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i,( "); sql.append(" select FLOWID from workflow_node where FLOWSTATE = 1 group by FLOWID "); sql.append(" ) n where b.ID = i.FLOW_ID and b.id = n.FLOWID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); - setWhereSql(sql, "b.createtime", selDate, statisType, param); + setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" and b.WFSTATE = 1 GROUP BY I.THIRD_CATEGORY_ID "); sql.append(" ) manswer on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID left join ( "); sql.append(" select count(b.id) activi_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); - setWhereSql(sql, "b.createtime", selDate, statisType, param); + setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" and b.WFSTATE=1 GROUP BY I.THIRD_CATEGORY_ID "); sql.append(" ) mactivi on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID left join ( "); sql.append(" select count(b.id) sleep_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); - setWhereSql(sql, "b.createtime", selDate, statisType, param); + setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" and b.WFSTATE=6 GROUP BY I.THIRD_CATEGORY_ID "); sql.append(" ) msleep on mtotal.THIRD_CATEGORY_ID = msleep.THIRD_CATEGORY_ID left join ( "); sql.append(" select count(b.id) finish_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); - setWhereSql(sql, "b.createtime", selDate, statisType, param); + setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" and (b.WFSTATE=2 or b.WFSTATE=4) GROUP BY I.THIRD_CATEGORY_ID "); sql.append(" ) mfinish on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID left join ( "); sql.append(" select count(b.id) close_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); - setWhereSql(sql, "b.createtime", selDate, statisType, param); + setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" and i.state=7 GROUP BY I.THIRD_CATEGORY_ID "); sql.append(" ) mclose on mtotal.THIRD_CATEGORY_ID = mclose.THIRD_CATEGORY_ID "); List<Map> baseList = baseDao.queryForList(sql.toString(),param); @@ -1323,7 +1336,7 @@ sql.append(" and i.state=7 "); sql.append(" ) mclose "); Map extendMap = baseDao.queryForMap(sql.toString(),param); - + for(Map base:baseList){ List<String> tempList = new ArrayList<String>(); tempList.add(ConvertUtil.obj2StrBlank(base.get("THIRD_CATEGORY_NAME"))); @@ -1344,7 +1357,7 @@ tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("finish_num"))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("close_num"))); dataList.add(tempList); - + } Map res = new HashMap(); res.put("lebalList",lebalList); @@ -1360,9 +1373,9 @@ df = new SimpleDateFormat("yyyyw"); } Calendar cal = Calendar.getInstance(); - cal.setFirstDayOfWeek(Calendar.MONDAY); //璁剧疆姣忓懆鐨勭涓�澶╀负鏄熸湡涓� - cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//姣忓懆浠庡懆涓�寮�濮� - cal.setMinimalDaysInFirstWeek(7); + cal.setFirstDayOfWeek(Calendar.MONDAY); //璁剧疆姣忓懆鐨勭涓�澶╀负鏄熸湡涓� + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//姣忓懆浠庡懆涓�寮�濮� + cal.setMinimalDaysInFirstWeek(7); try { cal.setTime(df.parse(selDate)); } catch (ParseException e) { @@ -1377,34 +1390,39 @@ if(statisType.equals("quarter")){ lastDate = getLastQuarter(selDate); } - + StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId",cusId); param.put("selDate",selDate); param.put("lastDate",lastDate); param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); - - + + + String gruopByStr = ""; + String newCreateTime = "to_date(createtime,'YYYYMMDDHH24MISS')"; if(statisType.equals("month")){ - sql.append(" select date_format(createtime,'%Y%m') cate_id,"); + sql.append(" select date_format(" + newCreateTime +",'%Y%m') cate_id,"); + gruopByStr = "date_format("+ newCreateTime +",'%Y%m') "; }else if(statisType.equals("week")){ - sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); + sql.append(" select concat(year(" + newCreateTime + "),week("+newCreateTime + ",5)) cate_id,"); + gruopByStr = " concat(year(" + newCreateTime + "),week("+newCreateTime + ",5))"; }else if(statisType.equals("quarter")){ - sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); + sql.append(" select concat(year(" + newCreateTime +"),quarter(" + newCreateTime + ")) cate_id,"); + gruopByStr = " concat(year(" + newCreateTime +"),quarter(" + newCreateTime + ")) "; } sql.append(" ( CASE WHEN WFSTATE = 1 THEN '1' WHEN WFSTATE = 2 THEN '2' WHEN WFSTATE = 3 THEN '3' WHEN WFSTATE = 4 THEN '2' WHEN WFSTATE = 6 THEN '6' END ) data_name,count(id) num from workflow_base where wfstate in (1,2,3,4) and businesstype=:busType "); if(statisType.equals("month")){ - sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); + sql.append(" and (date_format("+newCreateTime+",'%Y%m') = :selDate or date_format("+newCreateTime+",'%Y%m')=:lastDate) "); }else if(statisType.equals("week")){ - sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); + sql.append(" and year("+newCreateTime+")=left(:selDate,4) and (week("+newCreateTime+",5) = substring(:selDate,5) or week("+newCreateTime+",5)=substring(:lastDate,5)) "); }else if(statisType.equals("quarter")){ - sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); + sql.append(" and year("+newCreateTime+")=left(:selDate,4) and (quarter("+newCreateTime+") = substring(:selDate,5) or quarter("+newCreateTime+")=substring(:lastDate,5)) "); } - - sql.append(" and customer_id=:cusId group by cate_id,data_name "); + + sql.append(" and customer_id=:cusId group by "+gruopByStr +",WFSTATE "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); - + if(dataList!=null&&dataList.size()>0){ sql.setLength(0); if(statisType.equals("month")){ @@ -1424,7 +1442,7 @@ } sql.append(" group by cate_id "); List<Map> extendList = baseDao.queryForList(sql.toString(),param); - + Map dataSetMap = new HashMap(); Map extendSetMap = new HashMap(); for(Map map:dataList){ @@ -1433,7 +1451,7 @@ for(Map map:extendList){ extendSetMap.put(map.get("cate_id"), map); } - + List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); if(statisType.equals("month")){ @@ -1446,7 +1464,7 @@ categories.add("涓婂搴�"); categories.add("鏈搴�"); } - + for(int i=0;i<4;i++){ Map tempMap = new HashMap(); List tempList = new ArrayList(); @@ -1465,7 +1483,7 @@ if(j==1){ key = selDate; } - + if(i==0){ if(extendSetMap.get(key)!=null){ tempList.add(((Map)extendSetMap.get(key)).get("num")); @@ -1482,15 +1500,15 @@ } tempMap.put("data", tempList); series.add(tempMap); - + } - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -1502,7 +1520,7 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,source_id from sc_workflow_incident_local where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by source_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ @@ -1510,7 +1528,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("source_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_SOURCE); List seriesData = new ArrayList(); for(Map dic:dicList){ @@ -1527,7 +1545,7 @@ }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -1539,15 +1557,15 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,type_id,type_name from sc_workflow_incident_local where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); - sql.append(" group by type_id "); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); + sql.append(" group by type_id ,type_name"); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); for(Map data:dataList){ dataSetMap.put(data.get("type_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); List seriesData = new ArrayList(); for(Map dic:dicList){ @@ -1575,7 +1593,7 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,resolve_type_id from sc_workflow_incident_local where customer_id = :cusId and resolve_type_id is not null "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by resolve_type_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ @@ -1583,7 +1601,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("resolve_type_id"), data); } - + List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.CLOSE_REASON); List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); @@ -1600,7 +1618,7 @@ tempMap.put("data", tempList); series.add(tempMap); } - + chartMap.put("series", series); chartMap.put("categories", categories); }else{ @@ -1614,12 +1632,12 @@ StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId", cusId); - sql.append(" select TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) ontime_rate from ( "); + sql.append(" select case when total_num=0 then 0 else TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) end ontime_rate from ( "); sql.append(" select count(id) total_num from sc_workflow_incident_local where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mtotal, ( "); sql.append(" select count(id) outtime_num from sc_workflow_incident_local where customer_id = :cusId and (answer_timeout=1 or deal_timeout=1) "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mfinish "); Double y = baseDao.queryForDouble(sql.toString(), param); Map chartMap = new HashMap(); @@ -1638,7 +1656,7 @@ param.put("cusId", cusId); param.put("selDate", selDate); sql.append(" select count(id) num,sla_id from sc_workflow_incident_local where customer_id = :cusId "); - setWhereSql(sql, "create_time", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by sla_id "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ @@ -1646,7 +1664,7 @@ for(Map data:dataList){ dataSetMap.put(data.get("sla_id"), data); } - + sql.setLength(0); sql.append(" select id,level_name from sc_sla where state=1 order by serial asc"); List<Map> dicList = baseDao.queryForList(sql.toString(), param); @@ -1673,49 +1691,49 @@ SqlParameter param = new SqlParameter(); param.put("cusId", cusId); param.put("nodeTemplateId", Constants.YXCL); - List<String> lebalList = new ArrayList<String>(); - List<List<String>> dataList = new ArrayList<List<String>>(); - + List<String> lebalList = new ArrayList<String>(); + List<List<String>> dataList = new ArrayList<List<String>>(); + StringBuilder sql = new StringBuilder(); sql.append(" select mtotal.THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(finish_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); sql.append(" (select a.THIRD_CATEGORY_NAME,count(a.id) total_num,a.THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL a,workflow_base b where a.customer_id=:cusId and a.id=b.BUSINESS_ID and b.WFSTATE<>3 "); - setWhereSql(sql, "a.CREATE_TIME", selDate, statisType, param); - sql.append(" group by a.THIRD_CATEGORY_ID) mtotal "); + setWhereSql(sql, "to_date(a.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); + sql.append(" group by a.THIRD_CATEGORY_ID,a.THIRD_CATEGORY_NAME) mtotal "); sql.append(" left join (select count(i.id) answer_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.WFSTATE<>3 and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) manswer "); sql.append(" on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID "); sql.append(" left join (select count(i.id) activi_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and b.WFSTATE<>3 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) mactivi "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID "); sql.append(" left join (select count(i.id) finish_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) mfinish "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID "); sql.append(" left join (select count(id) timeout_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mtimeout "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mtimeout.THIRD_CATEGORY_ID "); sql.append(" left join (select count(id) pri_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where SLA_NAME='LEVEL1' and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mpri "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mpri.THIRD_CATEGORY_ID "); sql.append(" left join (select count(id) ques_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where QUESTIONID is not null and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mques "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mques.THIRD_CATEGORY_ID "); sql.append(" left join (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by THIRD_CATEGORY_ID) mdeal "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mdeal.THIRD_CATEGORY_ID "); sql.append(" left join (select count(i.id) first_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" group by i.THIRD_CATEGORY_ID) mfirst "); sql.append(" on mtotal.THIRD_CATEGORY_ID = mfirst.THIRD_CATEGORY_ID "); List<Map> baseList = baseDao.queryForList(sql.toString(),param); - + //缁勭粐琛ㄥご lebalList.add("鏈嶅姟鐩綍"); lebalList.add("浜嬩欢鏁�"); @@ -1728,41 +1746,41 @@ lebalList.add("骞冲潎澶勭悊鏃堕暱"); lebalList.add("椹诲満瑙e喅鐜�"); lebalList.add("鏈嶅姟绾у埆杈炬垚鐜�"); - + //缁勭粐鏁版嵁 if(baseList!=null&&baseList.size()>0){ sql.setLength(0); sql.append(" select total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(finish_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); sql.append(" (select count(a.id) total_num from SC_WORKFLOW_INCIDENT_LOCAL a,workflow_base b where a.customer_id=:cusId and a.id=b.BUSINESS_ID and b.WFSTATE<>3 "); - setWhereSql(sql, "a.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(a.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mtotal, "); sql.append(" (select count(i.id) answer_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.WFSTATE<>3 and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) manswer, "); sql.append(" (select count(i.id) activi_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mactivi, "); sql.append(" (select count(i.id) finish_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mfinish, "); sql.append(" (select count(id) timeout_num from SC_WORKFLOW_INCIDENT_LOCAL where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mtimeout, "); sql.append(" (select count(id) pri_num from SC_WORKFLOW_INCIDENT_LOCAL where SLA_NAME='LEVEL1' and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mpri, "); sql.append(" (select count(id) ques_num from SC_WORKFLOW_INCIDENT_LOCAL where QUESTIONID is not null and customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mques, "); sql.append(" (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time from SC_WORKFLOW_INCIDENT_LOCAL where customer_id=:cusId "); - setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mdeal, "); sql.append(" (select count(i.id) first_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); - setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); + setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); sql.append(" ) mfirst "); Map extendMap = baseDao.queryForMap(sql.toString(),param); - + for(Map base:baseList){ List<String> tempList = new ArrayList<String>(); tempList.add(ConvertUtil.obj2StrBlank(base.get("THIRD_CATEGORY_NAME"))); @@ -1773,8 +1791,14 @@ tempList.add(ConvertUtil.obj2StrBlank(base.get("timeout_num"))); tempList.add(ConvertUtil.obj2StrBlank(base.get("pri_num"))); tempList.add(ConvertUtil.obj2StrBlank(base.get("ques_num"))); - - tempList.add(DateUtil.secToTime(Math.round((Double)base.get("avg_time")))); + Object avg_time = base.get("avg_time"); + String avgTimeSTr = null; + if (avg_time == null){ + avgTimeSTr = "0"; + } else { + avgTimeSTr = String.valueOf(avg_time); + } + tempList.add(DateUtil.secToTime(Math.round(Double.valueOf(avgTimeSTr)))); tempList.add(ConvertUtil.obj2StrBlank(base.get("first_rate"))+"%"); tempList.add(ConvertUtil.obj2StrBlank(base.get("ontime_rate"))+"%"); dataList.add(tempList); @@ -1782,13 +1806,21 @@ List<String> tempList = new ArrayList<String>(); tempList.add("鍚堣"); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("total_num"))); + tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("answer_num"))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("activi_num"))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("finish_num"))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("timeout_num"))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("pri_num"))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ques_num"))); - tempList.add(DateUtil.secToTime(Math.round((Double)extendMap.get("avg_time")))); + Object avg_time = extendMap.get("avg_time"); + String avgTimeSTr = null; + if (avg_time == null){ + avgTimeSTr = "0"; + } else { + avgTimeSTr = String.valueOf(avg_time); + } + tempList.add(DateUtil.secToTime(Math.round(Double.valueOf(avgTimeSTr)))); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("first_rate"))+"%"); tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ontime_rate"))+"%"); dataList.add(tempList); @@ -1821,21 +1853,25 @@ if(statisType.equals("quarter")){ lastDate = getLastQuarter(selDate); } - + StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); param.put("cusId",cusId); param.put("selDate",selDate); param.put("lastDate",lastDate); param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); - + + String cateIdStr = ""; //鏌ヨ鏁版嵁 if(statisType.equals("month")){ sql.append(" select i.month cate_id, "); + cateIdStr = " i.month "; }else if(statisType.equals("year")){ sql.append(" select left(i.month,4) cate_id, "); + cateIdStr = " left(i.month,4) "; }else if(statisType.equals("quarter")){ sql.append(" select concat(left(i.month,4),quarter(concat(i.month,'01'))) cate_id, "); + cateIdStr = " concat(left(i.month,4),quarter(concat(i.month,'01'))) "; } sql.append(" d.satis_type data_name,truncate(avg(d.satis_score),0) num from totle_satis_info i,totle_satis_detail d where i.id = d.bus_id "); if(statisType.equals("month")){ @@ -1845,7 +1881,7 @@ }else if(statisType.equals("quarter")){ sql.append(" and (concat(left(i.month,4),quarter(concat(i.month,'01'))) = :selDate or concat(left(i.month,4),quarter(concat(i.month,'01')))=:lastDate) "); } - sql.append(" and i.customer_id=:cusId group by cate_id,data_name "); + sql.append(" and i.customer_id=:cusId group by "+cateIdStr+",d.satis_type "); sql.append(" union "); if(statisType.equals("month")){ sql.append(" select i.month cate_id, "); @@ -1862,7 +1898,7 @@ }else if(statisType.equals("quarter")){ sql.append(" and (concat(left(i.month,4),quarter(concat(i.month,'01'))) = :selDate or concat(left(i.month,4),quarter(concat(i.month,'01')))=:lastDate) "); } - sql.append(" and i.customer_id=:cusId group by cate_id,data_name "); + sql.append(" and i.customer_id=:cusId group by "+cateIdStr+" "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -1870,8 +1906,8 @@ for(Map map:dataList){ dataSetMap.put(map.get("data_name")+"_"+map.get("cate_id"), map); } - - + + List<Map> series = new ArrayList<Map>(); List<String> categories = new ArrayList<String>(); if(statisType.equals("month")){ @@ -1884,7 +1920,7 @@ categories.add("涓婂搴�"); categories.add("鏈搴�"); } - + for(int i=0;i<=3;i++){ if(i!=2){ Map tempMap = new HashMap(); @@ -1911,9 +1947,9 @@ tempMap.put("data", tempList); series.add(tempMap); } - + } - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ @@ -1936,7 +1972,7 @@ sql.append(" and concat(left(i.month,4),quarter(concat(i.month,'01')))=:selDate "); } sql.append(" and i.customer_id=:cusId group by d.satis_type "); - + List<Map> dataList= baseDao.queryForList(sql.toString(), param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -1952,7 +1988,7 @@ } } List<Map> series = new ArrayList<Map>(); - + for(int i=1;i<=2;i++){ Map tempMap = new HashMap(); if(i==1){ @@ -1978,7 +2014,7 @@ } } } - + } tempMap.put("data", tempList); series.add(tempMap); @@ -1998,10 +2034,10 @@ param.addValue("cusId", cusId) .addValue("selDate", selDate) .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); - + StringBuilder sql = new StringBuilder(); - sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); - sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); + sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); + sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -2024,13 +2060,13 @@ } tempMap.put("data", tempList); series.add(tempMap); - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -2046,16 +2082,16 @@ } cal.add(Calendar.YEAR, -1); String lastDate = df.format(cal.getTime()); - + SqlParameter param = new SqlParameter(); param.addValue("cusId", cusId) .addValue("selDate", selDate) .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT) .addValue("lastDate", lastDate); - + StringBuilder sql = new StringBuilder(); - sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); - sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); + sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); + sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -2065,7 +2101,7 @@ List<String> categories = new ArrayList<String>(); categories.add("鏁伴噺"); List<Map> series = new ArrayList<Map>(); - + for(int i=1;i<=2;i++){ Map tempMap = new HashMap(); tempMap.put("name", "鍘诲勾"); @@ -2083,13 +2119,13 @@ tempMap.put("data", tempList); series.add(tempMap); } - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -2100,10 +2136,10 @@ param.addValue("cusId", cusId) .addValue("selDate", selDate) .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); - + StringBuilder sql = new StringBuilder(); - sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); - sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); + sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); + sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -2146,16 +2182,16 @@ } cal.add(Calendar.YEAR, -1); String lastDate = df.format(cal.getTime()); - + SqlParameter param = new SqlParameter(); param.addValue("cusId", cusId) .addValue("selDate", selDate) .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION) .addValue("lastDate", lastDate); - + StringBuilder sql = new StringBuilder(); - sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); - sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); + sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); + sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -2165,7 +2201,7 @@ List<String> categories = new ArrayList<String>(); categories.add("鏁伴噺"); List<Map> series = new ArrayList<Map>(); - + for(int i=1;i<=2;i++){ Map tempMap = new HashMap(); tempMap.put("name", "鍘诲勾"); @@ -2183,13 +2219,13 @@ tempMap.put("data", tempList); series.add(tempMap); } - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -2200,10 +2236,10 @@ param.addValue("cusId", cusId) .addValue("selDate", selDate) .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); - + StringBuilder sql = new StringBuilder(); - sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); - sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); + sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); + sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -2226,7 +2262,7 @@ } tempMap.put("data", tempList); series.add(tempMap); - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ @@ -2247,16 +2283,16 @@ } cal.add(Calendar.YEAR, -1); String lastDate = df.format(cal.getTime()); - + SqlParameter param = new SqlParameter(); param.addValue("cusId", cusId) .addValue("selDate", selDate) .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL) .addValue("lastDate", lastDate); - + StringBuilder sql = new StringBuilder(); - sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); - sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); + sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); + sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); List<Map> dataList = baseDao.queryForList(sql.toString(),param); if(dataList!=null&&dataList.size()>0){ Map dataSetMap = new HashMap(); @@ -2266,7 +2302,7 @@ List<String> categories = new ArrayList<String>(); categories.add("鏁伴噺"); List<Map> series = new ArrayList<Map>(); - + for(int i=1;i<=2;i++){ Map tempMap = new HashMap(); tempMap.put("name", "鍘诲勾"); @@ -2284,13 +2320,13 @@ tempMap.put("data", tempList); series.add(tempMap); } - + chartMap.put("categories", categories); chartMap.put("series", series); }else{ chartMap.put("nodata", true); } - + return chartMap; } @@ -2300,14 +2336,14 @@ SqlParameter param = new SqlParameter(); param.put("cusId",cusId); param.put("selDate",selDate); - + StringBuilder builder = new StringBuilder(); builder.append(" SELECT I.ALL_SCORE,D.SATIS_SCORE,D.SATIS_TYPE,I.MONTH FROM TOTLE_SATIS_DETAIL D ,TOTLE_SATIS_INFO I "); - builder.append(" WHERE LEFT(I.MONTH,4)=:selDate AND D.BUS_ID = I.ID AND I.CUSTOMER_ID = :cusId GROUP BY D.SATIS_TYPE,I.MONTH ORDER BY SATIS_TYPE,MONTH"); + builder.append(" WHERE LEFT(I.MONTH,4)=:selDate AND D.BUS_ID = I.ID AND I.CUSTOMER_ID = :cusId GROUP BY D.SATIS_TYPE,I.MONTH,I.ALL_SCORE, D.SATIS_SCORE ORDER BY SATIS_TYPE,MONTH"); List<Map> queryList = baseDao.queryForList(builder.toString(), param); - builder.setLength(0); + builder.setLength(0); Map<String,Object> queryMap = new HashMap<String,Object>(); - + if(queryList!=null&&queryList.size()>0){ for(Map map:queryList){ String key = map.get("SATIS_TYPE").toString()+"_"+map.get("MONTH").toString(); @@ -2318,11 +2354,11 @@ for(int i=1;i<=12;i++){ categories.add(i+"鏈�"); } - + List<String> typeList = new ArrayList(); typeList.add("1"); typeList.add("3"); - + Map tempWholeMap = new HashMap(); List tempWholeList = new ArrayList(); tempWholeMap.put("name", "鏁翠綋寰楀垎"); @@ -2343,7 +2379,7 @@ }else{ key = key + i; } - + if(queryMap.get(key)!=null){ tempList.add(((Map)queryMap.get(key)).get("SATIS_SCORE")); //鏁翠綋寰楀垎 @@ -2358,7 +2394,7 @@ } } } - + tempMap.put("data", tempList); tempMap.put("type", "column"); series.add(tempMap); @@ -2369,7 +2405,7 @@ chartMap.put("series", series); chartMap.put("categories", categories); } - + }else{ chartMap.put("nodata", true); } @@ -2378,7 +2414,7 @@ @Override public boolean updateWorkSummary(HttpServletRequest request) { - + String id = request.getParameter("id"); String note = request.getParameter("note"); String summaryType = request.getParameter("summaryType"); @@ -2389,7 +2425,7 @@ String userName = user.get("ZSXM").toString(); StringBuilder sql = new StringBuilder(); SqlParameter param = new SqlParameter(); - + param.addValue("note", note) .addValue("cusId", cusId) .addValue("userId", userId) @@ -2398,7 +2434,7 @@ .addValue("updateTime", DateUtil.getCurrentDate14()) .addValue("summaryType", summaryType) .addValue("summaryDate", summaryDate); - + if(StringUtil.isBlank(id)){ sql.append(" insert into work_summary (id,create_time,create_user_id,create_user_name,note,update_time,summary_type,summary_date,cus_id,state) "); sql.append(" values (:id,:createTime,:userId,:userName,:note,:updateTime,:summaryType,:summaryDate,:cusId,1) "); @@ -2470,7 +2506,7 @@ public List<String> getCusYearToCur(String cusId) { SqlParameter param = new SqlParameter(); param.addValue("cusId", cusId); - String sql = "select year(CREATE_TIME) from SC_PARTNER_CUSTOMER_INFO where id = :cusId"; + String sql = "select substr(CREATE_TIME||'',1,4) from SC_PARTNER_CUSTOMER_INFO where id = :cusId"; Integer startYear = baseDao.queryForInteger(sql,param); Calendar cal = Calendar.getInstance(); Integer endYear = cal.get(Calendar.YEAR); @@ -2480,7 +2516,7 @@ } return years; } - + private String getLastQuarter(String selDate){ Integer year = Integer.valueOf(selDate.substring(0, 4)); Integer quarter = Integer.valueOf(selDate.substring(4)); @@ -2509,25 +2545,26 @@ @Override public String getNRecordDate(Map<String, String> params) { String col = ""; + String createTimeStr = "to_date(createtime,'YYYYMMDDHH24MISS')"; if(params.get("type").equals("week")){ - col = "week(createtime,5)"; + col = "week("+ createTimeStr +",5)"; }else if(params.get("type").equals("month")){ - col = "date_format(createtime,'%Y%m')"; + col = "date_format("+ createTimeStr +",'%Y%m')"; }else if(params.get("type").equals("quarter")){ - col = "quarter(createtime)"; + col = "quarter("+ createTimeStr +")"; }else if(params.get("type").equals("year")){ - col = "year(createtime)"; + col = "year("+ createTimeStr +")"; } - + StringBuilder sql = new StringBuilder(); - sql.append(" select GROUP_CONCAT(d) from ( "); + sql.append(" select wm_CONCAT(d) from ( "); sql.append(" select $col d from workflow_base where businesstype in (8,9,10) and customer_id=:cusId "); if(!params.get("type").equals("year")){ - sql.append(" and year(createtime)=:year "); + sql.append(" and substr(createtime||'',1,4)=:year "); } sql.append(" group by $col "); sql.append(" ) t "); - String rsql = sql.toString().replace("$col", col); + String rsql = sql.toString().replace("$col", col); return ConvertUtil.obj2StrBlank(baseDao.queryForString(rsql,params)); } } diff --git a/src/cn/ksource/web/facade/zc/ZcywFacadeImpl.java b/src/cn/ksource/web/facade/zc/ZcywFacadeImpl.java index 490e20f..2604bdb 100644 --- a/src/cn/ksource/web/facade/zc/ZcywFacadeImpl.java +++ b/src/cn/ksource/web/facade/zc/ZcywFacadeImpl.java @@ -1,37 +1,13 @@ package cn.ksource.web.facade.zc; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import cn.ksource.beans.CUSTOMER_CONTACTS; -import cn.ksource.beans.GG_MESSAGE; -import cn.ksource.beans.GG_RECORD; -import cn.ksource.beans.SC_WORKFLOW_INCIDENT; -import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL; -import cn.ksource.beans.WORKFLOW_BASE; -import cn.ksource.beans.WORKFLOW_NODE; +import cn.ksource.beans.*; 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.NumberUtil; -import cn.ksource.core.util.StringUtil; +import cn.ksource.core.util.*; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; -import cn.ksource.core.workflow.NodeAnswerEntity; -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.core.workflow.*; import cn.ksource.web.Constants; import cn.ksource.web.controller.wechat.util.WechatConstants; import cn.ksource.web.facade.incident.IncidentFacade; @@ -42,39 +18,47 @@ import cn.ksource.web.service.file.FileService; import cn.ksource.web.service.order.OrderService; import cn.ksource.web.service.record.RecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Service("zcywFacade") public class ZcywFacadeImpl implements ZcywFacade { - + @Autowired private BaseDao baseDao; - + @Autowired private WorkOrderCodeService workOrderCodeService; - + @Autowired private FileService fileService; - + @Autowired private WorkflowBusinessService workflowBusinessService; - + @Autowired private WorkflowCoreService workflowCoreService; - + @Autowired private MessageFacade messageFacade; - - + + @Autowired private RecordService recordService; - - + + @Autowired private OrderService orderService; - + @Autowired private DeviceService deviceService; - + @Autowired private IncidentFacade incidentFacade; @Autowired @@ -82,10 +66,10 @@ @Override public int queryMyZcywCount(Map<String, String> params) { - + StringBuilder builder = new StringBuilder(); params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); - + /** * 鏌ヨ閫昏緫 * 1.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓哄叏閮紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝鎴栬�呭鐞嗚鑹叉槸鎴戠殑骞朵笖娌℃湁鍒嗛厤澶勭悊浜虹殑锛� @@ -94,13 +78,13 @@ * 3.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓鸿繘琛屼腑锛屽垯鏌ヨ鑺傜偣琛ㄤ腑澶勭悊浜烘槸鎴戠殑 锛堜笉闇�瑕佽繃婊わ紝鍥犱负涓�涓伐鍗曡繘琛屼腑鑺傜偣锛屽彧浼氭湁涓�涓級 * 4.濡傛灉鑺傜偣鐘舵�佹煡璇㈡湭宸插鐞嗭紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝闇�瑕佽繃婊わ紙鍥犱负涓�涓妭鐐逛竴涓汉鍙互澶勭悊澶氭锛岄�氳繃鑺傜偣琛ㄤ綔涓轰富琛ㄦ煡璇㈠嚭鏉ョ殑宸ュ崟浼氭湁閲嶅锛� */ - + String flowstate = params.get("flowstate"); if(StringUtil.notEmpty(flowstate)) { if(flowstate.equals("1")) { builder.append(" SELECT DISTINCT D.* FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); String status = params.get("status"); if(StringUtil.notEmpty(status)) { if(status.equals("0")){ @@ -118,7 +102,7 @@ params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); } else if(flowstate.equals("2")) { builder.append(" SELECT DISTINCT D.* FROM ( "); - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); String status = params.get("status"); if(StringUtil.notEmpty(status)) { if(status.equals("0")){ @@ -136,7 +120,7 @@ params.put("jdjxz", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_DOING)); }else { builder.append(" SELECT DISTINCT D.* FROM ( "); - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); String status = params.get("status"); if(StringUtil.notEmpty(status)) { if(status.equals("0")){ @@ -156,7 +140,7 @@ } else { builder.append(" SELECT DISTINCT D.* FROM ( "); //鏌ヨ澶勭悊浜烘槸鎴戠殑 - builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); + builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); String status = params.get("status"); if(StringUtil.notEmpty(status)) { if(status.equals("0")){ @@ -172,29 +156,29 @@ builder.append(")D"); builder.append(" WHERE D.WFSTATE != :ysc "); } - + builder = getMyZcSql(builder,params); - - + + builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); - + StringBuilder newBuild = new StringBuilder(); newBuild.append("SELECT COUNT(*) FROM ( "); newBuild.append(builder.toString()); newBuild.append(") E"); - + return baseDao.queryForInteger(newBuild.toString(),params); } @Override public PageInfo queryMyZcywData(PageInfo pageInfo, Map<String, String> params) { - + StringBuilder builder = new StringBuilder(); params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); - - + + /** * 鏌ヨ閫昏緫 * 1.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓哄叏閮紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝鎴栬�呭鐞嗚鑹叉槸鎴戠殑骞朵笖娌℃湁鍒嗛厤澶勭悊浜虹殑锛� @@ -203,7 +187,7 @@ * 3.濡傛灉鑺傜偣鐘舵�侀�夋嫨涓鸿繘琛屼腑锛屽垯鏌ヨ鑺傜偣琛ㄤ腑澶勭悊浜烘槸鎴戠殑 锛堜笉闇�瑕佽繃婊わ紝鍥犱负涓�涓伐鍗曡繘琛屼腑鑺傜偣锛屽彧浼氭湁涓�涓級 * 4.濡傛灉鑺傜偣鐘舵�佹煡璇㈡湭宸插鐞嗭紝鍒欐煡璇㈣妭鐐硅〃涓鐞嗕汉鏄垜鐨勶紝闇�瑕佽繃婊わ紙鍥犱负涓�涓妭鐐逛竴涓汉鍙互澶勭悊澶氭锛岄�氳繃鑺傜偣琛ㄤ綔涓轰富琛ㄦ煡璇㈠嚭鏉ョ殑宸ュ崟浼氭湁閲嶅锛� */ - + String flowstate = params.get("flowstate"); if(StringUtil.notEmpty(flowstate)) { if(flowstate.equals("1")) { @@ -222,7 +206,7 @@ } } } - + builder.append(")D"); builder.append(" WHERE D.FLOWSTATE = :jddcl "); params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); @@ -283,10 +267,10 @@ builder.append(" WHERE D.WFSTATE != :ysc "); } builder = getMyZcSql(builder,params); - + builder.append(" AND D.BUSINESSTYPE = :businessType"); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); - + String pageSize = pageInfo.getPageSize(); String currPage = pageInfo.getCurrPage(); if(!StringUtil.notEmptyNum(pageSize)){ @@ -297,7 +281,7 @@ } int begin = Integer.valueOf(currPage); int size = Integer.valueOf(pageSize); - + if(!StringUtil.notEmpty(flowstate)) { builder.append( " ORDER BY D.CREATETIME DESC" ); List<Map> result = baseDao.queryForList(builder.toString(),params); @@ -320,14 +304,14 @@ list.add(flowId); } } - + if(cacheMap.size()>0) { for(String str : list) { resultList.add(cacheMap.get(str)); } } } - + int infoCount = resultList.size(); int bin = (begin-1)* size ; int end = (begin-1)* size + size; @@ -344,7 +328,7 @@ return info; } } - + public StringBuilder getMyZcSql(StringBuilder builder,Map<String, String> params){ String status = params.get("status"); if(StringUtil.notEmpty(status)) { @@ -352,32 +336,32 @@ builder.append(" AND D.WFSTATE = :status "); } } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { builder.append(" AND D.WFNAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - - + + String hjName = params.get("hjName"); if(StringUtil.notEmpty(hjName)) { builder.append(" AND D.CURRENT_NODE_NAME LIKE :hjName "); params.put("hjName", "%"+hjName+"%"); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND D.ORDER_CODE LIKE :orderCode"); params.put("orderCode", "%"+orderCode+"%"); } - + String contract = params.get("contract"); if(StringUtil.notEmpty(contract)) { builder.append(" AND D.CONTACT_NAME LIKE :contract "); params.put("contract", "%"+contract+"%"); } - + String pri = params.get("pri"); if(StringUtil.notEmpty(pri)) { String[] pris = pri.split(","); @@ -395,9 +379,9 @@ builder.append(")"); } } - - - + + + String dg = params.get("dg"); if(StringUtil.notEmpty(dg)) { String[] dgs = dg.split(","); @@ -415,8 +399,8 @@ builder.append(")"); } } - - + + String type = params.get("type"); if(StringUtil.notEmpty(type)) { String[] types = type.split(","); @@ -434,8 +418,8 @@ builder.append(")"); } } - - + + String sl = params.get("sl"); if(StringUtil.notEmpty(sl)) { String[] sls = sl.split(","); @@ -458,32 +442,32 @@ @Override public int zcywCountForFwt(Map<String, String> params) { - + StringBuilder builder = new StringBuilder(); builder.append("SELECT COUNT(WB.ID) "); builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B WHERE WB.BUSINESS_ID = B.ID "); builder.append(" AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); - + builder = getZcSql(builder,params); return baseDao.queryForInteger(builder.toString(), params); } @Override public PageInfo zcywDataForFwt(PageInfo pageInfo, Map<String, String> params) { - + StringBuilder builder = new StringBuilder(); builder.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE, "); builder.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.ANSWER_TIMEOUT,B.DEAL_TIMEOUT "); builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B WHERE WB.BUSINESS_ID = B.ID "); builder.append(" AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank( Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); - + builder = getZcSql(builder,params); - + builder.append( " ORDER BY WB.CREATETIME DESC "); - - + + return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); } public StringBuilder getZcSql(StringBuilder builder,Map<String, String> params){ @@ -491,20 +475,20 @@ if(StringUtil.notEmpty(customer_id)) { builder.append(" AND B.CUSTOMER_ID = :customer_id "); } - + String orderName = params.get("orderName"); if(StringUtil.notEmpty(orderName)) { builder.append(" AND WB.WFNAME LIKE :orderName "); params.put("orderName", "%"+orderName+"%"); } - - + + String orderStatus = params.get("orderStatus"); if(StringUtil.notEmpty(orderStatus)) { builder.append(" AND WB.WFSTATE = :orderStatus "); params.put("orderStatus", orderStatus); } - + String orderCode = params.get("orderCode"); if(StringUtil.notEmpty(orderCode)) { builder.append(" AND WB.ORDER_CODE LIKE :orderCode "); @@ -512,7 +496,7 @@ } return builder; } - + @Override public Map queryZcMsg(HttpServletRequest request) { Map result = new HashMap(); @@ -520,10 +504,10 @@ String customerName = new String(); String subCustomerId = new String(); String subCustomerName = new String(); - + String userId = WebUtil.getLoginedUserId(request); String selectSql1 = "SELECT A.CUSTOMER_ID FROM SC_CUSTOMER_ZC_UESR A WHERE A.USER_ID = :userId "; - + Map zcz = baseDao.queryForMap(selectSql1,new SqlParameter("userId",userId)); if(null!=zcz && zcz.size()>0) { String cId = ConvertUtil.obj2StrBlank(zcz.get("CUSTOMER_ID")); @@ -545,8 +529,8 @@ } } } - - + + result.put("customerId", customerId); result.put("customerName", customerName); result.put("subCustomerId", subCustomerId); @@ -558,20 +542,20 @@ public List queryAllZcry(HttpServletRequest request) { String subCustomerId = request.getParameter("subCustomerId"); String sql = "SELECT * FROM SC_CUSTOMER_ZC_UESR WHERE CUSTOMER_ID = :subCustomerId "; - + return baseDao.queryForList(sql,new SqlParameter("subCustomerId",subCustomerId)); } - + @Override public Map saveZcyw(HttpServletRequest request,SC_WORKFLOW_INCIDENT_LOCAL sc_workflow_incident_local) { Map resultMap = new HashMap(); Map user = WebUtil.getLoginUser(request).getLoginUser(); - - + + String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - - + + String serivceListId = request.getParameter("serivceListId"); String serivceList = request.getParameter("serivceList"); String first_category_id = new String(); @@ -590,11 +574,11 @@ third_category_id = serivceListIds[2]; third_category_name = serivceLists[2]; } - - + + String dealUserId = userId; String dealUserName = userName; - + String type = request.getParameter("type"); String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_FPDZCGCS; String node_template_id = Constants.ZCYW_FWSL; @@ -606,47 +590,47 @@ dealUserId = userMsg[0]; dealUserName = userMsg[1]; } - } - - - + } + + + } - - + + String order_code = workOrderCodeService.getIncidentOrderCode(); - + long createTime = DateUtil.getCurrentDate14(); - - + + //鍝嶅簲鏃堕棿涓哄垎閽� Long requestAnswerTime = sc_workflow_incident_local.getRequest_answer_time(); Long dealTime = sc_workflow_incident_local.getRequest_deal_time(); if(null == requestAnswerTime) { requestAnswerTime = Long.valueOf(0); } - + if(null == dealTime) { dealTime = Long.valueOf(0); } - + //澶勭悊鏃堕棿涓哄皬鏃� - + long answerTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(requestAnswerTime),2); long dealTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(dealTime),1); - - - + + + sc_workflow_incident_local.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name).setSecond_category_id(second_category_id) .setSecond_category_name(second_category_name).setThird_category_id(third_category_id).setThird_category_name(third_category_name).setCreate_user_id(userId).setCreate_user_name(userName) .setCreate_time(createTime); String id = StringUtil.getUUID(); sc_workflow_incident_local.setId(id).setState(ConvertUtil.obj2Integer(state)).setOrder_code(order_code).setFlow_name(sc_workflow_incident_local.getName()).setAnswer_timeout(2).setAnswer_timeout_time(answerTimeoutTime).setDeal_timeout(2).setDeal_timeout_time(dealTimeoutTime); sc_workflow_incident_local.insert(); - + String bz = request.getParameter("bz"); //鍚姩娴佺▼ WORKFLOW_BASE base = workflowBusinessService.startIncident_LocalWorkflow(id,bz); - + NodeDealEntity entity = new NodeDealEntity(); entity.setDealer_type(3); entity.setBefore_Dealer_type(2); @@ -655,13 +639,13 @@ map.put("USER_ID", dealUserId); map.put("USER_NAME", dealUserName); map.put("IS_ADMIN", "1"); - + dealerList.add(map); - + entity.setDealerList(dealerList); - + workflowBusinessService.toNode(base, node_template_id, entity); - + String hasMsg = request.getParameter("hasMsg"); /*if(StringUtil.notEmptyNum(hasMsg) && hasMsg.equals("2")) { //淇濆瓨鑱旂郴浜虹殑淇℃伅 @@ -671,8 +655,8 @@ .setIs_satis(0).setState(1).setIsemail(1).setIsphone(1).setAllow_login(2).setSub_customer_id(sc_workflow_incident_local.getSub_customer_id()).setSub_customer_name(sc_workflow_incident_local.getSub_customer_name()); project_contacts.insert(); }*/ - - + + String wxUrl = WechatConstants.ORDER_INCIDENT_DETAIL_ADDRESS+"?orderId="+base.getBusiness_id()+"&orderType="+Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL; //鍙戦�佹秷鎭� GG_MESSAGE message = new GG_MESSAGE(); @@ -687,29 +671,29 @@ .setOrder_code(order_code) .setType(Constants.GG_MESSAGE_TYPE_XCYW); messageFacade.doSendMessage(message, dealerList); - - - + + + //鎵�鏈夌殑涓氬姟涓婚敭閮芥槸flowId(鍗虫祦绋嬩富琛ㄧ殑id) String flowId = base.getId(); - - + + //鎻愪氦宸ュ崟鏃舵坊鍔犲叧鑱斿伐鍗� String[] orderId = request.getParameterValues("orderId"); orderService.saveLinkOrders(flowId,orderId,request); - + //鎻愪氦宸ュ崟鏃朵笂浼犳枃妗i檮浠� // /fileService.uploadFile(request, flowId, flowId, null, null); - - + + //鎻愪氦宸ュ崟鏃朵笂浼犳枃妗i檮浠� fileService.uploadFile(request,flowId,flowId,null,null,Constants.GG_FOLDERS_ZCYWSJFOLDERS,Constants.FILE_STATE_SHTG,null); - + //鎻愪氦宸ュ崟鏃舵坊鍔犲叧鑱旇澶� String[] deviceId = request.getParameterValues("deviceId"); deviceService.saveLinkDevices(flowId,deviceId); - - + + //娣诲姞澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("鍒涘缓浜嬩欢锛�"+userName+"鍒涘缓浜嗛┗鍦鸿繍缁翠簨浠�"); @@ -722,19 +706,19 @@ resultMap.put("incidentId", id); return resultMap; } - + @Override public void doEndTask(HttpServletRequest request) { String incidentId = request.getParameter("incidentId"); String solveWay = request.getParameter("solveWay"); String solveWayName = request.getParameter("solveWayName"); - - + + String resolve = request.getParameter("resolve"); String suggest = request.getParameter("suggest"); String bz = request.getParameter("bz"); Map user=new HashMap(); - + if(request.getParameter("isWechat")!=null && request.getParameter("isWechat").equals("1")){ user = WebUtil.getEngineerMsg(request); }else{ @@ -742,23 +726,23 @@ } String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + long resolveTime = DateUtil.getCurrentDate14(); - + String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_YJJ; - - - + + + Map result = getHs(incidentId,baseDao,resolveTime); //鑾峰彇瑙e喅鑰楁椂 double sjjjsj = ConvertUtil.obj2Double(result.get("sjjjsj")); - + String deal_timeout = ConvertUtil.obj2StrBlank(result.get("deal_timeout")); - - - + + + String updateSql = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state , RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,DEAL_USE_TIME = :deal_use_time,RESOLVE_TYPE_ID = :solveWay,RESOLVE_TYPE_NAME = :solveWayName,RESOLVE = :resolve,SUGGEST = :suggest,DEAL_TIMEOUT = :deal_timeout WHERE ID = :incidentId "; - + Map paramMap = new HashMap(); paramMap.put("state", state); paramMap.put("userId", userId); @@ -771,77 +755,77 @@ paramMap.put("incidentId", incidentId); paramMap.put("deal_use_time", sjjjsj); paramMap.put("deal_timeout", deal_timeout); - - + + baseDao.execute(updateSql, paramMap); - + //=====================鎵ц缁撴潫娴佺▼锛堜簨浠跺凡瑙e喅锛� WORKFLOW_BASE base = new WORKFLOW_BASE(new SC_WORKFLOW_INCIDENT_LOCAL(incidentId).getInstanceById().getFlow_id()).getInstanceById(); - + WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); - + //浜嬩欢鍝嶅簲 NodeAnswerEntity entity = new NodeAnswerEntity(); entity.setUser_id(userId); entity.setUser_name(userName); workflowCoreService.answerNode(base, workflow_node, entity); - - - + + + //鍒ゆ柇鏄惁鏄涓�娆″搷搴旓紝濡傛灉鏄涓�娆″搷搴旂殑璇濓紝鍒欐洿鏂颁簨浠惰〃涓疄闄呭搷搴旀椂闂达紙绗竴娆″搷搴旀椂闂达級 String selectSql = "SELECT ANSWER_TIME,CREATE_TIME,ANSWER_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; Map map = baseDao.queryForMap(selectSql,new SqlParameter("incidentId",incidentId)); String answerTime = ConvertUtil.obj2StrBlank(map.get("ANSWER_TIME")); long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); - + if(!StringUtil.notEmpty(answerTime)) { StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET "); long answer_time = DateUtil.getCurrentDate14(); //鍒ゆ柇鏄惁鍝嶅簲瓒呮椂 long answer_timeout_time = ConvertUtil.obj2Long(map.get("ANSWER_TIMEOUT_TIME")); - + String answer_timeout = "2"; if(answer_time>answer_timeout_time) { answer_timeout = "1"; } - + builder.append(" ANSWER_TIME = :answerTime,ANSWER_USE_TIME = :answer_user_time,ANSWER_TIMEOUT = :answer_timeout "); paramMap.put("answerTime",answer_time); paramMap.put("answer_timeout", answer_timeout); - + //璁$畻绗竴娆″搷搴旀椂闂村拰鍒涘缓浜嬩欢鐨勪簨浠跺樊 灏嗘椂闂村樊杞寲涓哄垎閽� long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); //灏嗙杞寲涓哄垎閽� double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); - + paramMap.put("answer_user_time", sjxysj); builder.append(" WHERE ID = :incidentId"); paramMap.put("incidentId", incidentId); baseDao.execute(builder.toString(), paramMap); } - - - - - - + + + + + + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title("娴佺▼缁撴潫"); finishEntity.setDeal_note(bz); - - + + //鍒ゆ柇鏄惁鑳藉缁撴潫鑺傜偣 boolean canFinish = workflowCoreService.finishNode(base, workflow_node, finishEntity); if (canFinish) { //鍏抽棴娴佺▼ workflowCoreService.finishWorkFlow(base); - } + } //=====================鎵ц缁撴潫娴佺▼瀹屾瘯锛堜簨浠跺凡瑙e喅锛� - - + + String flowId = base.getId(); - + //澧炲姞浜嬩欢澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("瑙e喅浜嬩欢锛�"+userName+"瑙e喅浜嗕簨浠�"); @@ -849,36 +833,36 @@ record.setDeal_user_name(userName); record.setBusiness_id(flowId); recordService.addRecord(record); - + } - + private Map getHs(String incidentId,BaseDao baseDao,long resolveTime) { String selectCreateTime = "SELECT CREATE_TIME,DEAL_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :id "; Map map = baseDao.queryForMap(selectCreateTime,new SqlParameter("id",incidentId)); long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); long deal_timeout_time = ConvertUtil.obj2Long(map.get("DEAL_TIMEOUT_TIME")); - + //璁$畻绗В鍐虫椂闂村拰鍒涘缓浜嬩欢鐨勪簨浠跺樊 灏嗘椂闂村樊杞寲涓哄皬鏃� long jjSeconds = DateUtil.getSecondsFormDate2Date(create_time, resolveTime); - + //灏嗙杞寲涓哄皬鏃� double sjjjsj = NumberUtil.div(ConvertUtil.obj2Double(jjSeconds), ConvertUtil.obj2Double(3600), 2); - + Map result = new HashMap(); result.put("sjjjsj", sjjjsj); - + if(resolveTime>deal_timeout_time) { result.put("deal_timeout", 1); - + } else { result.put("deal_timeout", 2); } - + return result; } - - - + + + /** * 鎵ц鍏抽棴浜嬩欢鎿嶄綔 */ @@ -887,17 +871,17 @@ String incidentId = request.getParameter("incidentId"); String solveWay = request.getParameter("solveWay"); String solveWayName = request.getParameter("solveWayName"); - - + + String resolve = request.getParameter("resolve"); String bz = request.getParameter("bz"); - + String merged_business_id = new String(); - + if(solveWay.equals(Constants.SJCF)) { merged_business_id = request.getParameter("merged_business_id"); } - + Map user=new HashMap(); if(request.getParameter("isWechat")!=null && request.getParameter("isWechat").equals("1")){ user = WebUtil.getEngineerMsg(request); @@ -906,20 +890,20 @@ } String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + long resolveTime = DateUtil.getCurrentDate14(); - + String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_YGB; - - + + Map result = getHs(incidentId,baseDao,resolveTime); //鑾峰彇瑙e喅鑰楁椂 double sjjjsj = ConvertUtil.obj2Double(result.get("sjjjsj")); - + String deal_timeout = ConvertUtil.obj2StrBlank(result.get("deal_timeout")); - + String updateSql = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state , RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,DEAL_USE_TIME = :deal_use_time,RESOLVE_TYPE_ID = :solveWay,RESOLVE_TYPE_NAME = :solveWayName,RESOLVE = :resolve,MERGED_BUSINESS_ID = :merged_business_id,DEAL_TIMEOUT = :deal_timeout WHERE ID = :incidentId"; - + Map paramMap = new HashMap(); paramMap.put("state", state); paramMap.put("userId", userId); @@ -932,70 +916,70 @@ paramMap.put("incidentId", incidentId); paramMap.put("deal_use_time", sjjjsj); paramMap.put("deal_timeout", deal_timeout); - + baseDao.execute(updateSql, paramMap); - + //=====================鎵ц缁撴潫娴佺▼锛堜簨浠跺凡鍏抽棴锛� WORKFLOW_BASE base = new WORKFLOW_BASE(new SC_WORKFLOW_INCIDENT_LOCAL(incidentId).getInstanceById().getFlow_id()).getInstanceById(); - + WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); - + //浜嬩欢鍝嶅簲 NodeAnswerEntity entity = new NodeAnswerEntity(); entity.setUser_id(userId); entity.setUser_name(userName); workflowCoreService.answerNode(base, workflow_node, entity); - + //鍒ゆ柇鏄惁鏄涓�娆″搷搴旓紝濡傛灉鏄涓�娆″搷搴旂殑璇濓紝鍒欐洿鏂颁簨浠惰〃涓疄闄呭搷搴旀椂闂达紙绗竴娆″搷搴旀椂闂达級 String selectSql = "SELECT ANSWER_TIME,CREATE_TIME,ANSWER_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; Map map = baseDao.queryForMap(selectSql,new SqlParameter("incidentId",incidentId)); String answerTime = ConvertUtil.obj2StrBlank(map.get("ANSWER_TIME")); long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); - + if(!StringUtil.notEmpty(answerTime)) { StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET "); long answer_time = DateUtil.getCurrentDate14(); //鍒ゆ柇鏄惁鍝嶅簲瓒呮椂 long answer_timeout_time = ConvertUtil.obj2Long(map.get("ANSWER_TIMEOUT_TIME")); - + String answer_timeout = "2"; if(answer_time>answer_timeout_time) { answer_timeout = "1"; } - + builder.append(" ANSWER_TIME = :answerTime,ANSWER_USE_TIME = :answer_user_time,ANSWER_TIMEOUT = :answer_timeout "); paramMap.put("answerTime",answer_time); paramMap.put("answer_timeout", answer_timeout); - + //璁$畻绗竴娆″搷搴旀椂闂村拰鍒涘缓浜嬩欢鐨勪簨浠跺樊 灏嗘椂闂村樊杞寲涓哄垎閽� long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); //灏嗙杞寲涓哄垎閽� double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); - + paramMap.put("answer_user_time", sjxysj); builder.append(" WHERE ID = :incidentId"); paramMap.put("incidentId", incidentId); baseDao.execute(builder.toString(), paramMap); } - - - - - + + + + + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title("娴佺▼鍏抽棴"); finishEntity.setDeal_note(bz); - - + + //鍒ゆ柇鏄惁鑳藉缁撴潫鑺傜偣 boolean canFinish = workflowCoreService.finishNode(base, workflow_node, finishEntity); if (canFinish) { //鍏抽棴娴佺▼ workflowCoreService.closeWorkFlow(base); - } + } //=====================鎵ц缁撴潫娴佺▼瀹屾瘯锛堜簨浠跺凡瑙e喅锛� - + String flowId = base.getId(); //澧炲姞浜嬩欢澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); @@ -1013,7 +997,7 @@ public List<Map> incidentLocalLzRecord(String flowId) { String selectSql = "SELECT N.* FROM WORKFLOW_NODE N,WORKFLOW_TEMPLATE_NODE B WHERE N.NODE_TEMPLATE_ID = B.ID AND N.FLOWID = :flowId ORDER BY N.CREATETIME DESC,B.ORDERNUMBER DESC "; List<Map> lzs = baseDao.queryForList(selectSql,new SqlParameter("flowId",flowId)); - + //鏍煎紡鍖栧搷搴旀椂闂翠负鍒嗛挓锛屾牸寮忓寲澶勭悊鏃堕棿涓哄皬鏃� if(null!=lzs && lzs.size()>0) { for(Map lz : lzs) { @@ -1022,16 +1006,16 @@ String answerTime = DateUtil.getFormatSeconds(ConvertUtil.obj2Int(answer_usertime)); lz.put("ANSWER_USERTIME", answerTime); } - + String deal_usetime = ConvertUtil.obj2StrBlank(lz.get("DEAL_USETIME")); if(StringUtil.notEmpty(deal_usetime) && !deal_usetime.equals("0")) { String dealTime = DateUtil.getFormatSeconds(ConvertUtil.obj2Int(deal_usetime)); lz.put("DEAL_USETIME", dealTime); } - + } } - + return lzs; } @@ -1050,8 +1034,8 @@ return baseMap; } - - + + @Override public List queryDealRecord(String orderId) { List<Map> list = recordService.queryRecord(orderId); @@ -1066,7 +1050,7 @@ List cacheList = new ArrayList(); if(cacheFile.containsKey(extend)) { cacheList = (List)cacheFile.get(extend); - } + } cacheList.add(file); cacheFile.put(extend, cacheList); } @@ -1081,8 +1065,8 @@ } } } - - + + return list; } @@ -1118,7 +1102,7 @@ if(null!=incident && incident.size()>0) { customerId = ConvertUtil.obj2StrBlank(incident.get("CUSTOMER_ID")); } - + String name = AjaxUtil.decode(request.getParameter("name")); StringBuilder builder = new StringBuilder("SELECT * FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE CUSTOMER_ID = :customerId AND ID <> :incidentId "); Map paramMap = new HashMap(); @@ -1131,7 +1115,7 @@ builder.append(" ORDER BY CREATE_TIME DESC "); return baseDao.queryForList(builder.toString(),paramMap); } - + /** * 鎵ц宸ュ崟纭鎿嶄綔 */ @@ -1139,65 +1123,65 @@ public String doOrderConfirm(HttpServletRequest request) { String incidentId = request.getParameter("incidentId"); String flowId = request.getParameter("flowId"); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + NodeAnswerEntity answerEntity = new NodeAnswerEntity(); answerEntity.setUser_id(userId); answerEntity.setUser_name(userName); - - + + WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); - + //宸ュ崟鍝嶅簲 workflowCoreService.answerNode(base, new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(), answerEntity); - - + + //鍒ゆ柇鏄惁鏄涓�娆″搷搴旓紝濡傛灉鏄涓�娆″搷搴旂殑璇濓紝鍒欐洿鏂颁簨浠惰〃涓疄闄呭搷搴旀椂闂达紙绗竴娆″搷搴旀椂闂达級 String selectSql = "SELECT ANSWER_TIME,CREATE_TIME,ANSWER_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; Map map = baseDao.queryForMap(selectSql,new SqlParameter("incidentId",incidentId)); String answerTime = ConvertUtil.obj2StrBlank(map.get("ANSWER_TIME")); long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); - - + + Map paramMap = new HashMap(); StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = STATE + 1"); if(!StringUtil.notEmpty(answerTime)) { - - + + long answer_time = DateUtil.getCurrentDate14(); //鍒ゆ柇鏄惁鍝嶅簲瓒呮椂 long answer_timeout_time = ConvertUtil.obj2Long(map.get("ANSWER_TIMEOUT_TIME")); - + String answer_timeout = "2"; if(answer_time>answer_timeout_time) { answer_timeout = "1"; } - + builder.append(",ANSWER_TIME = :answerTime,ANSWER_USE_TIME = :answer_user_time,ANSWER_TIMEOUT = :answer_timeout "); paramMap.put("answerTime",answer_time); paramMap.put("answer_timeout", answer_timeout); - - + + //璁$畻绗竴娆″搷搴旀椂闂村拰鍒涘缓浜嬩欢鐨勪簨浠跺樊 灏嗘椂闂村樊杞寲涓哄垎閽� long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); //灏嗙杞寲涓哄垎閽� double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); - + paramMap.put("answer_user_time", sjxysj); - - + + } - + builder.append(" WHERE ID = :incidentId"); paramMap.put("incidentId", incidentId); baseDao.execute(builder.toString(), paramMap); - + return "1"; } - + @Override public String updateZcywMsg(HttpServletRequest request,SC_WORKFLOW_INCIDENT_LOCAL incident) { @@ -1235,7 +1219,7 @@ third_category_id = serivceListIds[2]; third_category_name = serivceLists[2]; } - + //鍝嶅簲鏃堕棿涓哄垎閽� Long requestAnswerTime = incident.getRequest_answer_time(); //澶勭悊鏃堕棿涓哄皬鏃� @@ -1243,17 +1227,17 @@ if(null == requestAnswerTime) { requestAnswerTime = Long.valueOf(0); } - + if(null == dealTime) { dealTime = Long.valueOf(0); } - + String selectCreateTimeSql = "SELECT CREATE_TIME,ANSWER_TIME,RESOLVE_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; Map m = baseDao.queryForMap(selectCreateTimeSql,new SqlParameter("incidentId",incident.getId())); long createTime = ConvertUtil.obj2Long(m.get("CREATE_TIME")); long answerTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(requestAnswerTime),2); long dealTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(dealTime),1); - + long currentTime = DateUtil.getCurrentDate14(); //鍒ゆ柇褰撳墠鏄惁宸茬粡鍝嶅簲瓒呮椂 String answer_time = ConvertUtil.obj2StrBlank(m.get("ANSWER_TIME")); @@ -1266,7 +1250,7 @@ incident.setAnswer_timeout(1); } } - + //鍒ゆ柇褰撳墠鏄惁宸茬粡澶勭悊瓒呮椂 String resolve_time = ConvertUtil.obj2StrBlank(m.get("RESOLVE_TIME")); if(StringUtil.notEmpty(resolve_time)) { @@ -1278,18 +1262,18 @@ incident.setDeal_timeout(1); } } - - - + + + incident.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name).setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) .setThird_category_id(third_category_id).setThird_category_name(third_category_name).setAnswer_timeout_time(answerTimeoutTime).setDeal_timeout_time(dealTimeoutTime); - + incident.update(); String id = incident.getId(); fileService.uploadFile(request, id,id,null,null); return "1"; } - + /** * 鎵ц鍗囩骇涓轰簨浠舵搷浣� */ @@ -1304,65 +1288,65 @@ incident = copyProperties(incident,local); } catch (Exception e) { e.printStackTrace(); - } - + } + //鏌ヨ褰撳墠椤圭洰鐨勬湇鍔″彴缁勭殑缂栧彿 String selectSql = "SELECT A.* FROM AC_ROLE A WHERE A.ID = :roleid "; Map map = baseDao.queryForMap(selectSql,new SqlParameter("roleid",Constants.AC_ROLE_FWT)); String groupId = ConvertUtil.obj2StrBlank(map.get("ID")); String groupName = ConvertUtil.obj2StrBlank(map.get("ROLENAME")); - + String state = Constants.SC_WORKFLOW_INCIDENT_STATE_FPDFWT; String node_template_id = Constants.KFRY; - - + + String order_code = workOrderCodeService.getIncidentOrderCode(); - + //鍝嶅簲鏃堕棿涓哄垎閽� Long requestAnswerTime = incident.getRequest_answer_time(); Long dealTime = incident.getRequest_deal_time(); if(null == requestAnswerTime) { requestAnswerTime = Long.valueOf(0); } - + if(null == dealTime) { dealTime = Long.valueOf(0); } - + //澶勭悊鏃堕棿涓哄皬鏃� long createTime = DateUtil.getCurrentDate14(); - + long answerTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(requestAnswerTime),2); long dealTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(dealTime),1); - + Map user = WebUtil.getLoginUser(request).getLoginUser(); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + String incidentId = StringUtil.getUUID(); incident.setCreate_user_id(userId).setCreate_user_name(userName).setCreate_time(createTime).setId(incidentId).setState(ConvertUtil.obj2Integer(state)).setOrder_code(order_code).setFlow_name(incident.getName()).setAnswer_timeout(2).setAnswer_timeout_time(answerTimeoutTime).setDeal_timeout(2).setDeal_timeout_time(dealTimeoutTime).setCreate_type(3).setDeal_use_time(null).setAnswer_use_time(null); incident.insert(); - - + + //鍚姩娴佺▼ WORKFLOW_BASE base = workflowBusinessService.startIncidentWorkflow(incidentId,""); - - - + + + //鍚姩娴佺▼ - + NodeDealEntity entity = new NodeDealEntity(); entity.setDealer_type(3); List<Map> dealerList = new ArrayList<Map>(); entity.setBefore_Dealer_type(1); entity.setRoleID(groupId); entity.setRoleName(groupName); - + //鏌ヨ鏀圭粍涓嬮潰鐨勬墍鏈変汉鍛樹俊鎭� String selectUser = "SELECT B.ID AS USER_ID,B.ZSXM AS USER_NAME FROM AC_USER_REF_ROLE A,GG_USER B WHERE A.JSBH = :groupId AND A.YHBH = B.ID AND B.ZT = 1 "; dealerList = baseDao.queryForList(selectUser,new SqlParameter("groupId",groupId)); - - + + workflowBusinessService.toNode(base, node_template_id, entity); String wxUrl = WechatConstants.ORDER_INCIDENT_DETAIL_ADDRESS+"?orderId="+base.getBusiness_id()+"&orderType="+Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL; //鍙戦�佹秷鎭� @@ -1378,7 +1362,7 @@ .setOrder_code(order_code) .setType(Constants.GG_MESSAGE_TYPE_SJGL); messageFacade.doSendMessage(message, dealerList); - + //娣诲姞鍏宠仈宸ュ崟 List<Map> orders = orderService.queryLinkOrders(flowId); StringBuilder builder = new StringBuilder(); @@ -1392,8 +1376,8 @@ String[] orderId = builder.toString().split(","); orderService.saveLinkOrders(base.getId(),orderId,request); } - - + + //娣诲姞鍏宠仈璁惧 String selectDeviceSql = "SELECT * FROM CMDB_CI_REF_ORDER WHERE FLOW_ID = :flowId"; List<Map> devices = baseDao.queryForList(selectDeviceSql,new SqlParameter("flowId",flowId)); @@ -1409,9 +1393,9 @@ } baseDao.executeBatch(insertSql,list); } - - - + + + //鏌ヨ鏂囨。闄勪欢 List<Map> files = fileService.getFileList(id,1); if(null!=files && files.size()>0) { @@ -1425,7 +1409,7 @@ sqlParameter.put("FILE_PATH", file.get("FILE_PATH")); sqlParameter.put("FILE_SIZE", file.get("FILE_SIZE")); sqlParameter.put("FILE_FORMAT", file.get("FILE_SIZE")); - + sqlParameter.put("BUSINESS_ID", incidentId); sqlParameter.put("ORDERNUM", file.get("ORDERNUM")); sqlParameter.put("FILE_NOTE", file.get("FILE_NOTE")); @@ -1437,40 +1421,40 @@ } baseDao.executeBatch(sql,parameters); } - - + + String resolve = request.getParameter("resolve"); String bz = request.getParameter("bz"); //璁剧疆椹诲満杩愮淮宸ュ崟涓哄凡鎸傝捣 String updateZcyw = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state,RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,RESOLVE = :solveWay,INCIDENT_ID = :incidentId WHERE ID = :id"; baseDao.execute(updateZcyw, new SqlParameter("state",Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_YGQ).addValue("id", id).addValue("resolveTime", createTime).addValue("incidentId", incidentId).addValue("userId", userId).addValue("userName", userName).addValue("solveWay", resolve)); - - + + //鎵ц鎸傝捣鎿嶄綔 - + WORKFLOW_BASE base1 = new WORKFLOW_BASE(new SC_WORKFLOW_INCIDENT_LOCAL(id).getInstanceById().getFlow_id()).getInstanceById(); - + WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(base1.getCurrent_node_id()).getInstanceById(); - + /*NodeAnswerEntity entity1 = new NodeAnswerEntity(); entity1.setUser_id(userId); entity1.setUser_name(userName); workflowCoreService.answerNode(base1, workflow_node, entity1);*/ - - - + + + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title("娴佺▼鎸傝捣"); finishEntity.setDeal_note(bz); - - + + boolean canFinish = workflowCoreService.finishNode(base, new WORKFLOW_NODE(base1.getCurrent_node_id()).getInstanceById(), finishEntity); if (canFinish) { workflowCoreService.upWorkFlow(base1); - } - - + } + + //澧炲姞浜嬩欢澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); record.setDeal_content("鍗囩骇浜嬩欢锛�"+userName+"鍗囩骇浜嗕簨浠�"); @@ -1478,16 +1462,16 @@ record.setDeal_user_id("1"); record.setDeal_user_name(userName); record.setBusiness_id(flowId); - + recordService.addRecord(record); - - + + return incidentId; - + } return null; } - + /** * @param incident * @param local @@ -1505,18 +1489,18 @@ .setSub_customer_id(local.getSub_customer_id()).setSub_customer_name(local.getSub_customer_name()).setCreate_type(3); return incident; } - + @Override public Map queryWcReport(String orderId) { Map incident = new SC_WORKFLOW_INCIDENT_LOCAL(orderId).getBeanMapById(); String flowId = ConvertUtil.obj2StrBlank(incident.get("FLOW_ID")); - + //鏌ヨ鍏宠仈宸ュ崟 if(null!=incident && incident.size()>0) { List<Map> orders = queryOrders(flowId); List<Map> devices = incidentFacade.queryDevices(flowId); List<Map> files = queryFiles(flowId); - + incident.put("orders", orders); incident.put("devices", devices); incident.put("files", files); @@ -1536,35 +1520,35 @@ } return incident; } - + @Override public Map saveDispatchTask(HttpServletRequest request) { - + Map resultMap = new HashMap(); resultMap.put("result", 2); - + String id = request.getParameter("id"); String selectUser = request.getParameter("userMsg"); String dealUserId = new String(); String dealUserName = new String(); - + String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_FPDZCGCS; String node_template_id = Constants.ZCYW_FWSL; - + if(StringUtil.notEmpty(selectUser)) { String[] userMsg = selectUser.split("-"); if(userMsg.length==2) { dealUserId = userMsg[0]; dealUserName = userMsg[1]; } - } - - + } + + if(StringUtil.notEmpty(dealUserId) && StringUtil.notEmpty(dealUserName)) { //鎵ц鍒嗘淳浠诲姟 - + WORKFLOW_BASE base = new WORKFLOW_BASE(id).getInstanceById(); - + NodeDealEntity entity = new NodeDealEntity(); entity.setDealer_type(3); entity.setBefore_Dealer_type(2); @@ -1573,32 +1557,32 @@ map.put("USER_ID", dealUserId); map.put("USER_NAME", dealUserName); map.put("IS_ADMIN", "1"); - + dealerList.add(map); - + entity.setDealerList(dealerList); String bz = request.getParameter("bz"); - + NodeFinishEntity finishEntity = new NodeFinishEntity(); finishEntity.setDeal_result(1); finishEntity.setDeal_note_title("鑺傜偣杞嚦 锛�" + dealUserName); finishEntity.setDeal_note(bz); - - + + NodeAnswerEntity answerEntity = new NodeAnswerEntity(); answerEntity.setUser_id(dealUserId); answerEntity.setUser_name(dealUserName); - + WORKFLOW_NODE node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); boolean canFinish = workflowCoreService.finishNode(base, node, finishEntity); if (canFinish) { workflowBusinessService.toNode(base, node_template_id, entity); - } - + } + //鏇存柊浜嬩欢鐘舵�� String updateIncidentSql = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state WHERE ID = :incidentId "; baseDao.execute(updateIncidentSql, new SqlParameter("state",state).addValue("incidentId", base.getBusiness_id())); - + Map user=new HashMap(); if(request.getParameter("isWechat")!=null && request.getParameter("isWechat").equals("1")){ user = WebUtil.getEngineerMsg(request); @@ -1607,7 +1591,7 @@ } String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); - + String flowId = base.getId(); //澧炲姞浜嬩欢澶勭悊璁板綍 GG_RECORD record = new GG_RECORD(); @@ -1616,11 +1600,11 @@ record.setDeal_user_id("1"); record.setDeal_user_name(userName); record.setBusiness_id(base.getId()); - + recordService.addRecord(record); - - - + + + String wxUrl = WechatConstants.ORDER_INCIDENT_DETAIL_ADDRESS+"?orderId="+base.getBusiness_id()+"&orderType="+Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL; //鍙戦�佹秷鎭� GG_MESSAGE message = new GG_MESSAGE(); @@ -1634,10 +1618,10 @@ .setWx_url(wxUrl) .setType(Constants.GG_MESSAGE_TYPE_XCYW); messageFacade.doSendMessage(message, dealerList); - - - - + + + + resultMap.put("result", 1); } SysInfoMsg msg = new SysInfoMsg("2",dealUserName,"鏈嶅姟鍙楃悊"); @@ -1678,7 +1662,7 @@ public int queryZcywTimeoutCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB,WORKFLOW_NODE N "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB,WORKFLOW_NODE N "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND N.CURRENT_DEALER_ID = :current_dealer_id "); params.put("current_dealer_id", params.get("userId")); sql.append(sqlpart); @@ -1746,12 +1730,12 @@ params.put("endTime", endDay + "600000"); if (StringUtil.isBlank(userId)) { builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_INCIDENT_LOCAL where CUSTOMER_ID = :cusId "); - builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); + builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); } else { builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_INCIDENT_LOCAL q "); builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); - builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); + builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); } List<Map> dataList = baseDao.queryForList(builder.toString(), params); @@ -1832,7 +1816,7 @@ } return chartMap; } - + @Override public Map getLastMonthZcywPri(Map<String, String> params) { Map chartMap = new HashMap(); @@ -1888,12 +1872,12 @@ StringBuilder builder = new StringBuilder(); if (StringUtil.isBlank(userId)) { builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT_LOCAL where CUSTOMER_ID = :cusId "); - builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); + builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); } else { builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT_LOCAL q,WORKFLOW_BASE b "); builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); - builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); + builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); } List<Map> dataList = baseDao.queryForList(builder.toString(), params); @@ -1952,7 +1936,7 @@ public int getOrederZcywNumDxy(Map params){ StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); if(StringUtil.notEmpty(customerId)){ @@ -1968,7 +1952,7 @@ public int getOrederZcywNumJxz(Map params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); if(StringUtil.notEmpty(customerId)){ @@ -1985,7 +1969,7 @@ public int getOrederZcywTimeoutCount(Map<String, String> params) { StringBuilder sql = new StringBuilder(); StringBuilder sqlpart = new StringBuilder(); - sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); + sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); params.put("current_dealer_id", params.get("userId")); String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); @@ -2003,7 +1987,7 @@ public PageInfo zcywNodeData(PageInfo pageInfo, Map<String, String> params) { StringBuilder builder = new StringBuilder(); String state=params.get("state"); - + builder.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE, "); builder.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.ANSWER_TIMEOUT,B.DEAL_TIMEOUT "); builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B "); @@ -2030,8 +2014,8 @@ builder.append(" group by B.ID "); } builder.append( " ORDER BY WB.CREATETIME DESC "); - - + + return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); } @@ -2044,11 +2028,11 @@ builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_NODE N WHERE WB.BUSINESS_ID = B.ID AND N.FLOWID=WB.ID AND WB.WFSTATE=1 AND N.FLOWSTATE=1 "); builder.append(" AND WB.BUSINESSTYPE = :businessType "); params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); - + builder = getZcSql(builder,params); builder.append(" group by B.ID) d "); }else{ - + builder.append("SELECT COUNT(WB.ID) "); builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B WHERE WB.BUSINESS_ID = B.ID "); builder.append(" AND WB.BUSINESSTYPE = :businessType "); @@ -2061,10 +2045,10 @@ builder.append(" and WB.WFSTATE=2 "); }else if(state.equals("4")){ builder.append(" and WB.WFSTATE=4 "); - } + } builder = getZcSql(builder,params); } - + return baseDao.queryForInteger(builder.toString(), params); } } diff --git a/src/cn/ksource/web/service/knowledge/KmServiceImpl.java b/src/cn/ksource/web/service/knowledge/KmServiceImpl.java index e38a94b..7f01b32 100644 --- a/src/cn/ksource/web/service/knowledge/KmServiceImpl.java +++ b/src/cn/ksource/web/service/knowledge/KmServiceImpl.java @@ -1,18 +1,6 @@ package cn.ksource.web.service.knowledge; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import cn.ksource.beans.KM_LIBRARY; import cn.ksource.beans.KM_LIBRARY_FAVORITE; import cn.ksource.beans.KM_LIBRARY_TEMP; import cn.ksource.core.dao.BaseDao; @@ -23,13 +11,18 @@ import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.service.file.FileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; @Service public class KmServiceImpl implements KmService { - + @Autowired private BaseDao baseDao; - + @Autowired private FileService fileService; @@ -38,10 +31,10 @@ StringBuffer sql=new StringBuffer(" SELECT A.*,COUNT(B.ID) AS NUM FROM KM_LIBRARY_CATEGORY A LEFT JOIN KM_LIBRARY B ON A.ID = B.CATEGORY_ID and B.STATE = 1 WHERE A.STATE=1 "); sql.append(" GROUP BY A.ID ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); List<Map> categoryList = baseDao.queryForList(sql.toString()); - - + + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); @@ -67,9 +60,9 @@ } } } - + for (Map map : categoryList) { - + //涓�绾ф爲 if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); @@ -84,7 +77,7 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(map.get("ID").toString(), map); continue; } @@ -125,21 +118,21 @@ }else{ sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON A.ID = B.CATEGORY_ID and B.STATE = 1"); } - sql.append(" WHERE A.STATE=1 GROUP BY A.ID ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); - + sql.append(" WHERE A.STATE=1 GROUP BY A.ID,A.TITLE, A.TAG , A.LEVEL,A.SERIAL ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); + List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); - + List<Map> resultList = new LinkedList<Map>(); - + String firstCate = ""; String secondCate = ""; - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); - + for (Map map : categoryList) { - + //涓�绾ф爲 if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); @@ -154,7 +147,7 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(map.get("ID").toString(), map); continue; } @@ -168,14 +161,14 @@ List<Map> list = (List<Map>)ejgnMap.get("sjTree"); list.add(map); } - - + + } } - + return resultList; } - + @Override public List<Map> getmyFavourite(String userId) { StringBuilder sql = new StringBuilder(); @@ -184,7 +177,7 @@ sql.append("where k.CREATE_USER_ID=:create_user_id "); SqlParameter param = new SqlParameter(); param.addValue("create_user_id", userId); - + return baseDao.queryForList(sql.toString(), param); } @@ -203,13 +196,13 @@ StringBuilder sql = new StringBuilder(); sql.append("select t.ID,t.TITLE,t.TAG,t.CATEGORY_ID,t.SUMMARY,t.CREATE_TIME,t.CREATE_USER_NAME,t.IS_EDITOR,t.STATE from ( "); sql.append("select DISTINCT k.ID,k.TITLE,k.TAG,k.SUMMARY,k.CREATE_TIME,k.CREATE_USER_NAME,k.CATEGORY_ID,k.IS_EDITOR,p.STATE "); - + if(StringUtil.isEmpty(cusId)){ sql.append("from km_library k "); }else{ sql.append("from (SELECT A.* FROM KM_LIBRARY A,KM_LIBRARY_KNOWLEDGE_ACCESS B WHERE A.ID = B.KNOWLEDGE_ID AND B.CUSTOMER_ID = :cusId ) k "); } - + sql.append(" LEFT JOIN KM_LIBRARY_TEMP p on p.ORIGINAL_ID = k.ID where k.STATE=1 "); sql.append("order by k.CREATE_TIME desc) t "); sql.append("limit :limit1,:limit2 "); @@ -220,7 +213,7 @@ param.addValue("cusId", cusId); param.addValue("limit1", (begin-1)*size); param.addValue("limit2", size); - + List<Map> list = baseDao.queryForList(sql.toString(), param); List<Map> mylist = getmyFavourite(userId); for (Map map : list) { @@ -251,7 +244,7 @@ } sql.append("where k.STATE=1 "); sql.append("order by k.CREATE_TIME desc) t "); - + return baseDao.queryForInteger(sql.toString()); } @@ -277,12 +270,12 @@ sql.append("and k.THIRD_CATEGORY_ID=:category_id "); } sql.append("order by k.CREATE_TIME desc) t "); - + SqlParameter param = new SqlParameter(); param.addValue("category_id", categoryId); param.addValue("userId", userId); param.addValue("cusId", cusId); - + return baseDao.queryForInteger(sql.toString(), param); } @@ -303,7 +296,7 @@ StringBuilder sql = new StringBuilder(); sql.append("select t.ID,t.TITLE,t.TAG,t.SUMMARY,t.CREATE_TIME,t.CREATE_USER_NAME,t.IS_EDITOR,t.STATE from ( "); sql.append("select DISTINCT k.ID,k.TITLE,k.TAG,k.SUMMARY,k.CREATE_TIME,k.CREATE_USER_NAME,k.IS_EDITOR,p.STATE "); - + if(StringUtil.isEmpty(cusId)){ sql.append("from km_library k "); }else{ @@ -327,7 +320,7 @@ param.addValue("category_id", categoryId); param.addValue("userId", userId); param.addValue("cusId", cusId); - + List<Map> list = baseDao.queryForList(sql.toString(), param); List<Map> mylist = getmyFavourite(userId); for (Map map : list) { @@ -363,7 +356,7 @@ sql.append(" WHERE k.ID = :id "); SqlParameter param = new SqlParameter(); param.addValue("id", libraryId); - + Map map = baseDao.queryForMap(sql.toString(), param); List<Map> mylist = getmyFavourite(userId); List<Map> myrecord = getmyknowRecord(userId); @@ -393,18 +386,18 @@ } } map.put("tag_list", tagList); - + } - + //闄勪欢 map.put("file_list", fileService.getFileList(ConvertUtil.obj2StrBlank(map.get("FILE_ID")))); - - + + //鐭ヨ瘑鍏宠仈 String linksql = "select B.ID,B.TITLE from KM_LIBRARY_KNOWLEDGE A,KM_LIBRARY B where A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID=:library_id "; List<Map> linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", libraryId)); map.put("link_list", linkList); - + //鍘嗗彶鐗堟湰鍒楄〃 String historySql = "select ID,VERSION,CREATE_USER_NAME,CREATE_TIME from KM_LIBRARY_HISTORY " +"where ORIGINAL_ID=:original_id and STATE=1 order by VERSION "; @@ -413,10 +406,10 @@ //鐐瑰嚮鎺掑悕 Map rankMap = this.getLibraryRankForHits(); map.put("RANK", rankMap.get(libraryId)); - + return map; } - + @Override public Map getLibraryZjbById(String libraryId, HttpServletRequest request) { String userId = WebUtil.getLoginedUserId(request); @@ -426,7 +419,7 @@ sql.append(" WHERE k.ID = :id "); SqlParameter param = new SqlParameter(); param.addValue("id", libraryId); - + Map map = baseDao.queryForMap(sql.toString(), param); List<Map> mylist = getmyFavourite(userId); for(Map mymap :mylist){ @@ -445,13 +438,13 @@ } } map.put("tag_list", tagList); - + } - + //闄勪欢 map.put("file_list", fileService.getFileList(ConvertUtil.obj2StrBlank(map.get("ID")))); - - + + //鐭ヨ瘑鍏宠仈 String linksql = "select B.ID,B.TITLE from KM_LIBRARY_KNOWLEDGE A,KM_LIBRARY B where A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID=:library_id "; List<Map> linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", new KM_LIBRARY_TEMP(libraryId).getInstanceById().getOriginal_id())); @@ -459,7 +452,7 @@ linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", libraryId)); } map.put("link_list", linkList); - + /*//鍘嗗彶鐗堟湰鍒楄〃 String historySql = "select ID,VERSION from KM_LIBRARY_HISTORY " +"where ORIGINAL_ID=:original_id and STATE=1 order by VERSION "; @@ -468,10 +461,10 @@ //鐐瑰嚮鎺掑悕 Map rankMap = this.getLibraryRankForHits(); map.put("RANK", rankMap.get(libraryId));*/ - + return map; } - + /** * 鑾峰彇鏂囧簱鐐瑰嚮鎺掑悕 * @param partnerId @@ -479,16 +472,16 @@ */ private Map getLibraryRankForHits() { Map resultMap = new HashMap(); - + String sql = "select ID,HITS from km_library where STATE=1 order by HITS desc "; - + List<Map> list = baseDao.queryForList(sql); if (list != null && list.size() > 0) { for (int i=0; i<list.size(); i++) { resultMap.put(list.get(i).get("ID"), i+1); } } - + return resultMap; } @@ -496,7 +489,7 @@ public boolean addMyLibraryFavourite(String libraryId, String userId) { KM_LIBRARY_FAVORITE fav = new KM_LIBRARY_FAVORITE().setLibrary_id(libraryId) .setCreate_user_id(userId).queryForBean(); - + if (fav != null && fav.getCreate_time() > 0) { return false;//涓嶉噸澶嶆敹钘� } else { @@ -513,12 +506,12 @@ //鍩烘湰淇℃伅 StringBuilder sql = new StringBuilder("select ID,TITLE,TAG,SUMMARY,CONTENT,CATEGORY_ID,CATEGORY_NAME,CREATE_USER_ID,CREATE_USER_NAME,CREATE_TIME,VERSION,HITS,STATE,FILE_ID "); sql.append("from km_library_history where ID=:id "); - + SqlParameter param = new SqlParameter(); param.addValue("id", historyId); - + Map map = baseDao.queryForMap(sql.toString(), param); - + //鏍囩 String tag = ConvertUtil.obj2Str(map.get("TAG")); if (tag != null) { @@ -531,17 +524,17 @@ } map.put("tag_list", tagList); } - + //闄勪欢 map.put("file_list", fileService.getFileList(ConvertUtil.obj2StrBlank(map.get("FILE_ID")))); - - + + //鐭ヨ瘑鍏宠仈 String linksql = "select B.ID,B.TITLE from KM_LIBRARY_KNOWLEDGE_TEMP A,KM_LIBRARY B where A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID=:library_id "; List<Map> linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", historyId)); map.put("link_list", linkList); - - + + return map; } @@ -549,26 +542,26 @@ public Map thirdlevelListTree(HttpServletRequest request) { String category_id = request.getParameter("category_id"); String cusId = request.getParameter("cusId"); - StringBuilder sql=new StringBuilder("SELECT A.* ,COUNT(B.ID) AS NUM FROM CMDB_CI_CATEGORY A LEFT JOIN "); - + StringBuilder sql=new StringBuilder("SELECT A.ID,A.PID,A.TYPE,A.NAME,A.CODE,A.LV,A.SERIAL,A.STATE,A.LV1_ID,A.LV1_NAME,A.LV2_ID,A.LV2_NAME,A.LV3_ID,A.LV3_NAME,A.FULL_ID,A.FULL_NAME,A.CATE_TYPE,COUNT(B.ID) AS NUM FROM CMDB_CI_CATEGORY A LEFT JOIN "); + if(StringUtil.isEmpty(cusId)){ sql.append(" KM_LIBRARY B ON A.ID = B.THIRDLEVEL_ID AND B.STATE = 1 "); }else{ sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON A.ID = B.THIRDLEVEL_ID and B.STATE = 1"); } - sql.append(" WHERE A.STATE = 1 and a.cate_type=1 GROUP BY A.ID ORDER BY A.LV,A.SERIAL,A.NAME"); + sql.append(" WHERE A.STATE = 1 and a.cate_type=1 GROUP BY A.ID,A.PID,A.TYPE,A.NAME,A.CODE,A.LV,A.SERIAL,A.STATE,A.LV1_ID,A.LV1_NAME,A.LV2_ID,A.LV2_NAME,A.LV3_ID,A.LV3_NAME,A.FULL_ID,A.FULL_NAME,A.CATE_TYPE ORDER BY A.LV,A.SERIAL,A.NAME"); List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); - + Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); - + for (Map map : categoryList) { - + //涓�绾ф爲 if (map.get("LV").toString().equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); @@ -583,7 +576,7 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(map.get("ID").toString(), map); continue; } @@ -593,7 +586,7 @@ map.put("select", 1); } if(null!=map.get("PID")){ - + Map ejgnMap = ejgnCache.get(map.get("PID").toString()); List<Map> list = (List<Map>)ejgnMap.get("sjTree"); list.add(map); @@ -610,29 +603,29 @@ String category_id = request.getParameter("category_id"); String cusId = request.getParameter("cusId"); String type = request.getParameter("type"); - StringBuffer sql = new StringBuffer("SELECT D.*,COUNT(B.ID) AS NUM FROM ("); + StringBuffer sql = new StringBuffer("SELECT D.ID,D.CATEGORY_CODE,D.CATEGORY_NAME,D.LEVEL,D.P_ID,D.STATE,D.SERIAL,D.TYPE, D.PHOTOPATH,COUNT(B.ID) AS NUM FROM ("); String sqlpart="SELECT * FROM SC_SERVCE_CATEGORY WHERE STATE = 1 AND TYPE = 2 ORDER BY LEVEL,SERIAL "; sql.append(sqlpart); sql.append(" ) D LEFT JOIN "); - + if(StringUtil.isEmpty(cusId)){ sql.append(" KM_LIBRARY B ON D.ID = B.THIRD_CATEGORY_ID and B.STATE = 1 "); }else{ sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON D.ID = B.THIRD_CATEGORY_ID and B.STATE = 1"); } - sql.append(" GROUP BY D.ID ORDER BY D.LEVEL,D.SERIAL,D.CATEGORY_NAME"); + sql.append(" GROUP BY D.ID,D.CATEGORY_CODE,D.CATEGORY_NAME,D.LEVEL,D.P_ID,D.STATE,D.SERIAL,D.TYPE, D.PHOTOPATH ORDER BY D.LEVEL,D.SERIAL,D.CATEGORY_NAME"); List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); - + Map result = new HashMap(); - + List<Map> resultList = new LinkedList<Map>(); - + Map<String, Map> yjgnCache = new HashMap<String, Map>(); Map<String, Map> ejgnCache = new HashMap<String, Map>(); Map<String, Map> sjgnCache = new HashMap<String, Map>(); - + for (Map map : categoryList) { - + //涓�绾ф爲 if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); @@ -647,7 +640,7 @@ List<Map> list = (List<Map>)yjgnMap.get("ejTree"); map.put("sjTree", new LinkedList<Map>()); list.add(map); - + ejgnCache.put(map.get("ID").toString(), map); continue; } @@ -657,7 +650,7 @@ map.put("select", 1); } if(null!=map.get("P_ID")){ - + Map ejgnMap = ejgnCache.get(map.get("P_ID").toString()); List<Map> list = (List<Map>)ejgnMap.get("sjTree"); list.add(map); -- Gitblit v1.9.1