From 522b833bf3f34452be8df7a1c01d8097c872b36d Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Mon, 1 Sep 2025 20:11:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=8E=E6=97=B6=E5=AE=B6=E5=85=B7=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 美时家具/ecology10-lamex/.idea/.gitignore | 8 + .../ecology10-lamex/.idea/libraries/secDevLib.xml | 13 + 美时家具/ecology10-lamex/.idea/misc.xml | 6 + 美时家具/ecology10-lamex/.idea/modules.xml | 8 + 美时家具/ecology10-lamex/.idea/uiDesigner.xml | 124 +++++ .../seconddev/meishi/constant/Constants.java | 6 + .../controller/CreatePerformanceController.java | 49 ++ .../controller/PerformanceSubmitController.java | 48 ++ .../controller/PerformanceTestController.java | 160 +++++++ .../controller/UpdatePerformanceController.java | 49 ++ .../action/CreatePerformanceWorkflowAction.java | 135 ++++++ .../PerformanceSubmitCreateWorkflowAction.java | 159 +++++++ ...PerformanceSubmitCreateWorkflowActionTest.java | 34 ++ .../UpdatePerformanceSupDepartmentAction.java | 240 ++++++++++ .../meishi/esb/dao/CreatePerformanceDao.java | 227 ++++++++++ .../meishi/esb/dao/PerformanceSubmitDao.java | 382 ++++++++++++++++ .../meishi/esb/dao/UpdatePerformanceDao.java | 283 ++++++++++++ .../meishi/esb/util/CreatePerformanceUtil.java | 339 ++++++++++++++ .../meishi/esb/util/PerformanceSubmitUtil.java | 327 ++++++++++++++ .../meishi/service/CreatePerformanceService.java | 12 + .../meishi/service/PerformanceSubmitService.java | 12 + .../meishi/service/UpdatePerformanceService.java | 12 + .../impl/CreatePerformanceServiceImpl.java | 80 ++++ .../impl/PerformanceSubmitServiceImpl.java | 103 +++++ .../impl/UpdatePerformanceServiceImpl.java | 122 +++++ .../weaver/seconddev/meishi/util/CommonUtils.java | 422 ++++++++++++++++++ .../seconddev/meishi/util/DatabaseUtils.java | 330 ++++++++++++++ 27 files changed, 3690 insertions(+) create mode 100644 美时家具/ecology10-lamex/.idea/.gitignore create mode 100644 美时家具/ecology10-lamex/.idea/libraries/secDevLib.xml create mode 100644 美时家具/ecology10-lamex/.idea/misc.xml create mode 100644 美时家具/ecology10-lamex/.idea/modules.xml create mode 100644 美时家具/ecology10-lamex/.idea/uiDesigner.xml create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/constant/Constants.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/CreatePerformanceController.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceSubmitController.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceTestController.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/UpdatePerformanceController.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/CreatePerformanceWorkflowAction.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowAction.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowActionTest.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/UpdatePerformanceSupDepartmentAction.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/CreatePerformanceDao.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/PerformanceSubmitDao.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/UpdatePerformanceDao.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/CreatePerformanceUtil.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/PerformanceSubmitUtil.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/CreatePerformanceService.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/PerformanceSubmitService.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/UpdatePerformanceService.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/CreatePerformanceServiceImpl.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/PerformanceSubmitServiceImpl.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/UpdatePerformanceServiceImpl.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/CommonUtils.java create mode 100644 美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/DatabaseUtils.java diff --git a/美时家具/ecology10-lamex/.idea/.gitignore b/美时家具/ecology10-lamex/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/美时家具/ecology10-lamex/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/美时家具/ecology10-lamex/.idea/libraries/secDevLib.xml b/美时家具/ecology10-lamex/.idea/libraries/secDevLib.xml new file mode 100644 index 0000000..132758a --- /dev/null +++ b/美时家具/ecology10-lamex/.idea/libraries/secDevLib.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/美时家具/ecology10-lamex/.idea/misc.xml b/美时家具/ecology10-lamex/.idea/misc.xml new file mode 100644 index 0000000..0548357 --- /dev/null +++ b/美时家具/ecology10-lamex/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/美时家具/ecology10-lamex/.idea/modules.xml b/美时家具/ecology10-lamex/.idea/modules.xml new file mode 100644 index 0000000..39ba8f2 --- /dev/null +++ b/美时家具/ecology10-lamex/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/美时家具/ecology10-lamex/.idea/uiDesigner.xml b/美时家具/ecology10-lamex/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/美时家具/ecology10-lamex/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/constant/Constants.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/constant/Constants.java new file mode 100644 index 0000000..6baf7d6 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/constant/Constants.java @@ -0,0 +1,6 @@ +package com.weaver.seconddev.meishi.constant; + + +public class Constants { + public static String TENANT_KEY = "tt4ysjaz41"; +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/CreatePerformanceController.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/CreatePerformanceController.java new file mode 100644 index 0000000..1feb6da --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/CreatePerformanceController.java @@ -0,0 +1,49 @@ +package com.weaver.seconddev.meishi.controller; + +import com.weaver.common.authority.annotation.WeaPermission; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.service.CreatePerformanceService; +import com.weaver.seconddev.meishi.util.CommonUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/secondev/lamex/addperformance") +public class CreatePerformanceController { + private final Logger log = LoggerFactory.getLogger(CreatePerformanceController.class); + + @Autowired + public CreatePerformanceService createPerformanceService ; + + @Autowired + public CommonUtils CommonUtils; + + @GetMapping("/testWorkflow") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow(HttpServletRequest request){ + Map recordMap = new HashMap(); + log.error("testWorkflow"); + recordMap.put("test","test"); + return WeaResult.success(recordMap); + } + + @GetMapping("/createWorkflowV1") + @WeaPermission(publicPermission = true) + public WeaResult createWorkflowV1(HttpServletRequest request){ + log.error("createWorkflowV1"); + Map requestMap = CommonUtils.requestToMap(request); + log.error("TENANT_KEY:"+Constants.TENANT_KEY); + Map recordMap = createPerformanceService.createWorkflowV1(Constants.TENANT_KEY,requestMap); + return WeaResult.success(recordMap); + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceSubmitController.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceSubmitController.java new file mode 100644 index 0000000..8a4e696 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceSubmitController.java @@ -0,0 +1,48 @@ +package com.weaver.seconddev.meishi.controller; + +import com.weaver.common.authority.annotation.WeaPermission; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.meishi.util.CommonUtils; +import com.weaver.seconddev.meishi.service.PerformanceSubmitService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.weaver.seconddev.meishi.constant.Constants; +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/secondev/lamex/performance") +public class PerformanceSubmitController { + private final Logger log = LoggerFactory.getLogger(PerformanceSubmitController.class); + + @Autowired + public PerformanceSubmitService performanceSubmitService ; + + @Autowired + public CommonUtils CommonUtils; + + @GetMapping("/testWorkflow") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow(HttpServletRequest request){ + Map recordMap = new HashMap(); + log.error("testWorkflow"); + recordMap.put("test","test"); + return WeaResult.success(recordMap); + } + + @GetMapping("/createWorkflowV1") + @WeaPermission(publicPermission = true) + public WeaResult createWorkflowV1(HttpServletRequest request){ + log.error("createWorkflowV1"); + Map requestMap = CommonUtils.requestToMap(request); + log.error("TENANT_KEY:"+Constants.TENANT_KEY); + Map recordMap = performanceSubmitService.createWorkflowV1(Constants.TENANT_KEY,requestMap); + return WeaResult.success(recordMap); + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceTestController.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceTestController.java new file mode 100644 index 0000000..9f768bc --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/PerformanceTestController.java @@ -0,0 +1,160 @@ +package com.weaver.seconddev.meishi.controller; + +import com.weaver.common.authority.annotation.WeaPermission; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.service.PerformanceSubmitService; +import com.weaver.seconddev.meishi.util.CommonUtils; +import com.weaver.seconddev.meishi.util.DatabaseUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/secondev/lamex/ceshi") +public class PerformanceTestController { + private final Logger log = LoggerFactory.getLogger(PerformanceTestController.class); + + @Autowired + public PerformanceSubmitService performanceSubmitService ; + + @Autowired + public CommonUtils CommonUtils; + + @Autowired + private DatabaseUtils databaseUtils; + + @GetMapping("/testWorkflow") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow(HttpServletRequest request){ + Map recordMap = new HashMap(); + log.error("testWorkflow"); + recordMap.put("test","test"); + return WeaResult.success(recordMap); + } + + + + @GetMapping("/testWorkflow2") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow2(HttpServletRequest request){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map fieldMap = new HashMap(); + try{ + String dataSql =" select id,form_id,title,data_key " + + " from form_field " + + " where form_id='1090784675255934977' \n" + + " and data_key in('tjr','tjrbm','tbnf','zq','bmlx','sfzdcf')\n" + + " and sub_form_id is null " + + " and tenant_key='tt4ysjaz41' \n" + + " and delete_type=0" ; + + log.error("queryFromTableField--dataSql:" + dataSql); + Map result = databaseUtils.execute(sourceType, groupId, dataSql); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryFromTableField:"+recordList.size()); + for(Map recordMap : recordList ) { + String data_key = String.valueOf(recordMap.get("data_key")); + String id = String.valueOf(recordMap.get("id")); + fieldMap.put(data_key,id); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryFromTableField:e:" + e); + } + return WeaResult.success(fieldMap); + } + + + @GetMapping("/testWorkflow3") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow3(HttpServletRequest request){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map fieldMap = new HashMap(); + try{ + String dataSql =" select id,form_id,title,data_key " + + " from form_field " + + " where form_id='1090784675255934977' \n" + + " and data_key in('kt')\n" + + " and sub_form_id in('1090792062725513218')\n"+ + " and tenant_key='tt4ysjaz41' \n" + + " and delete_type=0" ; + + log.error("queryFromTableField--dataSql:" + dataSql); + Map result = databaseUtils.execute(sourceType, groupId, dataSql); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryDetailTableField:"+recordList.size()); + for(Map recordMap : recordList ) { + String data_key = String.valueOf(recordMap.get("data_key")); + String id = String.valueOf(recordMap.get("id")); + fieldMap.put(data_key,id); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryFromTableField:e:" + e); + } + return WeaResult.success(fieldMap); + } + + + @GetMapping("/testWorkflow4") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow4(HttpServletRequest request){ + + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + + try{ + String dataSql =" select h.id,h.username,h.department,k.name as deptname\n" + + " from eteams.employee h \n" + + " left join eteams.department k on k.id = h.department\n" + + " where h.id in(" + + " select bmfzr " + + " from ft_1090502818035523594 \n" + + " where bmcj = 0 " + + " and tenant_key='tt4ysjaz41' \n" + + " and delete_type=0 \n" + + " ) " + + " and h.tenant_key='tt4ysjaz41' \n" + + " and h.delete_type=0 \n" + + " and k.type='department' "+ + " and k.tenant_key='tt4ysjaz41' \n" + + " and k.delete_type=0 \n" ; + + log.error("querykhfl--dataSql:" + dataSql); + + Map result = databaseUtils.execute(sourceType, groupId, dataSql); + recordList = databaseUtils.getDataSourceList(result); + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + + return WeaResult.success(recordList); + } + + + @GetMapping("/createWorkflowV1") + @WeaPermission(publicPermission = true) + public WeaResult createWorkflowV1(HttpServletRequest request){ + log.error("createWorkflowV1"); + Map requestMap = CommonUtils.requestToMap(request); + log.error("TENANT_KEY:"+Constants.TENANT_KEY); + Map recordMap = performanceSubmitService.createWorkflowV1(Constants.TENANT_KEY,requestMap); + return WeaResult.success(recordMap); + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/UpdatePerformanceController.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/UpdatePerformanceController.java new file mode 100644 index 0000000..3d18c82 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/controller/UpdatePerformanceController.java @@ -0,0 +1,49 @@ +package com.weaver.seconddev.meishi.controller; + +import com.weaver.common.authority.annotation.WeaPermission; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.service.UpdatePerformanceService; +import com.weaver.seconddev.meishi.util.CommonUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/secondev/lamex/upperformance") +public class UpdatePerformanceController { + private final Logger log = LoggerFactory.getLogger(UpdatePerformanceController.class); + + @Autowired + public UpdatePerformanceService updatePerformanceService ; + + @Autowired + public CommonUtils CommonUtils; + + @GetMapping("/testWorkflow") + @WeaPermission(publicPermission = true) + public WeaResult testWorkflow(HttpServletRequest request){ + Map recordMap = new HashMap(); + log.error("testWorkflow"); + recordMap.put("test","test"); + return WeaResult.success(recordMap); + } + + @GetMapping("/updateRequestV1") + @WeaPermission(publicPermission = true) + public WeaResult updateRequestV1(HttpServletRequest request){ + log.error("updateRequestV1"); + Map requestMap = CommonUtils.requestToMap(request); + log.error("TENANT_KEY:"+Constants.TENANT_KEY); + Map recordMap = updatePerformanceService.updateRequestV1(Constants.TENANT_KEY,requestMap); + return WeaResult.success(recordMap); + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/CreatePerformanceWorkflowAction.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/CreatePerformanceWorkflowAction.java new file mode 100644 index 0000000..63d9c25 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/CreatePerformanceWorkflowAction.java @@ -0,0 +1,135 @@ +package com.weaver.seconddev.meishi.esb.action; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.form.dto.data.FormDataDetailDto; +import com.weaver.common.form.dto.data.FormDataDto; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.framework.rpc.annotation.RpcReference; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.CreatePerformanceDao; +import com.weaver.seconddev.meishi.esb.util.CreatePerformanceUtil; +import com.weaver.teams.domain.user.SimpleEmployee; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperateParamDataEntity; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperationResultDto; +import com.weaver.workflow.core.api.rest.publicapi.WfcRequestOperateRest; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.*; + + +@Service("Lamex_CreatePerformanceWorkflowAction") +public class CreatePerformanceWorkflowAction implements EsbServerlessRpcRemoteInterface { + + private final static Logger log = LoggerFactory.getLogger(CreatePerformanceWorkflowAction.class); + + @Autowired + CreatePerformanceUtil createPerformanceUtil; + + @RpcReference + WfcRequestOperateRest wfcRequestOperateRest; + + @Autowired + CreatePerformanceDao createPerformanceDao; + + @Override + public WeaResult> execute(Map params) { + + Map actionMap = new HashMap<>(); + + Long form_id = Long.valueOf(String.valueOf(params.get("form_id"))); + Long workflowid = Long.valueOf(String.valueOf(params.get("workflowid"))); + Long userid = Long.valueOf(String.valueOf(params.get("userid"))); + String form_data_id = String.valueOf(params.get("form_data_id")); + + log.error("CreatePerformanceWorkflowAction:form_id:"+form_id); + log.error("CreatePerformanceWorkflowAction:workflowid:"+workflowid); + log.error("CreatePerformanceWorkflowAction:userid:"+userid); + log.error("CreatePerformanceWorkflowAction:form_data_id:"+form_data_id); + String requestids = ""; + int count = 0; + try{ + Map mainData = createPerformanceDao.queryMainDataByFormDataId(Constants.TENANT_KEY,form_data_id); + List> dt1List = createPerformanceDao.queryDt1DataByFormDataId(Constants.TENANT_KEY,form_data_id); + log.error("CreatePerformanceWorkflowAction:dt1List:"+dt1List.size()); + + for(int i=0;i createrData = dt1List.get(i); + String dt1id = String.valueOf(createrData.get("id")); + log.error("CreatePerformanceWorkflowAction:dt1id:"+dt1id); + + Map reslutMap = createPerformanceUtil.doCreateWorkflowByUserData(Constants.TENANT_KEY,form_id,mainData,createrData,form_data_id,workflowid,userid); + if (reslutMap.containsKey("code")) { + String code = String.valueOf(reslutMap.get("code")); + String msg = String.valueOf(reslutMap.get("msg")); + if ("200".equals(code)) { + String requestid = String.valueOf(reslutMap.get("requestid")); + requestids += StringUtils.isBlank(requestids) ? requestid : ","+requestid; + + log.error("CreatePerformanceWorkflowAction:requestid:"+requestid); + log.error("CreatePerformanceWorkflowAction:dt1id:"+dt1id); + createPerformanceDao.updateRequestid2FormTable(Constants.TENANT_KEY,requestid,dt1id,""); + } else { + count++; + createPerformanceDao.updateRequestid2FormTable(Constants.TENANT_KEY,"",dt1id,msg); + } + } + } + + if(count >0){ + return WeaResult.fail(500,"部分流程创建失败"); + }else{ + actionMap.put("code",200); + actionMap.put("msg","创建流程成功"); + actionMap.put("requestid",requestids); + } + }catch (Exception e){ + return WeaResult.fail(500,"创建子流程异常"); + } + return WeaResult.success(actionMap); + } + + + + public Map createWorkflow(Long formId,Long workflowId,SimpleEmployee cjrEmployee,List formDataDetailDtos){ + + Map requestMap = new HashMap(); + try{ + String username = cjrEmployee.getUsername(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String currentDate = sdf.format(new Date()); + + WfcRequestOperateParamDataEntity wfcRequestOperateParamDataEntity = new WfcRequestOperateParamDataEntity(); + wfcRequestOperateParamDataEntity.setWorkflowId(workflowId); //审批流id 必填 + wfcRequestOperateParamDataEntity.setIsNextFlow(1); + wfcRequestOperateParamDataEntity.setRequestName("干部年度素质能力考核-"+username+"-"+currentDate); + // 表单设计器页开发者工具 通过此接口获取字段id /api/workflow/core/form/builder/getFormLayout + + //表单数据 + FormDataDto formDataDto = new FormDataDto(); + formDataDto.setFormId(formId); //表单id 必填 + formDataDto.setDataDetails(formDataDetailDtos); + + //无法创建带有明细表的审批流 + WeaResult flow = wfcRequestOperateRest.createFlow(wfcRequestOperateParamDataEntity, cjrEmployee, formDataDto); + int code = flow.getCode(); + String msg = flow.getMsg(); + Long reuestid = flow.getData().getRequestId(); + + requestMap.put("code",code); + requestMap.put("msg",msg); + requestMap.put("requestid",reuestid); + + }catch (Exception e){ + requestMap.put("code",500); + requestMap.put("msg","创建流程接口异常"); + requestMap.put("requestid",-1); + } + return requestMap; + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowAction.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowAction.java new file mode 100644 index 0000000..0170b63 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowAction.java @@ -0,0 +1,159 @@ +package com.weaver.seconddev.meishi.esb.action; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.form.dto.data.FormDataDetailDto; +import com.weaver.common.form.dto.data.FormDataDto; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.framework.rpc.annotation.RpcReference; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.PerformanceSubmitDao; +import com.weaver.seconddev.meishi.esb.util.PerformanceSubmitUtil; +import com.weaver.teams.domain.user.SimpleEmployee; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperateParamDataEntity; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperationResultDto; +import com.weaver.workflow.core.api.rest.publicapi.WfcRequestOperateRest; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.util.*; + + +@Service("Lamex_PerformanceSubmitCreateWorkflowAction") +public class PerformanceSubmitCreateWorkflowAction implements EsbServerlessRpcRemoteInterface { + + private final static Logger log = LoggerFactory.getLogger(PerformanceSubmitCreateWorkflowAction.class); + + @Autowired + PerformanceSubmitUtil performanceSubmitUtil; + + @RpcReference + WfcRequestOperateRest wfcRequestOperateRest; + + @Autowired + PerformanceSubmitDao performanceSubmitDao; + + @Override + public WeaResult> execute(Map params) { + + Map actionMap = new HashMap<>(); + + String dt2_form_id = String.valueOf(params.get("dt2_form_id")); + Long form_id = Long.valueOf(String.valueOf(params.get("form_id"))); + + Long workflowid = Long.valueOf(String.valueOf(params.get("workflowid"))); + Long userid = Long.valueOf(String.valueOf(params.get("userid"))); + String form_data_id = String.valueOf(params.get("form_data_id")); + + log.error("PerformanceSubmitCreateWorkflowAction:dt2_form_id:"+dt2_form_id); + log.error("PerformanceSubmitCreateWorkflowAction:form_id:"+form_id); + log.error("PerformanceSubmitCreateWorkflowAction:workflowid:"+workflowid); + log.error("PerformanceSubmitCreateWorkflowAction:userid:"+userid); + log.error("PerformanceSubmitCreateWorkflowAction:form_data_id:"+form_data_id); + + String requestids = ""; + int errcount = 0; + try{ + String sfzdcf = "0"; + List> reslutList = new ArrayList>(); + + Map mainData = performanceSubmitDao.queryMainDataByFormDataId(Constants.TENANT_KEY,form_data_id); + String bmlx = String.valueOf(mainData.get("bmlx")); + log.error("PerformanceSubmitCreateWorkflowAction:bmlx:"+bmlx); + if("0".equals(bmlx)){ //董事长 + String bmcj = "1"; + reslutList = performanceSubmitUtil.doCreateWorkflowByTopLeader(Constants.TENANT_KEY,form_id,mainData,form_data_id,workflowid,dt2_form_id,userid,bmcj,sfzdcf); + }else if("1".equals(bmlx)) { + String bmcj = "2"; + reslutList = performanceSubmitUtil.doCreateWorkflowByTopLeader(Constants.TENANT_KEY,form_id,mainData,form_data_id,workflowid,dt2_form_id,userid,bmcj,sfzdcf); + }else{ + + String bmcj = ""; + if("2".equals(bmlx)){ // 部长 + bmcj = "3"; + }else if("3".equals(bmlx)){ // 科 + bmcj = "4"; + } + if(StringUtils.isNotBlank(bmcj)){ + reslutList = performanceSubmitUtil.doCreateWorkflowByMiddleLeader(Constants.TENANT_KEY, form_id,mainData,form_data_id,workflowid,dt2_form_id,userid,bmcj,sfzdcf); + } + } + + log.error("PerformanceSubmitCreateWorkflowAction:reslutList:"+reslutList.size()); + for(int i=0;i reslutMap = reslutList.get(i); + if (reslutMap.containsKey("code")) { + String code = String.valueOf(reslutMap.get("code")); + if ("200".equals(code)) { + String requestid = String.valueOf(reslutMap.get("requestid")); + requestids += StringUtils.isBlank(requestids) ? requestid : "," + requestid; + } else { + errcount++; + } + } + } + + log.error("PerformanceSubmitCreateWorkflowAction:errcount:"+errcount); + + if(errcount == 0){ + + log.error("PerformanceSubmitCreateWorkflowAction:requestids:"+requestids); + log.error("PerformanceSubmitCreateWorkflowAction:form_data_id:"+form_data_id); + + performanceSubmitDao.updateRequestid2FormTable(Constants.TENANT_KEY,requestids,form_data_id); + actionMap.put("code",200); + actionMap.put("msg","创建流程成功"); + actionMap.put("requestid",requestids); + }else{ + performanceSubmitDao.updateRequestid2FormTable(Constants.TENANT_KEY,requestids,form_data_id); + return WeaResult.fail(500,"部分流程创建失败"); + } + + }catch (Exception e){ + return WeaResult.fail(500,"创建子流程异常"); + } + return WeaResult.success(actionMap); + } + + + + public Map createWorkflow(Long formId,Long workflowId,SimpleEmployee cjrEmployee,List formDataDetailDtos){ + + Map requestMap = new HashMap(); + try{ + String username = cjrEmployee.getUsername(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String currentDate = sdf.format(new Date()); + + WfcRequestOperateParamDataEntity wfcRequestOperateParamDataEntity = new WfcRequestOperateParamDataEntity(); + wfcRequestOperateParamDataEntity.setWorkflowId(workflowId); //审批流id 必填 + wfcRequestOperateParamDataEntity.setIsNextFlow(1); + wfcRequestOperateParamDataEntity.setRequestName("干部年度素质能力考核-"+username+"-"+currentDate); + // 表单设计器页开发者工具 通过此接口获取字段id /api/workflow/core/form/builder/getFormLayout + + //表单数据 + FormDataDto formDataDto = new FormDataDto(); + formDataDto.setFormId(formId); //表单id 必填 + formDataDto.setDataDetails(formDataDetailDtos); + + //无法创建带有明细表的审批流 + WeaResult flow = wfcRequestOperateRest.createFlow(wfcRequestOperateParamDataEntity, cjrEmployee, formDataDto); + int code = flow.getCode(); + String msg = flow.getMsg(); + Long reuestid = flow.getData().getRequestId(); + + requestMap.put("code",code); + requestMap.put("msg",msg); + requestMap.put("requestid",reuestid); + + }catch (Exception e){ + requestMap.put("code",500); + requestMap.put("msg","创建流程接口异常"); + requestMap.put("requestid",-1); + } + return requestMap; + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowActionTest.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowActionTest.java new file mode 100644 index 0000000..3dd31f8 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/PerformanceSubmitCreateWorkflowActionTest.java @@ -0,0 +1,34 @@ +package com.weaver.seconddev.meishi.esb.action; + +import com.alibaba.fastjson.JSON; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.meishi.esb.dao.PerformanceSubmitDao; +import com.weaver.seconddev.meishi.esb.util.PerformanceSubmitUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.*; + +@Service("Lamex_PerformanceSubmitCreateWorkflowActionV2") +public class PerformanceSubmitCreateWorkflowActionTest implements EsbServerlessRpcRemoteInterface { + + private final static Logger log = LoggerFactory.getLogger(PerformanceSubmitCreateWorkflowActionTest.class); + + @Autowired + PerformanceSubmitUtil performanceSubmitUtil; + + @Autowired + PerformanceSubmitDao performanceSubmitDao; + + @Override + public WeaResult> execute(Map params) { + + log.info("params: {}", JSON.toJSONString(params)); + params.put("extral", "123"); + return WeaResult.success(params); + } + + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/UpdatePerformanceSupDepartmentAction.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/UpdatePerformanceSupDepartmentAction.java new file mode 100644 index 0000000..328567c --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/action/UpdatePerformanceSupDepartmentAction.java @@ -0,0 +1,240 @@ +package com.weaver.seconddev.meishi.esb.action; + +import com.alibaba.fastjson.JSON; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.UpdatePerformanceDao; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@Service("Lamex_UpdatePerformanceSupDepartmentAction") +public class UpdatePerformanceSupDepartmentAction implements EsbServerlessRpcRemoteInterface { + + private final static Logger log = LoggerFactory.getLogger(UpdatePerformanceSupDepartmentAction.class); + + @Autowired + UpdatePerformanceDao updatePerformanceDao; + + @Override + public WeaResult> execute(Map params) { + + Map actionMap = new HashMap<>(); + String form_data_id = String.valueOf(params.get("form_data_id")); + Long userid = Long.valueOf(String.valueOf(params.get("userid"))); + log.error("form_data_id:"+form_data_id); + try{ + + Map mainData = updatePerformanceDao.queryMainDataByFormDataId(Constants.TENANT_KEY,form_data_id); + String bm = String.valueOf(mainData.get("bm")); + String yjtbnf = String.valueOf(mainData.get("yjtbnf")); + String zq = String.valueOf(mainData.get("zq")); + + boolean isDeptManager = updatePerformanceDao.compareDepartmentManagerByUser(Constants.TENANT_KEY,userid,bm); + log.error("isDeptManager:"+isDeptManager); + if(isDeptManager){ + List> dt1List = updatePerformanceDao.queryDt1DataByFormDataId(Constants.TENANT_KEY,form_data_id); + List> dt2List = updatePerformanceDao.queryDt2DataByFormDataId(Constants.TENANT_KEY,form_data_id); + List> dt3List = updatePerformanceDao.queryDt3DataByFormDataId(Constants.TENANT_KEY,form_data_id); + + log.error("dt1List:"+dt1List.size()); + log.error("dt2List:"+dt2List.size()); + log.error("dt3List:"+dt3List.size()); + + String dxwb_p8r4 = String.valueOf(mainData.get("dxwb_p8r4")); + if(dxwb_p8r4.contains("'")){ + dxwb_p8r4 = dxwb_p8r4.replace("'","''"); + log.error("dxwb_p8r4:"+dxwb_p8r4); + } + String txktbt = String.valueOf(mainData.get("txktbt")); + if(txktbt.contains("'")){ + txktbt = txktbt.replace("'","''"); + log.error("txktbt:"+txktbt); + } + String qz = String.valueOf(mainData.get("qz")); + if(qz.contains("'")){ + qz = qz.replace("'","''"); + log.error("qz:"+qz); + } + + String dxwb_3m7o = String.valueOf(mainData.get("dxwb_3m7o")); + if(dxwb_3m7o.contains("'")){ + dxwb_3m7o = dxwb_3m7o.replace("'","''"); + log.error("dxwb_3m7o:"+dxwb_3m7o); + } + + String txkt2bt = String.valueOf(mainData.get("txkt2bt")); + if(txkt2bt.contains("'")){ + txkt2bt = txkt2bt.replace("'","''"); + log.error("txkt2bt:"+txkt2bt); + } + + String qz2 = String.valueOf(mainData.get("qz2")); + if(qz2.contains("'")){ + qz2 = qz2.replace("'","''"); + log.error("qz2:"+qz2); + } + + String kts = String.valueOf(mainData.get("kts")); + if(kts.contains("'")){ + kts = kts.replace("'","''"); + log.error("kts:"+kts); + } + + String txkt3bt = String.valueOf(mainData.get("txkt3bt")); + if(txkt3bt.contains("'")){ + txkt3bt = txkt3bt.replace("'","''"); + log.error("txkt3bt:"+txkt3bt); + } + + String qz3 = String.valueOf(mainData.get("qz3")); + if(qz3.contains("'")){ + qz3 = qz3.replace("'","''"); + } + + String upSet = "sfact=0,kty='"+dxwb_p8r4+"',ktbt11='"+txktbt+"',qz11='"+qz+"',kte='"+dxwb_3m7o+"',ktbt22='"+txkt2bt+"',qz22='"+qz2+"',kts33='"+kts+"',ktbt33='"+txkt3bt+"',qz33='"+qz3+"'"; + String upSetNull = "sfact=null,kty=null,ktbt11=null,qz11=null,kte=null,ktbt22=null,qz22=null,kts33=null,ktbt33=null,qz33=null"; + for(int i=0;i dt1Data = dt1List.get(i); + + String dxwb_ckts = String.valueOf(dt1Data.get("dxwb_ckts")); + if(dxwb_ckts.contains("'")){ + dxwb_ckts = dxwb_ckts.replace("'","''"); + log.error("dxwb_ckts:"+dxwb_ckts); + } + + String dxwb_07dy = String.valueOf(dt1Data.get("dxwb_07dy")); + if(dxwb_07dy.contains("'")){ + dxwb_07dy = dxwb_07dy.replace("'","''"); + log.error("dxwb_07dy:"+dxwb_07dy); + } + + upSet += StringUtils.isBlank(upSet) ? "fjmb"+(i+1)+"='"+dxwb_ckts+"',kpi1"+(i+1)+"='"+dxwb_07dy+"'" : ",fjmb"+(i+1)+"='"+dxwb_ckts+"',kpi1"+(i+1)+"='"+dxwb_07dy+"'" ; + + upSetNull += StringUtils.isBlank(upSetNull) ? "fjmb"+(i+1)+"=null,kpi1"+(i+1)+"=null" : ",fjmb"+(i+1)+"=null,kpi1"+(i+1)+"=null" ; + } + + for(int i=0;i dt2Data = dt2List.get(i); + String dxwb_ckts = String.valueOf(dt2Data.get("dxwb_ckts")); + if(dxwb_ckts.contains("'")){ + dxwb_ckts = dxwb_ckts.replace("'","''"); + log.error("dxwb_ckts:"+dxwb_ckts); + } + + String dxwb_07dy = String.valueOf(dt2Data.get("dxwb_07dy")); + if(dxwb_07dy.contains("'")){ + dxwb_07dy = dxwb_07dy.replace("'","''"); + log.error("dxwb_07dy:"+dxwb_07dy); + } + + upSet+= StringUtils.isBlank(upSet) ? "fjmb"+(i+1)+"2='"+dxwb_ckts+"',kpi2"+(i+1)+"='"+dxwb_07dy+"'" : ",fjmb"+(i+1)+"2='"+dxwb_ckts+"',kpi2"+(i+1)+"='"+dxwb_07dy+"'" ; + + upSetNull += StringUtils.isBlank(upSetNull) ? "fjmb"+(i+1)+"2=null,kpi2"+(i+1)+"=null" : ",fjmb"+(i+1)+"2=null,kpi2"+(i+1)+"=null" ; + } + + for(int i=0;i dt3Data = dt3List.get(i); + + String dxwb_ckts = String.valueOf(dt3Data.get("dxwb_ckts")); + if(dxwb_ckts.contains("'")){ + dxwb_ckts = dxwb_ckts.replace("'","''"); + log.error("dxwb_ckts:"+dxwb_ckts); + } + + String dxwb_07dy = String.valueOf(dt3Data.get("dxwb_07dy")); + if(dxwb_07dy.contains("'")){ + dxwb_07dy = dxwb_07dy.replace("'","''"); + log.error("dxwb_07dy:"+dxwb_07dy); + } + + upSet+= StringUtils.isBlank(upSet) ? "fjmb"+(i+1)+"3='"+dxwb_ckts+"',kpi3"+(i+1)+"='"+dxwb_07dy+"'" : ",fjmb"+(i+1)+"3='"+dxwb_ckts+"',kpi3"+(i+1)+"='"+dxwb_07dy+"'" ; + + upSetNull+= StringUtils.isBlank(upSetNull) ? "fjmb"+(i+1)+"3=null,kpi3"+(i+1)+"=null" : ",fjmb"+(i+1)+"3=null,kpi3"+(i+1)+"=null" ; + + } + + int deptcount = 0; + String errorDeptName = ""; + List> deptList = updatePerformanceDao.queryDepartmentManager(Constants.TENANT_KEY,bm); + log.error("deptList:"+deptList.size()); + if(deptList.size()>0) { + for (int i = 0; i < deptList.size(); i++) { + Map deptMap = deptList.get(i); + String deptid = String.valueOf(deptMap.get("id")); + String bmfzr = String.valueOf(deptMap.get("bmfzr")); + String name = String.valueOf(deptMap.get("name")); + log.error("deptid:" + deptid); + log.error("bmfzr:" + bmfzr); + + Map result = updatePerformanceDao.updateFormDataByFormdataid(Constants.TENANT_KEY, upSetNull, deptid, yjtbnf, zq, bmfzr); + if (result.containsKey("code")) { + String code = String.valueOf(result.get("code")); + if ("200".equals(code)) { + result = updatePerformanceDao.updateFormDataByFormdataid(Constants.TENANT_KEY, upSet, deptid, yjtbnf, zq, bmfzr); + log.error("UpdatePerformanceSupDepartmentAction-result:" + JSON.toJSONString(result)); + if (result.containsKey("code")) { + code = String.valueOf(result.get("code")); + log.error("code:" + code); + if (!"200".equals(code)) { + deptcount++; + errorDeptName += StringUtils.isBlank(errorDeptName) ? name : "," + name; + } + } else { + deptcount++; + errorDeptName += StringUtils.isBlank(errorDeptName) ? name : "," + name; + } + }else{ + deptcount++; + } + }else{ + deptcount++; + } + } + } + log.error("deptcount:"+deptcount); + if(deptcount == 0){ + + Map result2 = updatePerformanceDao.updateFormDataByDeptManager(Constants.TENANT_KEY,upSetNull,bm,yjtbnf,zq,userid); + if(result2.containsKey("code")) { + String code2 = String.valueOf(result2.get("code")); + if ("200".equals(code2)) { + result2 = updatePerformanceDao.updateFormDataByDeptManager(Constants.TENANT_KEY,upSet,bm,yjtbnf,zq,userid); + if(result2.containsKey("code")) { + code2 = String.valueOf(result2.get("code")); + if ("200".equals(code2)) { + actionMap.put("code",200); + actionMap.put("msg","更新数据成功"); + }else{ + return WeaResult.fail(500,"更新部门非部门负责人的目标填写流程失败"); + } + }else{ + return WeaResult.fail(500,"更新部门非部门负责人的目标填写流程报错"); + } + }else{ + return WeaResult.fail(500,"更新部门非部门负责人的目标填写流程失败"); + } + }else{ + return WeaResult.fail(500,"更新部门非部门负责人的目标填写流程报错"); + } + }else{ + return WeaResult.fail(500,"更新下级部门["+errorDeptName+"]的目标填写流程报错"); + } + }else{ + actionMap.put("code",200); + actionMap.put("msg","非部门负责人,无需更新数据"); + } + }catch (Exception e){ + return WeaResult.fail(500,"更新下级部门部门负责人及本级部门的其他人员目标填写流程异常"); + } + return WeaResult.success(actionMap); + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/CreatePerformanceDao.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/CreatePerformanceDao.java new file mode 100644 index 0000000..c7f5451 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/CreatePerformanceDao.java @@ -0,0 +1,227 @@ +package com.weaver.seconddev.meishi.esb.dao; + +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.seconddev.meishi.util.DatabaseUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +public class CreatePerformanceDao { + + private final static Logger log = LoggerFactory.getLogger(CreatePerformanceDao.class); + + @Autowired + private DatabaseUtils databaseUtils; + + /*** + * + * @param tenant_key + * @param form_data_id + * @return + */ + public Map queryMainDataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map recordMap = new HashMap(); + try{ + String dataSql =" select tjr,tjrbm,rq_urvy,zq " + + " from ft_mbtxrysjb " + + " where form_data_id = ?\n" + + " and tenant_key=?\n" + + " and delete_type=0 \n" ; + + log.error("queryMainDataByFormDataId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_data_id); + paramList.add(tenant_key); + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryMainDataByFormDataId-recordList:"+recordList.size()); + if(recordList.size()>0){ + recordMap = recordList.get(0); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryMainDataByFormDataId-e:" + e); + } + return recordMap; + } + + + /*** + * + * @param tenant_key + * @param form_data_id + * @return + */ + public List> queryDt1DataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + try{ + String dataSql =" select t.id,t.xm,t4.username,t4.location,t.bm,k.name as deptname,k2.id as sjbm,t2.bmfzr as sjbmfzr,t3.bmcj,t3.bmfzr \n" + + " from ft_mbtxrys_rymx t\n" + + " inner join (select id,username,location from eteams.employee where delete_type=0 and tenant_key=?) as t4 on t.xm = t4.id " + + " inner join eteams.department k on k.id = t.bm\n" + + " left join (select form_data_id,bmfzr,bmcj from ft_1090502818035523594 where delete_type=0 and tenant_key=?) as t3 on k.formdata = t3.form_data_id\n" + + " left join (select id,formdata,tenant_key from eteams.department where type='department' and delete_type=0 and tenant_key=?) as k2 on k2.id = k.parent \n" + + " left join (select form_data_id,bmfzr from ft_1090502818035523594 where delete_type=0 and tenant_key=? ) as t2 on k2.formdata = t2.form_data_id\n" + + " where t.form_data_id = ?\n" + + " and t.sfcj = 0 \n" + + " and t.gllc is null \n" + + " and t.tenant_key=? \n" + + " and t.delete_type=0 \n" + + " and k.type='department'\n" + + " and k.tenant_key=?\n" + + " and k.delete_type=0\n" ; + + log.error("queryDt1DataByFormDataId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(form_data_id); + paramList.add(tenant_key); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + log.error("queryDt1DataByFormDataId-recordList:"+recordList.size()); + + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordList; + } + + /** + * + * @param tenant_key + * @param form_id + * @return + */ + public Map queryMainTableField(String tenant_key,Long form_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map fieldMap = new HashMap(); + try{ + String dataSql =" select id,form_id,title,data_key " + + " from form_field " + + " where form_id=? \n" + + " and data_key in('tjr','bm','yjtbnf','zq','bmlx','sjbm','sjbmfzr','zlc','zc','sfbmfzr','ryxz_3ezm','bgdd')\n" + + " and sub_form_id is null " + + " and tenant_key=? \n" + + " and delete_type=0" ; + + log.error("queryFromTableField--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_id+""); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryFromTableField:"+recordList.size()); + for(Map recordMap : recordList ) { + String data_key = String.valueOf(recordMap.get("data_key")); + String id = String.valueOf(recordMap.get("id")); + fieldMap.put(data_key,id); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryFromTableField:e:" + e); + } + return fieldMap; + } + + /*** + * + * @param tenant_key + * @param requestid + * @param dtid + * @param msg + * @return + */ + public Map updateRequestid2FormTable(String tenant_key,String requestid,String dtid,String msg){ + + log.error("updateRequestid2FormTable:requestid:"+requestid); + log.error("updateRequestid2FormTable:dtid:"+dtid); + log.error("updateRequestid2FormTable:msg:"+msg); + + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map result2 = new HashMap(); + if(StringUtils.isNotBlank(requestid)){ + String dataSql = " update ft_mbtxrys_rymx set gllc= ? where id = ? and tenant_key = ? and delete_type = 0 " ; + List paramList2 = new ArrayList<>(100); + paramList2.add(requestid); + paramList2.add(dtid+""); + paramList2.add(tenant_key); + List sqlParamList2 = databaseUtils.querySqlParamEntity(paramList2); + result2 = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList2); + + }else{ + String dataSql = " update ft_mbtxrys_rymx set cwxx=? where id = ? and tenant_key = ? and delete_type = 0 " ; + List paramList2 = new ArrayList<>(100); + paramList2.add(msg); + paramList2.add(dtid+""); + paramList2.add(tenant_key); + List sqlParamList2 = databaseUtils.querySqlParamEntity(paramList2); + result2 = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList2); + } + return result2; + } + + /*** + * + * @param tenant_key + * @param bmfzr + * @param deptid + * @return + */ + public String queryDepartmentLevel(String tenant_key,long bmfzr,String deptid){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String bmcj = ""; + try{ + String dataSql =" select t2.bmcj\n" + + " from ft_1090502818035523594 t2\n" + + " inner join eteams.department k on k.formdata = t2.form_data_id\n" + + " where t2.bmfzr = ? \n" + + " and k.id= ? " + + " and k.tenant_key=? \n" + + " and k.delete_type=0" + + " and t2.tenant_key=? \n" + + " and t2.delete_type=0" ; + + log.error("queryDepartmentLevel--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(String.valueOf(bmfzr)); + paramList.add(String.valueOf(deptid)); + paramList.add(tenant_key); + paramList.add(tenant_key); + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryDepartmentLevel:"+recordList.size()); + if(recordList.size()>0) { + bmcj = String.valueOf(recordList.get(0).get("bmcj")); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryFromTableField:e:" + e); + } + return bmcj; + } +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/PerformanceSubmitDao.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/PerformanceSubmitDao.java new file mode 100644 index 0000000..afeef06 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/PerformanceSubmitDao.java @@ -0,0 +1,382 @@ +package com.weaver.seconddev.meishi.esb.dao; + +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.seconddev.meishi.util.DatabaseUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; + + +@Component +public class PerformanceSubmitDao { + + private final static Logger log = LoggerFactory.getLogger(PerformanceSubmitDao.class); + + @Autowired + private DatabaseUtils databaseUtils; + + + public Map queryMainDataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map recordMap = new HashMap(); + try{ + String dataSql =" select yjtbnf,zq,bm,bmlx " + + " from ft_1090784675255934977 " + + " where form_data_id = ?\n" + + " and tenant_key=?\n" + + " and delete_type=0 \n" ; + + log.error("querykhfl--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_data_id); + paramList.add(tenant_key); + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryMainDataByFormDataId-recordList:"+recordList.size()); + if(recordList.size()>0){ + recordMap = recordList.get(0); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordMap; + } + + /*** + * + * @param tenant_key + * @return + */ + public List> queryCreateUserByFormDataId(String tenant_key,String bmcj,String sqrbm){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + + try{ + String dataSql =" select h.id,h.username,h.department,k.name as deptname,k.parent as sjbm,t2.bmfzr as sjbmfzr \n" + + " from eteams.employee h \n" + + " left join eteams.department k on k.id = h.department\n" + + " left join eteams.department k2 on k2.id = k.parent\n" + + " left join ft_1090502818035523594 t2 on k2.formdata = t2.form_data_id" + + " where h.id in(" + + " select p.bmfzr \n" + + " from ft_1090502818035523594 p\n" + + " inner join eteams.department k on k.formdata = p.form_data_id\n" + + " where p.bmcj = ? " + + " and p.tenant_key=? \n" + + " and p.delete_type=0 \n" + + " and k.type='department' \n" + + " and k.parent=? \n" + + " and k.tenant_key=? \n" + + " and k.delete_type=0 " + + " ) " + + " and h.tenant_key=? \n" + + " and h.delete_type=0 \n" + + " and t2.delete_type=0 \n"+ + " and t2.tenant_key=? \n" + + " and k.type='department' "+ + " and k.tenant_key=? \n" + + " and k.delete_type=0 \n"+ + " and k2.type='department' "+ + " and k2.tenant_key=? \n" + + " and k2.delete_type=0 \n"; + + log.error("querykhfl--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(bmcj); + paramList.add(tenant_key); + paramList.add(sqrbm); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordList; + } + + + /** + * + * @param tenant_key + * @param form_data_id + * @return + */ + public List> queryFormtableDt2ByTopLeader(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + try{ + String dataSql =" select kt,qz \n" + + " from ft_1090784_mbtx \n" + + " where 1=1\n" + + " and tenant_key=? \n" + + " and delete_type=0\n" + + " and form_data_id =? " ; + + log.error("querykhfl--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(tenant_key); + paramList.add(form_data_id+""); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordList; + } + + + public Map queryDeptManagerByDeptid(String tenant_key,String deptId){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map recordMap = new HashMap(); + String bmfzr = ""; + try{ + String dataSql =" select t.bmfzr,k.parent sjbm,t2.bmfzr sjbmfzr\n" + + " from ft_1090502818035523594 t\n" + + " inner join eteams.department k on k.formdata=t.form_data_id\n" + + " left join eteams.department k2 on k2.id = k.parent \n" + + " left join ft_1090502818035523594 t2 on k2.formdata = t2.form_data_id\n" + + " where k.type='department' \n" + + " and k2.type='department' \n" + + " and k.id =? \n" + + " and t.tenant_key=? \n" + + " and t.delete_type=0\n" + + " and k.tenant_key=? \n" + + " and k.delete_type=0\n" + + " and k2.tenant_key=? \n" + + " and k2.delete_type=0\n" + + " and t2.tenant_key=? \n" + + " and t2.delete_type=0\n" ; + + log.error("querykhfl--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(deptId); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("querykhfl-recordList:"+recordList.size()); + if(recordList.size()>0){ + recordMap = recordList.get(0); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordMap; + } + + /*** + * + * @param tenant_key + * @param form_data_id + * @return + */ + public Map> queryFormtableDt2(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map> dataMap = new HashMap>(); + try{ + String dataSql =" select bmxz_t3k6 as bmxz,ryxz_odvm as ryxz,kt \n" + + " from ft_1090784_mbtx \n" + + " where 1=1\n" + + " and tenant_key=? \n" + + " and delete_type=0\n" + + " and form_data_id =? " ; + + log.error("querykhfl--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(tenant_key); + paramList.add(form_data_id+""); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("querykhfl-recordList:"+recordList.size()); + for(Map recordMap : recordList ){ + String bmxz = String.valueOf(recordMap.get("bmxz")); +// String ryxz = String.valueOf(recordMap.get("ryxz")); + String kt = String.valueOf(recordMap.get("kt")); + + String[] bmArray = bmxz.split(","); + for(int i=0;i ktList = dataMap.get(bmid); + if(!ktList.contains(kt)){ + ktList.add(kt); + } + dataMap.put(bmid,ktList); + }else{ + List ktList = new ArrayList(); + ktList.add(kt); + dataMap.put(bmid,ktList); + } + } + } + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return dataMap; + } + + /*** + * + * @param tenant_key + * @param employeeId + * @return + */ + public Map queryUserInfoByMiddleLeader(String tenant_key,String employeeId){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map recordMap = new HashMap(); + try{ + String dataSql =" select h.id,h.username,h.department,k.name as deptname\n" + + " from eteams.employee h\n" + + " inner join eteams.department k on k.id = h.department\n" + + " where h.id = ?" + + " and k.tenant_key=? \n" + + " and k.delete_type=0 " + + " and k.type='department' \n" + + " and h.tenant_key=? \n" + + " and h.delete_type=0 \n" ; + + log.error("querykhfl--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(employeeId); + paramList.add(tenant_key); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryUserInfo-recordList:"+recordList.size()); + if(recordList.size()>0){ + recordMap = recordList.get(0); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordMap; + } + + + /** + * + * @param tenant_key + * @param form_id + * @return + */ + public Map queryMainTableField(String tenant_key,Long form_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map fieldMap = new HashMap(); + try{ + String dataSql =" select id,form_id,title,data_key " + + " from form_field " + + " where form_id=? \n" + + " and data_key in('tjr','bm','yjtbnf','zq','bmlx','sfzdcf','sjbm','sjbmfzr')\n" + + " and sub_form_id is null " + + " and tenant_key=? \n" + + " and delete_type=0" ; + + log.error("queryFromTableField--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_id+""); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryFromTableField:"+recordList.size()); + for(Map recordMap : recordList ) { + String data_key = String.valueOf(recordMap.get("data_key")); + String id = String.valueOf(recordMap.get("id")); + fieldMap.put(data_key,id); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryFromTableField:e:" + e); + } + return fieldMap; + } + + + public Map queryDetailTableField(String tenant_key,Long form_id,String sub_form_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map fieldMap = new HashMap(); + try{ + String dataSql =" select id,form_id,title,data_key " + + " from form_field " + + " where form_id=? \n" + + " and data_key in('kt','qz')\n" + + " and sub_form_id in('"+sub_form_id+"')\n"+ + " and tenant_key=? \n" + + " and delete_type=0" ; + + log.error("queryFromTableField--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_id+""); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryDetailTableField:"+recordList.size()); + for(Map recordMap : recordList ) { + String data_key = String.valueOf(recordMap.get("data_key")); + String id = String.valueOf(recordMap.get("id")); + fieldMap.put(data_key,id); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryFromTableField:e:" + e); + } + return fieldMap; + } + + + + public Map updateRequestid2FormTable(String tenant_key,String requestids,String lcid){ + + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + + String dataSql = " update ft_1090784675255934977 set zlc= ? where id = ? and tenant_key = ? and delete_type = 0 " ; + List paramList2 = new ArrayList<>(100); + paramList2.add(requestids); + paramList2.add(lcid+""); + paramList2.add(tenant_key); + List sqlParamList2 = databaseUtils.querySqlParamEntity(paramList2); + Map result2 = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList2); + return result2; + } + + + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/UpdatePerformanceDao.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/UpdatePerformanceDao.java new file mode 100644 index 0000000..197a1a8 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/dao/UpdatePerformanceDao.java @@ -0,0 +1,283 @@ +package com.weaver.seconddev.meishi.esb.dao; + +import com.alibaba.fastjson.JSON; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.seconddev.meishi.util.DatabaseUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +public class UpdatePerformanceDao { + + private final static Logger log = LoggerFactory.getLogger(UpdatePerformanceDao.class); + + @Autowired + private DatabaseUtils databaseUtils; + + /*** + * + * @param tenant_key + * @param form_data_id + * @return + */ + public Map queryMainDataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map recordMap = new HashMap(); + try{ + String dataSql =" select bm,yjtbnf,zq,dxwb_p8r4,txktbt,qz,dxwb_3m7o,txkt2bt,qz2,kts,txkt3bt,qz3 " + + " from ft_msmbjx " + + " where form_data_id = ?\n" + + " and tenant_key=?\n" + + " and delete_type=0 " ; + + + log.error("queryMainDataByFormDataId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_data_id); + paramList.add(tenant_key); + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryMainDataByFormDataId-recordList:"+recordList.size()); + if(recordList.size()>0){ + recordMap = recordList.get(0); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryMainDataByFormDataId-e:" + e); + } + return recordMap; + } + + + /*** + * + * @param tenant_key + * @param form_data_id + * @return + */ + public List> queryDt1DataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + try{ + String dataSql =" select t.dxwb_ckts,t.dxwb_07dy\n" + + " from ft_msmbjx_kty t \n" + + " where t.form_data_id = ? \n" + + " and t.tenant_key=? \n" + + " and t.delete_type=0 \n" + + " order by data_index\n" ; + + log.error("queryDt1DataByFormDataId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_data_id); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + log.error("queryDt1DataByFormDataId-recordList:"+recordList.size()); + + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordList; + } + + + public List> queryDt2DataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + try{ + String dataSql =" select t.dxwb_ckts,t.dxwb_07dy\n" + + " from ft_msmbjx_kte t \n" + + " where t.form_data_id = ? \n" + + " and t.tenant_key=? \n" + + " and t.delete_type=0 \n" + + " order by data_index\n" ; + + log.error("queryDt1DataByFormDataId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_data_id); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + log.error("queryDt1DataByFormDataId-recordList:"+recordList.size()); + + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordList; + } + + + public List> queryDt3DataByFormDataId(String tenant_key,String form_data_id){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + try{ + String dataSql =" select t.dxwb_ckts,t.dxwb_07dy\n" + + " from ft_msmbjx_kts t \n" + + " where t.form_data_id = ? \n" + + " and t.tenant_key=? \n" + + " and t.delete_type=0 \n" + + " order by data_index\n" ; + + log.error("queryDt1DataByFormDataId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(form_data_id); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + log.error("queryDt1DataByFormDataId-recordList:"+recordList.size()); + + }catch (Exception e){ + e.printStackTrace(); + log.error("querykhfl--hiredate:" + e); + } + return recordList; + } + + /*** + * + * @param tenant_key + * @return + */ + public Map updateFormDataByFormdataid(String tenant_key,String upSet,String bm,String yjtbnf,String zq,String bmfzr){ + + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map result2 = new HashMap(); + + if(StringUtils.isNotBlank(bm)){ + String upSql = " update ft_msmbjx set \n" + upSet+ + " where tjr = ? \n" + + " and bm = ? \n" + + " and tenant_key = ? and delete_type = 0 \n" + + " and yjtbnf = ? and zq = ?" ; + + log.error("upSql22:"+upSql); + List paramList2 = new ArrayList<>(100); + paramList2.add(bmfzr); + paramList2.add(bm); + paramList2.add(tenant_key); + paramList2.add(yjtbnf); + paramList2.add(zq); + List sqlParamList2 = databaseUtils.querySqlParamEntity(paramList2); + result2 = databaseUtils.executeForQuery(sourceType, groupId, upSql, sqlParamList2); + } + return result2; + } + + + public Map updateFormDataByDeptManager(String tenant_key,String upSet,String bm,String yjtbnf,String zq,Long userid){ + + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map result2 = new HashMap(); + if(StringUtils.isNotBlank(bm)){ + String upSql = " update ft_msmbjx set \n" + upSet+ + " where bm ='"+bm+"' and tjr <> '"+ userid+"'" + + " and tenant_key = ? and delete_type = 0 " + + " and yjtbnf = ? and zq = ? " ; + + log.error("upSql2:"+upSql); + List paramList2 = new ArrayList<>(100); + paramList2.add(tenant_key); + paramList2.add(yjtbnf); + paramList2.add(zq); + List sqlParamList2 = databaseUtils.querySqlParamEntity(paramList2); + result2 = databaseUtils.executeForQuery(sourceType, groupId, upSql, sqlParamList2); + log.error(JSON.toJSONString(result2)); + } + return result2; + } + + public boolean compareDepartmentManagerByUser(String tenant_key,long userid,String deptid){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + boolean isTrue = false; + try{ + String dataSql =" select t2.id\n" + + " from ft_1090502818035523594 t2\n" + + " inner join eteams.department k on k.formdata = t2.form_data_id\n" + + " where t2.bmfzr = ? \n" + + " and k.id= ? " + + " and k.tenant_key=? \n" + + " and k.delete_type=0" + + " and t2.tenant_key=? \n" + + " and t2.delete_type=0" ; + + log.error("compareDepartmentManagerByUser--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(String.valueOf(userid)); + paramList.add(String.valueOf(deptid)); + paramList.add(tenant_key); + paramList.add(tenant_key); + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("compareDepartmentManagerByUser:"+recordList.size()); + if(recordList.size()>0) { + isTrue = true; + } + }catch (Exception e){ + e.printStackTrace(); + log.error("compareDepartmentManagerByUser:e:" + e); + } + return isTrue; + } + + /*** + * + * @param tenant_key + * @param deptid + * @return + */ + public List> queryDepartmentManager(String tenant_key,String deptid){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + List> recordList = new ArrayList>(); + try{ + String dataSql =" select k.id,k.name,t2.bmfzr \n" + + " from eteams.department k\n" + + " inner join ft_1090502818035523594 t2 on k.formdata = t2.form_data_id\n" + + " where k.parent = ? \n" + + " and k.tenant_key = ? and k.delete_type = 0\n" + + " and t2.tenant_key = ? and t2.delete_type = 0" ; + + log.error("queryDepartmentManager--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(String.valueOf(deptid)); + paramList.add(tenant_key); + paramList.add(tenant_key); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + }catch (Exception e){ + e.printStackTrace(); + log.error("queryDepartmentManager:e:" + e); + } + return recordList; + } + + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/CreatePerformanceUtil.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/CreatePerformanceUtil.java new file mode 100644 index 0000000..1a42185 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/CreatePerformanceUtil.java @@ -0,0 +1,339 @@ +package com.weaver.seconddev.meishi.esb.util; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.form.dto.data.FormDataDetailDto; +import com.weaver.common.form.dto.data.FormDataDto; +import com.weaver.common.hrm.util.HrmCommonUtil; +import com.weaver.framework.rpc.annotation.RpcReference; +import com.weaver.seconddev.meishi.esb.dao.CreatePerformanceDao; +import com.weaver.teams.domain.user.SimpleEmployee; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperateParamDataEntity; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperationResultDto; +import com.weaver.workflow.core.api.rest.publicapi.WfcRequestOperateRest; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.*; + + +@Component +public class CreatePerformanceUtil { + + private final static Logger log = LoggerFactory.getLogger(CreatePerformanceUtil.class); + + @RpcReference + WfcRequestOperateRest wfcRequestOperateRest; + + @Autowired + CreatePerformanceDao createPerformanceDao; + + @Autowired + private HrmCommonUtil hrmCommonUtil; + + public Map doCreateWorkflowByUserData(String tenant_key,Long form_id,Map mainData,Map createrData,String form_data_id,Long workflowid,Long userid){ + Map reslutMap = new HashMap(); + + try{ + Map mainFieldMap = createPerformanceDao.queryMainTableField(tenant_key,form_id); + + // t.id,t.xm,t.bm,k.name as deptname,k.parent as sjbm,t2.bmfzr as sjbmfzr,t3.bmcj + + Long tjr = Long.valueOf(String.valueOf(createrData.get("xm"))); + String tjrbm = String.valueOf(createrData.get("bm")); + String tjrbmmc = String.valueOf(createrData.get("deptname")); + String tjrxm = String.valueOf(createrData.get("username")); + + String bmcj = String.valueOf(createrData.get("bmcj")); + String bmfzr = String.valueOf(createrData.get("bmfzr")); + + String sjbm = String.valueOf(createrData.get("sjbm")); + String sjbmfzr = String.valueOf(createrData.get("sjbmfzr")); + + String location = String.valueOf(createrData.get("location")); + + String zq = String.valueOf(mainData.get("zq")); + String tbnf = String.valueOf(mainData.get("rq_urvy")); + + log.error("tjr:"+tjr); + log.error("tjrbm:"+tjrbm); + log.error("tjrxm:"+tjrxm); + + String zc = createPerformanceDao.queryDepartmentLevel(tenant_key,tjr,tjrbm); + log.error("zc:"+zc); + String bmcjmc = ""; + + String sfbmfzr = ""; + if(StringUtils.isNotBlank(zc)){ + sfbmfzr = "0"; + if("0".equals(zc)){ + bmcjmc = "总裁"; + }else if("1".equals(zc)){ + bmcjmc = "本部长"; + }else if("2".equals(zc)){ + bmcjmc = "部长"; + }else if("3".equals(zc)){ + bmcjmc = "高级经理"; + }else if("4".equals(zc)){ + bmcjmc = "经理"; + } + }else{ + sfbmfzr = "1"; + } + + List formDataDetailDtos = getFormDataDetailDtosList(mainFieldMap,tbnf,zq,bmcj,String.valueOf(tjr),tjrbm,sjbm,sjbmfzr,form_data_id,zc,sfbmfzr,bmfzr,location); + log.error("doCreateWorkflowByTopLeader:formDataDetailDtos:" + formDataDetailDtos.size()); + + SimpleEmployee tjrEmployee = hrmCommonUtil.getSimpleEmployee(tjr); + reslutMap = createWorkflow(tenant_key,form_id, workflowid,tjrEmployee,bmcjmc,tjrbmmc,formDataDetailDtos,tjrxm); + + }catch (Exception e){ + log.error("doCreateWorkflowByTopLeader:e:"+e); + } + return reslutMap; + } + + public Map createWorkflow(String tenant_key,Long formId, Long workflowId, SimpleEmployee tjrEmployee,String bmcjmc,String tjrbmmc, List formDataDetailDtos,String tjrxm){ + + Map requestMap = new HashMap(); + try{ + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String currentDate = sdf.format(new Date()); + +// 目标分解+部门名称+职称+日期年月日 ,非部门负责人流程标题为:目标分解+部门名称+日期年月日 + String requestName = "目标分解-"+tjrbmmc+"-"+currentDate; + if(StringUtils.isNotBlank(bmcjmc)){ + requestName = "目标分解-"+tjrbmmc+"-"+bmcjmc+"-"+currentDate ; + } + + log.error("requestName:"+requestName); + + WfcRequestOperateParamDataEntity wfcRequestOperateParamDataEntity = new WfcRequestOperateParamDataEntity(); + wfcRequestOperateParamDataEntity.setWorkflowId(workflowId); //审批流id 必填 + wfcRequestOperateParamDataEntity.setIsNextFlow(1); + wfcRequestOperateParamDataEntity.setRequestName(requestName); + // 表单设计器页开发者工具 通过此接口获取字段id /api/workflow/core/form/builder/getFormLayout + + //表单数据 + FormDataDto formDataDto = new FormDataDto(); + formDataDto.setFormId(formId); //表单id 必填 + formDataDto.setDataDetails(formDataDetailDtos); + + log.error("tjrEmployee:"+tjrEmployee.getEmployeeId()); + log.error("tjrEmployee2:"+tjrEmployee.getUserId()); + + WeaResult flow = wfcRequestOperateRest.createFlow(wfcRequestOperateParamDataEntity, tjrEmployee, formDataDto); + int code = flow.getCode(); + String msg = flow.getMsg(); + + log.error("getExceptionFlowLog:"+flow.getData().getExceptionFlowLog()); + log.error("getResultMessage:"+flow.getData().getResultMessage()); + log.error("createWorkflow:code:"+code); + log.error("createWorkflow:msg:"+msg); + + log.error("getOutErrorCode:"+flow.getOutErrorCode().toString()); + + Long requestid = flow.getData().getRequestId(); + log.error("createWorkflow:requestid:"+requestid); + + + if(requestid > 0){ + requestMap.put("code",code); + requestMap.put("msg",msg); + requestMap.put("requestid",requestid); + + }else{ + requestMap.put("code",code); + requestMap.put("msg","requestid小于等于0"); + } + + }catch (Exception e){ + requestMap.put("code",500); + requestMap.put("msg","创建流程接口异常"); + requestMap.put("requestid",-1); + e.printStackTrace(); + log.error("e:"+e); + } + return requestMap; + } + + + public List getFormDataDetailDtosList(Map fieldMap,String tbnf,String zq,String bmlx,String tjr,String tjrbm,String sjbm,String sjbmfzr,String form_data_id,String zc,String sfbmfzr,String bmfzr,String location){ + List formDataDetailDtos = new ArrayList(); + + //'tjr','bm','yjtbnf','zq','bmlx','sjbm','sjbmfzr','zlc' + + String tjrFieldid = String.valueOf(fieldMap.get("tjr")); + log.error("getFormDataDetailDtosList:tjrFieldid:"+tjrFieldid); + log.error("getFormDataDetailDtosList:tjr:"+tjr); + if(StringUtils.isNotBlank(tjrFieldid)){ + Long tjr_FieldId = Long.valueOf(tjrFieldid); + if(tjr_FieldId > 0 && StringUtils.isNotBlank(String.valueOf(tjr))){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(tjr_FieldId); + filed.setContent(String.valueOf(tjr)); + formDataDetailDtos.add(filed); + } + } + + String tjrbmFieldid = String.valueOf(fieldMap.get("bm")); + + log.error("getFormDataDetailDtosList:tjrbmFieldid:"+tjrbmFieldid); + log.error("getFormDataDetailDtosList:tjrbm:"+tjrbm); + + if(StringUtils.isNotBlank(tjrbmFieldid)){ + Long tjrbm_FieldId = Long.valueOf(tjrbmFieldid); + if(tjrbm_FieldId > 0 && StringUtils.isNotBlank(tjrbm)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(tjrbm_FieldId); + filed.setContent(tjrbm); + formDataDetailDtos.add(filed); + } + } + + String tbnfFieldid = String.valueOf(fieldMap.get("yjtbnf")); + + log.error("getFormDataDetailDtosList:tbnfFieldid:"+tbnfFieldid); + log.error("getFormDataDetailDtosList:tbnf:"+tbnf); + + if(StringUtils.isNotBlank(tbnfFieldid)){ + Long tbnf_FieldId = Long.valueOf(tbnfFieldid); + if(tbnf_FieldId > 0 && StringUtils.isNotBlank(tbnf)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(tbnf_FieldId); + filed.setContent(tbnf); + formDataDetailDtos.add(filed); + } + } + + + String zqFieldid = String.valueOf(fieldMap.get("zq")); + + log.error("getFormDataDetailDtosList:zqFieldid:"+zqFieldid); + log.error("getFormDataDetailDtosList:zq:"+zq); + + if(StringUtils.isNotBlank(zqFieldid)){ + Long zq_FieldId = Long.valueOf(zqFieldid); + if(zq_FieldId > 0 && StringUtils.isNotBlank(zq)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(zq_FieldId); + filed.setContent(zq); + formDataDetailDtos.add(filed); + } + } + + + String bmlxFieldid = String.valueOf(fieldMap.get("bmlx")); + log.error("getFormDataDetailDtosList:bmlxFieldid:"+bmlxFieldid); + log.error("getFormDataDetailDtosList:bmlx:"+bmlx); + if(StringUtils.isNotBlank(bmlxFieldid)){ + Long bmlx_FieldId = Long.valueOf(bmlxFieldid); + if(bmlx_FieldId > 0 && StringUtils.isNotBlank(bmlx)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(bmlx_FieldId); + filed.setContent(bmlx); + formDataDetailDtos.add(filed); + } + } + + String sjbmFieldid = String.valueOf(fieldMap.get("sjbm")); + log.error("getFormDataDetailDtosList:sjbmFieldid:"+sjbmFieldid); + log.error("getFormDataDetailDtosList:sjbm:"+sjbm); + if(StringUtils.isNotBlank(sjbmFieldid)){ + Long sjbm_FieldId = Long.valueOf(sjbmFieldid); + if(sjbm_FieldId > 0 && StringUtils.isNotBlank(sjbm)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(sjbm_FieldId); + filed.setContent(sjbm); + formDataDetailDtos.add(filed); + } + } + + String sjbmfzrFieldid = String.valueOf(fieldMap.get("sjbmfzr")); + log.error("getFormDataDetailDtosList:sjbmfzrFieldid:"+sjbmfzrFieldid); + log.error("getFormDataDetailDtosList:sjbmfzr:"+sjbmfzr); + if(StringUtils.isNotBlank(sjbmfzrFieldid)){ + Long sjbmfzr_FieldId = Long.valueOf(sjbmfzrFieldid); + if(sjbmfzr_FieldId > 0 && StringUtils.isNotBlank(sjbmfzr)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(sjbmfzr_FieldId); + filed.setContent(sjbmfzr); + formDataDetailDtos.add(filed); + } + } + + String zlcFieldid = String.valueOf(fieldMap.get("zlc")); + log.error("getFormDataDetailDtosList:zlcFieldid:"+zlcFieldid); + log.error("getFormDataDetailDtosList:zlc:"+form_data_id); + if(StringUtils.isNotBlank(zlcFieldid)){ + Long zlc_FieldId = Long.valueOf(zlcFieldid); + if(zlc_FieldId > 0 && StringUtils.isNotBlank(form_data_id)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(zlc_FieldId); + filed.setContent(form_data_id); + formDataDetailDtos.add(filed); + } + } + + String zcFieldid = String.valueOf(fieldMap.get("zc")); + log.error("getFormDataDetailDtosList:zcFieldid:"+zcFieldid); + log.error("getFormDataDetailDtosList:zc:"+zc); + if(StringUtils.isNotBlank(zcFieldid)){ + Long zc_FieldId = Long.valueOf(zcFieldid); + if(zc_FieldId > 0 && StringUtils.isNotBlank(zc)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(zc_FieldId); + filed.setContent(zc); + formDataDetailDtos.add(filed); + } + } + + + String sfbmfzrFieldid = String.valueOf(fieldMap.get("sfbmfzr")); + log.error("getFormDataDetailDtosList:sfbmfzrFieldid:"+sfbmfzrFieldid); + log.error("getFormDataDetailDtosList:sfbmfzr:"+sfbmfzr); + if(StringUtils.isNotBlank(sfbmfzrFieldid)){ + Long sfbmfzr_FieldId = Long.valueOf(sfbmfzrFieldid); + if(sfbmfzr_FieldId > 0 && StringUtils.isNotBlank(sfbmfzr)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(sfbmfzr_FieldId); + filed.setContent(sfbmfzr); + formDataDetailDtos.add(filed); + } + } + + + String bmfzrFieldid = String.valueOf(fieldMap.get("ryxz_3ezm")); + log.error("getFormDataDetailDtosList:bmfzrFieldid:"+bmfzrFieldid); + log.error("getFormDataDetailDtosList:bmfzr:"+bmfzr); + if(StringUtils.isNotBlank(bmfzrFieldid)){ + Long bmfzr_FieldId = Long.valueOf(bmfzrFieldid); + if(bmfzr_FieldId > 0 && StringUtils.isNotBlank(bmfzr)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(bmfzr_FieldId); + filed.setContent(bmfzr); + formDataDetailDtos.add(filed); + } + } + + + String bgddFieldid = String.valueOf(fieldMap.get("bgdd")); + log.error("getFormDataDetailDtosList:bgddFieldid:"+bgddFieldid); + log.error("getFormDataDetailDtosList:location:"+location); + if(StringUtils.isNotBlank(bgddFieldid)){ + Long bgdd_FieldId = Long.valueOf(bgddFieldid); + if(bgdd_FieldId > 0 && StringUtils.isNotBlank(location)){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(bgdd_FieldId); + filed.setContent(location); + formDataDetailDtos.add(filed); + } + } + + return formDataDetailDtos; + } +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/PerformanceSubmitUtil.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/PerformanceSubmitUtil.java new file mode 100644 index 0000000..c02e7e9 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/esb/util/PerformanceSubmitUtil.java @@ -0,0 +1,327 @@ +package com.weaver.seconddev.meishi.esb.util; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.form.dto.data.FormDataDetailDto; +import com.weaver.common.form.dto.data.FormDataDto; +import com.weaver.common.hrm.util.HrmCommonUtil; +import com.weaver.framework.rpc.annotation.RpcReference; +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.PerformanceSubmitDao; +import com.weaver.teams.domain.user.SimpleEmployee; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperateParamDataEntity; +import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperationResultDto; +import com.weaver.workflow.core.api.rest.publicapi.WfcRequestOperateRest; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.*; + + +@Component +public class PerformanceSubmitUtil { + + private final static Logger log = LoggerFactory.getLogger(PerformanceSubmitUtil.class); + + @RpcReference + WfcRequestOperateRest wfcRequestOperateRest; + + @Autowired + PerformanceSubmitDao performanceSubmitDao; + + @Autowired + private HrmCommonUtil hrmCommonUtil; + + + public List> doCreateWorkflowByTopLeader(String tenant_key,Long form_id,Map mainData,String form_data_id,Long workflowid,String dt2_form_id,Long userid,String bmcj,String sfzdcf){ + List> list = new ArrayList>(); + + try{ + Map mainFieldMap = performanceSubmitDao.queryMainTableField(tenant_key,form_id); + Map dt2FieldMap = performanceSubmitDao.queryDetailTableField(tenant_key,form_id,dt2_form_id); + String sqrbm = String.valueOf(mainData.get("bm")); + List> deptLeaderList = performanceSubmitDao.queryCreateUserByFormDataId(tenant_key,bmcj,sqrbm); + log.error("doCreateWorkflowByTopLeader:deptLeaderList:"+deptLeaderList.size()); + for(int i=0;i deptLeaderMap = deptLeaderList.get(i); + Long tjr = Long.valueOf(String.valueOf(deptLeaderMap.get("id"))); + String tjrbm = String.valueOf(deptLeaderMap.get("department")); + + String sjbm = String.valueOf(deptLeaderMap.get("sjbm")); + String sjbmfzr = String.valueOf(deptLeaderMap.get("sjbmfzr")); + + List formDataDetailDtos = getFormDataDetailDtosList(mainFieldMap, mainData, bmcj, sfzdcf,String.valueOf(tjr),tjrbm,sjbm,sjbmfzr); + log.error("doCreateWorkflowByTopLeader:formDataDetailDtos:" + formDataDetailDtos.size()); + + List> ktList = performanceSubmitDao.queryFormtableDt2ByTopLeader(Constants.TENANT_KEY, form_data_id); + log.error("doCreateWorkflowByTopLeader:ktList:" + ktList.size()); + + for (int n = 0; n < ktList.size(); n++) { + Map ktMap = ktList.get(n); + String kt = String.valueOf(ktMap.get("kt")); + String ktFieldid = String.valueOf(dt2FieldMap.get("kt")); + log.error("doCreateWorkflowByTopLeader:ktFieldid:" + ktFieldid); + if (StringUtils.isNotBlank(ktFieldid)) { + Long kt_FieldId = Long.valueOf(ktFieldid); + if (kt_FieldId > 0) { + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(kt_FieldId); + filed.setContent(kt); + filed.setDataIndex(Long.valueOf(n + 1)); + formDataDetailDtos.add(filed); + } + } + + String qz = String.valueOf(ktMap.get("qz")); + String qzFieldid = String.valueOf(dt2FieldMap.get("qz")); + + log.error("doCreateWorkflowByTopLeader:qzFieldid:" + qzFieldid); + if (StringUtils.isNotBlank(qzFieldid)) { + Long qz_FieldId = Long.valueOf(qzFieldid); + if (qz_FieldId > 0) { + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(qz_FieldId); + filed.setContent(qz); + filed.setDataIndex(Long.valueOf(n + 1)); + formDataDetailDtos.add(filed); + } + } + } + SimpleEmployee cjrEmploye = hrmCommonUtil.getSimpleEmployee(tjr); + Map reslutMap = createWorkflow(form_id, workflowid, cjrEmploye, formDataDetailDtos); + list.add(reslutMap); + } + }catch (Exception e){ + log.error("doCreateWorkflowByTopLeader:e:"+e); + } + return list; + } + + /** + * + * @param tenant_key + * @param workflowid + * @param userid + * @param form_data_id + * @param form_id + * @param dt2_form_id + * @return + */ + public List> doCreateWorkflowByMiddleLeader(String tenant_key,Long form_id,Map mainData,String form_data_id,Long workflowid,String dt2_form_id,Long userid,String bmcj,String sfzdcf){ + + List> list = new ArrayList>(); + + try{ + Map mainFieldMap = performanceSubmitDao.queryMainTableField(tenant_key,form_id); + Map dt2FieldMap = performanceSubmitDao.queryDetailTableField(tenant_key,form_id,dt2_form_id);; + + Map> workflowCreatorMap = performanceSubmitDao.queryFormtableDt2(tenant_key,form_data_id); + log.error("doCreateWorkflowByMiddleLeader:workflowCreatorMap:"+workflowCreatorMap.size()); + + for(Map.Entry> entry : workflowCreatorMap.entrySet()){ + String tjrbm = entry.getKey(); + List ktList = entry.getValue(); + + log.error("doCreateWorkflowByMiddleLeader:bmid:"+tjrbm); + log.error("doCreateWorkflowByMiddleLeader:ktList:"+ktList.size()); + + Map tjrData = performanceSubmitDao.queryDeptManagerByDeptid(tenant_key,tjrbm); + +// bmfzr,k.parent sjbm,t2.bmfzr sjbmfzr + + String tjr = String.valueOf(tjrData.get("bmfzr")); + String sjbm = String.valueOf(tjrData.get("sjbm")); + String sjbmfzr = String.valueOf(tjrData.get("sjbmfzr")); + + List formDataDetailDtos = getFormDataDetailDtosList(mainFieldMap,mainData,bmcj,sfzdcf,tjr,tjrbm,sjbm,sjbmfzr); + log.error("doCreateWorkflowByMiddleLeader:formDataDetailDtos:"+formDataDetailDtos.size()); + + for(int n = 0;n 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(kt_FieldId); //姓名 (mx) + filed.setContent(kt); + filed.setDataIndex(Long.valueOf(n+1)); + formDataDetailDtos.add(filed); + } + } + } + SimpleEmployee cjrEmploye = hrmCommonUtil.getSimpleEmployee(Long.valueOf(tjr)); + Map reslutMap = createWorkflow(form_id,workflowid,cjrEmploye,formDataDetailDtos); + list.add(reslutMap); + } + }catch (Exception e){ + log.error("doCreateWorkflowByMiddleLeader:e:"+e); + } + + return list; + } + + + public Map createWorkflow(Long formId, Long workflowId, SimpleEmployee cjrEmployee, List formDataDetailDtos){ + + Map requestMap = new HashMap(); + try{ + String username = cjrEmployee.getUsername(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String currentDate = sdf.format(new Date()); + + WfcRequestOperateParamDataEntity wfcRequestOperateParamDataEntity = new WfcRequestOperateParamDataEntity(); + wfcRequestOperateParamDataEntity.setWorkflowId(workflowId); //审批流id 必填 + wfcRequestOperateParamDataEntity.setIsNextFlow(1); + wfcRequestOperateParamDataEntity.setRequestName("业绩目标填报-"+username+"-"+currentDate); + // 表单设计器页开发者工具 通过此接口获取字段id /api/workflow/core/form/builder/getFormLayout + + //表单数据 + FormDataDto formDataDto = new FormDataDto(); + formDataDto.setFormId(formId); //表单id 必填 + formDataDto.setDataDetails(formDataDetailDtos); + + //无法创建带有明细表的审批流 + WeaResult flow = wfcRequestOperateRest.createFlow(wfcRequestOperateParamDataEntity, cjrEmployee, formDataDto); + int code = flow.getCode(); + String msg = flow.getMsg(); + Long reuestid = flow.getData().getRequestId(); + + requestMap.put("code",code); + requestMap.put("msg",msg); + requestMap.put("requestid",reuestid); + + }catch (Exception e){ + requestMap.put("code",500); + requestMap.put("msg","创建流程接口异常"); + requestMap.put("requestid",-1); + } + return requestMap; + } + + + public List getFormDataDetailDtosList(Map fieldMap,Map mainData,String bmlx,String sfzdcf,String tjr,String tjrbm,String sjbm,String sjbmfzr){ + List formDataDetailDtos = new ArrayList(); + String tjrFieldid = String.valueOf(fieldMap.get("tjr")); + log.error("getFormDataDetailDtosList:tjrFieldid:"+tjrFieldid); + log.error("getFormDataDetailDtosList:tjr:"+tjr); + if(StringUtils.isNotBlank(tjrFieldid)){ + Long tjr_FieldId = Long.valueOf(tjrFieldid); + if(tjr_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(tjr_FieldId); + filed.setContent(String.valueOf(tjr)); + formDataDetailDtos.add(filed); + } + } + + String tjrbmFieldid = String.valueOf(fieldMap.get("bm")); + + log.error("getFormDataDetailDtosList:tjrbmFieldid:"+tjrbmFieldid); + log.error("getFormDataDetailDtosList:tjrbm:"+tjrbm); + + if(StringUtils.isNotBlank(tjrbmFieldid)){ + Long tjrbm_FieldId = Long.valueOf(tjrbmFieldid); + if(tjrbm_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(tjrbm_FieldId); + filed.setContent(tjrbm); + formDataDetailDtos.add(filed); + } + } + + String tbnfFieldid = String.valueOf(fieldMap.get("yjtbnf")); + String tbnf = String.valueOf(mainData.get("yjtbnf")); + + log.error("getFormDataDetailDtosList:tbnfFieldid:"+tbnfFieldid); + log.error("getFormDataDetailDtosList:tbnf:"+tbnf); + + if(StringUtils.isNotBlank(tbnfFieldid)){ + Long tbnf_FieldId = Long.valueOf(tbnfFieldid); + if(tbnf_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(tbnf_FieldId); + filed.setContent(tbnf); + formDataDetailDtos.add(filed); + } + } + + + String zqFieldid = String.valueOf(fieldMap.get("zq")); + String zq = String.valueOf(mainData.get("zq")); + + log.error("getFormDataDetailDtosList:zqFieldid:"+zqFieldid); + log.error("getFormDataDetailDtosList:zq:"+zq); + + if(StringUtils.isNotBlank(zqFieldid)){ + Long zq_FieldId = Long.valueOf(zqFieldid); + if(zq_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(zq_FieldId); + filed.setContent(zq); + formDataDetailDtos.add(filed); + } + } + + + String bmlxFieldid = String.valueOf(fieldMap.get("bmlx")); + log.error("getFormDataDetailDtosList:bmlxFieldid:"+bmlxFieldid); + log.error("getFormDataDetailDtosList:bmlx:"+bmlx); + + if(StringUtils.isNotBlank(bmlxFieldid)){ + Long bmlx_FieldId = Long.valueOf(bmlxFieldid); + if(bmlx_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(bmlx_FieldId); + filed.setContent(bmlx); + formDataDetailDtos.add(filed); + } + } + + + String sfzdcfFieldid = String.valueOf(fieldMap.get("sfzdcf")); + log.error("getFormDataDetailDtosList:sfzdcfFieldid:"+sfzdcfFieldid); + log.error("getFormDataDetailDtosList:sfzdcf:"+sfzdcf); + + if(StringUtils.isNotBlank(sfzdcfFieldid)){ + Long sfzdcf_FieldId = Long.valueOf(sfzdcfFieldid); + if(sfzdcf_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(sfzdcf_FieldId); + filed.setContent(sfzdcf); + formDataDetailDtos.add(filed); + } + } + + String sjbmFieldid = String.valueOf(fieldMap.get("sjbm")); + log.error("getFormDataDetailDtosList:sjbmFieldid:"+sjbmFieldid); + log.error("getFormDataDetailDtosList:sjbm:"+sjbm); + if(StringUtils.isNotBlank(sjbmFieldid)){ + Long sjbm_FieldId = Long.valueOf(sjbmFieldid); + if(sjbm_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(sjbm_FieldId); + filed.setContent(sjbm); + formDataDetailDtos.add(filed); + } + } + + String sjbmfzrFieldid = String.valueOf(fieldMap.get("sjbmfzr")); + log.error("getFormDataDetailDtosList:sjbmfzrFieldid:"+sjbmfzrFieldid); + log.error("getFormDataDetailDtosList:sjbmfzr:"+sjbmfzr); + if(StringUtils.isNotBlank(sjbmfzrFieldid)){ + Long sjbmfzr_FieldId = Long.valueOf(sjbmfzrFieldid); + if(sjbmfzr_FieldId > 0){ + FormDataDetailDto filed = new FormDataDetailDto(); + filed.setFieldId(sjbmfzr_FieldId); + filed.setContent(sjbmfzr); + formDataDetailDtos.add(filed); + } + } + + return formDataDetailDtos; + } +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/CreatePerformanceService.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/CreatePerformanceService.java new file mode 100644 index 0000000..d6abe12 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/CreatePerformanceService.java @@ -0,0 +1,12 @@ +package com.weaver.seconddev.meishi.service; + +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public interface CreatePerformanceService { + + public Map createWorkflowV1(String tenant_key,Map requestMap); + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/PerformanceSubmitService.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/PerformanceSubmitService.java new file mode 100644 index 0000000..c453e10 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/PerformanceSubmitService.java @@ -0,0 +1,12 @@ +package com.weaver.seconddev.meishi.service; + +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public interface PerformanceSubmitService { + + public Map createWorkflowV1(String tenant_key,Map requestMap); + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/UpdatePerformanceService.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/UpdatePerformanceService.java new file mode 100644 index 0000000..0151d2f --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/UpdatePerformanceService.java @@ -0,0 +1,12 @@ +package com.weaver.seconddev.meishi.service; + +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public interface UpdatePerformanceService { + + Map updateRequestV1(String tenant_key,Map requestMap); + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/CreatePerformanceServiceImpl.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/CreatePerformanceServiceImpl.java new file mode 100644 index 0000000..32715d4 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/CreatePerformanceServiceImpl.java @@ -0,0 +1,80 @@ +package com.weaver.seconddev.meishi.service.impl; + +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.CreatePerformanceDao; +import com.weaver.seconddev.meishi.esb.util.CreatePerformanceUtil; +import com.weaver.seconddev.meishi.service.CreatePerformanceService; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class CreatePerformanceServiceImpl implements CreatePerformanceService { + + private final Logger log = LoggerFactory.getLogger(CreatePerformanceServiceImpl.class); + + + @Autowired + CreatePerformanceUtil createPerformanceUtil; + + @Autowired + CreatePerformanceDao createPerformanceDao; + + @Override + public Map createWorkflowV1(String tenant_key,Map params) { + Map dataMap = new HashMap(); + + Long form_id = Long.valueOf(String.valueOf(params.get("form_id"))); + Long workflowid = Long.valueOf(String.valueOf(params.get("workflowid"))); + String form_data_id = String.valueOf(params.get("form_data_id")); + Long userid = Long.valueOf(String.valueOf(params.get("userid"))); + + log.error("createWorkflowV1:form_id:"+form_id); + log.error("createWorkflowV1:workflowid:"+workflowid); + log.error("createWorkflowV1:form_data_id:"+form_data_id); + log.error("createWorkflowV1:userid:"+userid); + + String requestids = ""; + int errcount = 0; + try{ + Map mainData = createPerformanceDao.queryMainDataByFormDataId(Constants.TENANT_KEY,form_data_id); + List> dt1List = createPerformanceDao.queryDt1DataByFormDataId(Constants.TENANT_KEY,form_data_id); + log.error("createWorkflowV1:dt1List:"+dt1List.size()); + + for(int i=0;i createrData = dt1List.get(i); + String dt1id = String.valueOf(createrData.get("id")); + log.error("createWorkflowV1:dt1id:"+dt1id); + Map reslutMap = createPerformanceUtil.doCreateWorkflowByUserData(Constants.TENANT_KEY,form_id,mainData,createrData,form_data_id,workflowid,userid); + if (reslutMap.containsKey("code")) { + String code = String.valueOf(reslutMap.get("code")); + String msg = String.valueOf(reslutMap.get("msg")); + if ("200".equals(code)) { + String requestid = String.valueOf(reslutMap.get("requestid")); + + log.error("createWorkflowV1:requestid:"+requestid); + log.error("createWorkflowV1:form_data_id:"+form_data_id); + + createPerformanceDao.updateRequestid2FormTable(Constants.TENANT_KEY,requestid,dt1id,""); + requestids += StringUtils.isBlank(requestids) ? requestid :","+requestid ; + } else { + createPerformanceDao.updateRequestid2FormTable(Constants.TENANT_KEY,"",dt1id,msg); + // return WeaResult.fail(500,"部分流程创建失败"); + errcount++; + } + } + } + }catch (Exception e){ + } + dataMap.put("errcount",errcount); + dataMap.put("requestids",requestids); + return dataMap; + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/PerformanceSubmitServiceImpl.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/PerformanceSubmitServiceImpl.java new file mode 100644 index 0000000..3675327 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/PerformanceSubmitServiceImpl.java @@ -0,0 +1,103 @@ +package com.weaver.seconddev.meishi.service.impl; + +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.PerformanceSubmitDao; +import com.weaver.seconddev.meishi.esb.util.PerformanceSubmitUtil; +import com.weaver.seconddev.meishi.service.PerformanceSubmitService; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class PerformanceSubmitServiceImpl implements PerformanceSubmitService { + + private final Logger log = LoggerFactory.getLogger(PerformanceSubmitServiceImpl.class); + + @Autowired + private PerformanceSubmitUtil performanceSubmitUtil; + + @Autowired + PerformanceSubmitDao performanceSubmitDao; + + @Override + public Map createWorkflowV1(String tenant_key,Map params) { + Map dataMap = new HashMap(); + + String dt2_form_id = String.valueOf(params.get("dt2_form_id")); + Long form_id = Long.valueOf(String.valueOf(params.get("form_id"))); + Long workflowid = Long.valueOf(String.valueOf(params.get("workflowid"))); + String form_data_id = String.valueOf(params.get("form_data_id")); + Long userid = Long.valueOf(String.valueOf(params.get("userid"))); + + log.error("createWorkflowV1:form_id:"+form_id); + log.error("createWorkflowV1:workflowid:"+workflowid); + log.error("createWorkflowV1:form_data_id:"+form_data_id); + log.error("createWorkflowV1:userid:"+userid); + + String requestids = ""; + int errcount = 0; + try { + String sfzdcf = "0"; + + List> reslutList = new ArrayList>(); + Map mainData = performanceSubmitDao.queryMainDataByFormDataId(Constants.TENANT_KEY,form_data_id); + String bmlx = String.valueOf(mainData.get("bmlx")); + log.error("createWorkflowV1:bmlx:"+bmlx); + if("0".equals(bmlx)){ //董事长 + String bmcj = "1"; + reslutList = performanceSubmitUtil.doCreateWorkflowByTopLeader(Constants.TENANT_KEY,form_id,mainData,form_data_id,workflowid,dt2_form_id,userid,bmcj,sfzdcf); + log.error("reslutList1:"+reslutList.size()); + }else{ + String bmcj = ""; + if("1".equals(bmlx)){ // 本部长 + bmcj = "2"; + }else if("2".equals(bmlx)){ // 部长 + bmcj = "3"; + }else if("3".equals(bmlx)){ // 科 + bmcj = "4"; + } + + log.error("bmcj:"+bmcj); + + if(StringUtils.isNotBlank(bmcj)){ + reslutList = performanceSubmitUtil.doCreateWorkflowByMiddleLeader(Constants.TENANT_KEY, form_id,mainData,form_data_id,workflowid,dt2_form_id,userid,bmcj,sfzdcf); + } + + log.error("reslutList2:"+reslutList.size()); + } + + for (int i = 0; i < reslutList.size(); i++) { + Map reslutMap = reslutList.get(i); + if (reslutMap.containsKey("code")) { + String code = String.valueOf(reslutMap.get("code")); + log.error("code:"+code); + if ("200".equals(code)) { + String requestid = String.valueOf(reslutMap.get("requestid")); + requestids += StringUtils.isBlank(requestids) ? requestid : "," + requestid; + } else { + errcount++; + } + } + } + +// if (errcount == 0) { +// performanceSubmitDao.updateRequestid2FormTable(tenant_key, requestids, dt2_form_id + ""); +// } else { +// performanceSubmitDao.updateRequestid2FormTable(tenant_key, requestids, dt2_form_id + ""); +// } + }catch (Exception e){ + log.error("createWorkflowV1:"+e); + } + dataMap.put("errcount",errcount); + dataMap.put("requestids",requestids); + return dataMap; + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/UpdatePerformanceServiceImpl.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/UpdatePerformanceServiceImpl.java new file mode 100644 index 0000000..cac3932 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/service/impl/UpdatePerformanceServiceImpl.java @@ -0,0 +1,122 @@ +package com.weaver.seconddev.meishi.service.impl; + +import com.weaver.seconddev.meishi.constant.Constants; +import com.weaver.seconddev.meishi.esb.dao.UpdatePerformanceDao; +import com.weaver.seconddev.meishi.service.UpdatePerformanceService; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class UpdatePerformanceServiceImpl implements UpdatePerformanceService { + + private final Logger log = LoggerFactory.getLogger(UpdatePerformanceServiceImpl.class); + + @Autowired + UpdatePerformanceDao updatePerformanceDao; + + @Override + public Map updateRequestV1(String tenant_key,Map params) { + Map dataMap = new HashMap(); + + String form_data_id = String.valueOf(params.get("form_data_id")); + Long userid = Long.valueOf(String.valueOf(params.get("userid"))); + + log.error("createWorkflowV1:form_data_id:"+form_data_id); + + try{ + Map mainData = updatePerformanceDao.queryMainDataByFormDataId(Constants.TENANT_KEY,form_data_id); + String bm = String.valueOf(mainData.get("bm")); + String yjtbnf = String.valueOf(mainData.get("yjtbnf")); + String zq = String.valueOf(mainData.get("zq")); + + List> dt1List = updatePerformanceDao.queryDt1DataByFormDataId(Constants.TENANT_KEY,form_data_id); + List> dt2List = updatePerformanceDao.queryDt2DataByFormDataId(Constants.TENANT_KEY,form_data_id); + List> dt3List = updatePerformanceDao.queryDt3DataByFormDataId(Constants.TENANT_KEY,form_data_id); + + log.error("createWorkflowV1:dt1List:"+dt1List.size()); + log.error("createWorkflowV1:dt2List:"+dt2List.size()); + log.error("createWorkflowV1:dt3List:"+dt3List.size()); + + String dxwb_p8r4 = String.valueOf(mainData.get("dxwb_p8r4")); + String txktbt = String.valueOf(mainData.get("txktbt")); + String qz = String.valueOf(mainData.get("qz")); + String dxwb_3m7o = String.valueOf(mainData.get("dxwb_3m7o")); + String txkt2bt = String.valueOf(mainData.get("txkt2bt")); + String qz2 = String.valueOf(mainData.get("qz2")); + String kts = String.valueOf(mainData.get("kts")); + String txkt3bt = String.valueOf(mainData.get("txkt3bt")); + String qz3 = String.valueOf(mainData.get("qz3")); + + String upSet = "kty='"+dxwb_p8r4+"',ktbt11='"+txktbt+"',qz11='"+qz+"',kte='"+dxwb_3m7o+"',ktbt22='"+txkt2bt+"',qz22='"+qz2+"',kts33='"+kts+"',ktbt33='"+txkt3bt+"',qz33='"+qz3+"'"; + for(int i=0;i dt1Data = dt1List.get(i); + String dxwb_ckts = String.valueOf(dt1Data.get("dxwb_ckts")); + String dxwb_07dy = String.valueOf(dt1Data.get("dxwb_07dy")); + upSet+= StringUtils.isBlank(upSet) ? "fjmb"+(i+1)+"='"+dxwb_ckts+"',kpi1"+(i+1)+"='"+dxwb_07dy+"'" : ",fjmb"+(i+1)+"='"+dxwb_ckts+"',kpi1"+(i+1)+"='"+dxwb_07dy+"'" ; + } + + for(int i=0;i dt2Data = dt2List.get(i); + String dxwb_ckts = String.valueOf(dt2Data.get("dxwb_ckts")); + String dxwb_07dy = String.valueOf(dt2Data.get("dxwb_07dy")); + upSet+= StringUtils.isBlank(upSet) ? "fjmb"+(i+1)+"2='"+dxwb_ckts+"',kpi2"+(i+1)+"='"+dxwb_07dy+"'" : ",fjmb"+(i+1)+"2='"+dxwb_ckts+"',kpi2"+(i+1)+"='"+dxwb_07dy+"'" ; + } + + for(int i=0;i dt3Data = dt3List.get(i); + String dxwb_ckts = String.valueOf(dt3Data.get("dxwb_ckts")); + String dxwb_07dy = String.valueOf(dt3Data.get("dxwb_07dy")); + upSet+= StringUtils.isBlank(upSet) ? "fjmb"+(i+1)+"3='"+dxwb_ckts+"',kpi3"+(i+1)+"='"+dxwb_07dy+"'" : ",fjmb"+(i+1)+"3='"+dxwb_ckts+"',kpi3"+(i+1)+"='"+dxwb_07dy+"'" ; + } + + int deptcount = 0; + String errorDeptName = ""; + List> deptList = updatePerformanceDao.queryDepartmentManager(Constants.TENANT_KEY,bm); + log.error("createWorkflowV1:deptList:"+deptList.size()); + if(deptList.size()>0){ + for(int i=0;i deptMap = deptList.get(i); + String deptid = String.valueOf(deptMap.get("id")); + String bmfzr = String.valueOf(deptMap.get("bmfzr")); + String name = String.valueOf(deptMap.get("name")); + log.error("createWorkflowV1:deptid:"+deptid); + log.error("createWorkflowV1:bmfzr:"+bmfzr); + Map result = updatePerformanceDao.updateFormDataByFormdataid(Constants.TENANT_KEY,upSet,deptid,yjtbnf,zq,bmfzr); + if(result.containsKey("code")) { + String code = String.valueOf(result.get("code")); + log.error("createWorkflowV1:code:"+code); + if (!"200".equals(code)) { + deptcount++; + errorDeptName += StringUtils.isBlank(errorDeptName) ? name : ","+name ; + } + }else{ + deptcount++; + errorDeptName += StringUtils.isBlank(errorDeptName) ? name : ","+name ; + } + } + } + + if(deptcount == 0){ + Map result2 = updatePerformanceDao.updateFormDataByDeptManager(Constants.TENANT_KEY,upSet,bm,yjtbnf,zq,userid); + dataMap.putAll(result2); + } + + dataMap.put("updatesql",upSet); + dataMap.put("deptcount",deptcount); + dataMap.put("errorDeptName",errorDeptName); + + }catch (Exception e){ + log.error("UpdatePerformanceServiceImpl:e:"+e); + } + + return dataMap; + } + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/CommonUtils.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/CommonUtils.java new file mode 100644 index 0000000..ad8c7c9 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/CommonUtils.java @@ -0,0 +1,422 @@ +package com.weaver.seconddev.meishi.util; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +@Component +public class CommonUtils { + + private final static Logger log = LoggerFactory.getLogger(CommonUtils.class); + + public static JSONObject toJSON(String data){ + if(!StringUtils.isEmpty(data)){ + try { + return JSONObject.parseObject(data); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return null; + } + + public static Long getJSONLong(JSONObject json,String key){ + if(json != null && json.containsKey(key)){ + try { + return json.getLong(key); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return null; + } + + public static Integer getJSONInteger(JSONObject json,String key){ + if(json != null && json.containsKey(key)){ + try { + return json.getInteger(key); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return -1; + } + + public static String getJSONString(JSONObject json,String key){ + if(json != null && json.containsKey(key)){ + try { + return null2String(json.getString(key)); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return ""; + } + + public static JSONObject getJSONObject(JSONObject json,String key){ + if(json != null && json.containsKey(key)){ + try { + return json.getJSONObject(key); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return null; + } + + public static JSONArray getJSONArray(JSONObject json, String key){ + if(json != null && json.containsKey(key)){ + try { + return json.getJSONArray(key); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return null; + } + + public static JSONObject getJSONObject(JSONArray json, int idx){ + if(json != null && json.size() > idx){ + try { + return json.getJSONObject(idx); + }catch (Throwable t){ + log.error(t.getMessage(),t); + } + } + return null; + } + + public static String mapToStrData(Map para){ + if(para != null) { + return JSONObject.toJSON(para).toString(); + } + return ""; + } + + public static void strToLongList(List list,String strs){ + strToLongList(list,strs,true); + } + + public static void strToLongList(List list,String strs,boolean isDist){ + if(list == null){ + return; + } + if(StringUtils.isEmpty(strs)){ + return; + } + + String[] strList = StringUtils.split(strs, ","); + for(String str:strList){ + if(StringUtils.isEmpty(str)){ + continue; + } + + long id = getLongValue(str); + if(id > 0l && (isDist == false || !list.contains(id))){ + list.add(id); + } + } + } + + public static long getLongValue(Object v){ + return getLongValue(null2String(v)); + } + + public static long getLongValue(String v) { + return getLongValue(v, -1); + } + + public static long getLongValue(String v, long def) { + try { + return Long.parseLong(v); + } catch (Exception ex) { + return def; + } + } + + public static int getIntValue(Object o){ + return getIntValue(null2String(o)); + } + + public static int getIntValue(String s){ + return getIntValue(s,-1); + } + + public static int getIntValue(String s, int def){ + try { + return NumberUtils.toInt(s); + } catch (Exception ex) { + return def; + } + + } + + public static String null2String(Object s) { + return s == null ? "" : s.toString(); + } + + public static String null2String(Object s, String def) { + return s == null ? (def == null ? "" : def) : s.toString(); + } + + + public static String stringReplace(String sou, String s1, String s2) { + //int idx = sou.indexOf(s1); + //if (idx < 0) { + // return sou; + //} + //return sou.substring(0, idx) + s2 + StringReplace(sou.substring(idx + s1.length()), s1, s2); + sou = null2String(sou); + s1 = null2String(s1); + s2 = null2String(s2); + try{ + sou = sou.replace(s1, s2); + }catch(Exception e){ + //System.out.println(e);//将未知异常打印出来,便于检查错误。 + } + return sou; + } + + /** + * 替换特殊字符 + * + * @param s 要替换特殊的字符串 + * @return 替换完成的字符串 + */ + public static String toScreen(String s) { + char c[] = s.toCharArray(); + char ch; + int i = 0; + StringBuffer buf = new StringBuffer(); + + while (i < c.length) { + ch = c[i++]; + + if (ch == '\r') + buf.append(""); + else if (ch == '\n') + buf.append(""); + else + buf.append(ch); + } + return buf.toString(); + } + + /** + * 替换特殊字符 + * + * @param s 要替换特殊的字符串 + * @return 替换完成的字符串 + */ + public static String toExcel(String s) { + if (s == null) return ""; + //因本方法会将字符串 &符号转换,故先将欧元符号转义符转换为其Unicode码 + s = s.replaceAll("€", "\u20AC"); + String str = toScreen(s); + str = stringReplace(str, "∠", "∠"); + str = stringReplace(str, "φ", "φ"); + str = stringReplace(str, """, "\""); + str = stringReplace(str, " ", "%nbsp"); + //str=Util.StringReplace(str,"'","‘"); + str = stringReplace(str, "<", "<"); + str = stringReplace(str, ">", ">"); + str = stringReplace(str, "&dt;&at;", "
"); + str = stringReplace(str, "&", "&"); + str = stringReplace(str, "
", "&dt;&at;"); + if ("&dt;&at;".equals(str)) { + str = ""; + } + //在方法最后,又将欧元符号置换为转义符 + str = str.replaceAll("\u20AC", "€"); + return str; + } + + public static String delHtml(final String inputString) { + String htmlStr = toExcel(inputString); // 含html标签的字符串 + + String textStr = ""; + java.util.regex.Pattern p_script; + java.util.regex.Matcher m_script; + java.util.regex.Pattern p_html; + java.util.regex.Matcher m_html; + + try { + String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式 + + String regEx_script = "<[/s]*?script[^>]*?>[/s/S]*?<[/s]*?//[/s]*?script[/s]*?>"; // 定义script的正则表达式{或]*?>[/s/S]*? + + p_script = java.util.regex.Pattern.compile(regEx_script, java.util.regex.Pattern.CASE_INSENSITIVE); + m_script = p_script.matcher(htmlStr); + htmlStr = m_script.replaceAll(""); // 过滤script标签 + + p_html = java.util.regex.Pattern.compile(regEx_html, java.util.regex.Pattern.CASE_INSENSITIVE); + m_html = p_html.matcher(htmlStr); + htmlStr = m_html.replaceAll(""); // 过滤html标签 + + textStr = htmlStr; + + } catch (Exception e) { + System.err.println("Html2Text: " + e.getMessage()); + } + + return htmlToTxt(textStr).trim();// 返回文本字符串 + } + + /** + * 删除字符串中的html格式 + * + * @param input + * @return + */ + public static String htmlToTxt(String input) { + if (input == null || input.trim().equals("")) { + return ""; + } + // 去掉所有html元素, + String str = input.replaceAll("<[a-zA-Z]+[1-9]?[^><]*>", ""); + return str; + } + + + //==new= + + public static int getIntValue(Object s, int def){ + return getIntValue(null2String(s)); + } + + public static List strToLongList(String strs){ + List list = new ArrayList(); + strToLongList(list,strs,true); + return list; + } + + + public static int dateInterval(String fromdate, String todate) { + Calendar fromcalendar = getCalendar(fromdate); + Calendar tocalendar = getCalendar(todate); + + if (fromcalendar == null || tocalendar == null) + return 0; + + return (int) ((tocalendar.getTimeInMillis() - fromcalendar.getTimeInMillis()) / 3600 / 24 / 1000); + } + + /** + * @param datetime - 给定的日期时间,格式为 '2004-05-12 12:00:23' 或者 '2004-05-12' + * @return 返回给定日历, 如果格式不正确,返回null + */ + public static Calendar getCalendar(String datetime) { + int datetimelength = datetime.length() ; + + switch(datetimelength) { + case 19 : + return getCalendar(datetime , "yyyy'-'MM'-'dd' 'HH:mm:ss") ; + case 10 : + return getCalendar(datetime , "yyyy'-'MM'-'dd") ; + default : + return null ; + } + + } + + + /** + * @param datetime - 给定的日期时间 + * @param formart - 给定的日期时间的格式 + * @return 返回给定日历, 如果格式不正确,返回null + */ + public static Calendar getCalendar(String datetime, String formart) { + SimpleDateFormat SDF = new SimpleDateFormat(formart) ; + + Calendar calendar = Calendar.getInstance() ; + try { + calendar.setTime(SDF.parse(datetime)) ; + } catch (ParseException e) { + return null ; + } + + return calendar ; + } + + /** + * @return 返回当前时间字符,格式为 yyyy'-'MM'-'dd + * + * 返回当前时间字符,默认格式为yyyy'-'MM'-'dd + * + * 如 2004-09-07 + */ + public static String getCurrentDateString() { + String timestrformart = "yyyy'-'MM'-'dd" ; + SimpleDateFormat SDF = new SimpleDateFormat(timestrformart) ; + Calendar calendar = Calendar.getInstance() ; + + return SDF.format(calendar.getTime()) ; + } + + public static String getMessage(String msgMode,String key,String val){ + key = null2String(key).trim(); + val = null2String(val).trim(); + msgMode = null2String(msgMode).trim(); + if(!"".equals(msgMode) && !"".equals(key)) { + msgMode = msgMode.replaceAll(key, val); + } + return msgMode; + } + + public static List tranStrToLongList(Object idListObj){ + List docIds = new ArrayList(); + if(idListObj != null) { + try { + JSONArray idObjs = JSONArray.parseArray(null2String(idListObj)); + for (Object idObj : idObjs) { + long id = getLongValue(idObj); + if (id > 0l) { + docIds.add(id); + } + } + } catch (Exception e) { + log.error("trans error :{}", idListObj); + log.error(e.getMessage(), e); + } + } + return docIds; + } + + public Map requestToMap(HttpServletRequest request) { + Map properties = request.getParameterMap();//把请求参数封装到Map中 + Map returnMap = new HashMap(); + Iterator> iter = properties.entrySet().iterator(); + String name = ""; + String value = ""; + while (iter.hasNext()) { + Map.Entry entry = iter.next(); + name = entry.getKey(); + Object valueObj = entry.getValue(); + if (null == valueObj) { + value = ""; + } else if (valueObj instanceof String[]) { + String[] values = (String[]) valueObj; + for (int i = 0; i < values.length; i++) { + value = values[i] + ","; + } + value = value.substring(0, value.length() - 1); + } else { + value = valueObj.toString(); + } + returnMap.put(name, value); + } + return returnMap; + } + + + +} diff --git a/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/DatabaseUtils.java b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/DatabaseUtils.java new file mode 100644 index 0000000..e9219f5 --- /dev/null +++ b/美时家具/ecology10-lamex/src/main/java/com/weaver/seconddev/meishi/util/DatabaseUtils.java @@ -0,0 +1,330 @@ +package com.weaver.seconddev.meishi.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONObject; +import com.weaver.ebuilder.datasource.api.entity.ExecuteSqlEntity; +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.ebuilder.datasource.api.enums.SourceType; +import com.weaver.ebuilder.datasource.api.enums.SqlParamType; +import com.weaver.ebuilder.datasource.api.query.dto.dw.DynamicParamDto; +import com.weaver.ebuilder.datasource.api.query.dto.dw.FieldQuery; +import com.weaver.ebuilder.datasource.api.query.dto.dw.GroupQuery; +import com.weaver.ebuilder.datasource.api.query.dto.dw.TableQuery; +import com.weaver.ebuilder.datasource.api.service.DataSetService; +import com.weaver.ebuilder.datasource.api.service.impl.EbFormDataService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * DatabaseUtil 是一个数据库工具类,提供了一些执行 SQL 查询和操作的方法。 + */ + + +@Component +public class DatabaseUtils { + + private final static Logger log = LoggerFactory.getLogger(DatabaseUtils.class); + + @Autowired + private DataSetService dataSetService; + + @Autowired + private EbFormDataService dataService; + + + /** + * 执行 SQL 并返回结果。 + * + * @param entity 包含执行 SQL 的相关信息的对象 + * @return 包含查询结果的 Map 对象 + * @throws RuntimeException 当 SQL 执行失败时抛出异常 + */ + public Map executeSql(ExecuteSqlEntity entity) { + Map map = dataSetService.executeSql(entity); + if ("FAIL".equals(CommonUtils.null2String(map.get("status")).toUpperCase(Locale.ROOT))) { + log.error("sql执行失败=>{}", JSONObject.toJSONString(map)); + throw new RuntimeException("sql执行异常"); + } else { + return map; + } + } + + /** + * 执行分页 SQL 查询并返回结果。 + * + * @param entity 包含执行 SQL 和分页信息的对象 + * @param pageNo 当前页码 + * @param pageSize 每页的数据条数 + * @return 包含查询结果的 Map 对象 + * @throws RuntimeException 当 SQL 执行失败时抛出异常 + */ + public Map executeSql(ExecuteSqlEntity entity, int pageNo, int pageSize) { + entity.setPageNo(pageNo); + entity.setPageSize(pageSize); + Map map = dataSetService.executeForQuery(entity); + if ("FAIL".equals(CommonUtils.null2String(map.get("status")).toUpperCase(Locale.ROOT))) { + log.error("sql执行失败=>{}", JSONObject.toJSONString(map)); + throw new RuntimeException("sql执行异常"); + } else { + return map; + } + } + + /** + * 创建一个包含执行 SQL 的对象。 + * + * @param sql 需要执行的 SQL + * @param groupId 数据源分组的 ID + * @paramDesc 数据源分组的 ID 获取方式 【select APPLICATION_MARK,APPLICATION_name from eteams.ds_mark_service_relation】 + * @return 包含执行 SQL 的对象 + */ + public ExecuteSqlEntity getExecuteSqlEntity(String sql, String groupId) { + log.error("sql=>{}", sql); + ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity(); + executeSqlEntity.setSql(base64(sql)); + executeSqlEntity.setGroupId(groupId); + executeSqlEntity.setSourceType(SourceType.LOGIC); + executeSqlEntity.setGroupKey("0"); + return executeSqlEntity; + } + + /** + * 对 SQL 进行 Base64 编码。 + * + * @param sql 需要进行编码的 SQL + * @return 编码后的字符串 + */ + public String base64(String sql) { + return Base64.encode(sql); + } + + /** + * 获取数据源列表。 + * + * @param map 包含数据源列表信息的 Map 对象 + * @return 数据源列表的 Map 对象 + */ + public List> getDataSourceList(Map map) { + List> entity = new ArrayList(); + if ("OK".equals(CommonUtils.null2String(map.get("status")).toUpperCase(Locale.ROOT)) && map.get("count") != null && CommonUtils.getIntValue(map.get("count")) > 0) { + entity = (List) map.get("records"); + } + + return keyToLowerCase((List) entity); + } + + public Map getOneDataSource(Map map) { + List> entity = getDataSourceList(map); + return (Map)(CollectionUtil.isNotEmpty(entity) ? (Map)entity.get(0) : new HashMap()); + } + + /** + * 将 Map 对象中的键转换为小写。 + * + * @param orgMapList 需要转换键的 Map 对象列表 + * @return 转换后的 Map 对象列表 + */ + public List> keyToLowerCase(List> orgMapList) { + List> resultList = new ArrayList(); + Iterator var2 = orgMapList.iterator(); + + while (var2.hasNext()) { + Map stringObjectMap = (Map) var2.next(); + resultList.add(keyToLowerCase(stringObjectMap)); + } + + return resultList; + } + + /** + * 将 Map 对象中的键转换为小写。 + * + * @param orgMap 需要转换键的 Map 对象 + * @return 转换后的 Map 对象 + */ + public Map keyToLowerCase(Map orgMap) { + Map resultMap = new HashMap(); + if (orgMap != null && !orgMap.isEmpty()) { + Set> entrySet = orgMap.entrySet(); + Iterator var3 = entrySet.iterator(); + + while (var3.hasNext()) { + Map.Entry entry = (Map.Entry) var3.next(); + String key = (String) entry.getKey(); + Object value = entry.getValue(); + resultMap.put(key.toLowerCase(), value); + } + return resultMap; + } else { + return resultMap; + } + } + + + /** + * 根据数据库类型 找到对应数据库 + * + * @param sourceType sourceType 枚举类 + * ETEAMS :数据仓库 + * FORM: ebuilder表单 + * LOGIC: 各模块提供业务数据(逻辑表) + * EXTERNAL: 外部数据源 + * @return + */ + public List> getDataGroups(String sourceType, Boolean flag) { + GroupQuery query = new GroupQuery(); + query.setSourceType(SourceType.valueOf(sourceType)); + query.setShowSqlDataset(flag); + + + DynamicParamDto dynamicParamDto = new DynamicParamDto(); + dynamicParamDto.setUserId(10000L); + dynamicParamDto.setTenantKey("tk"); + + query.setDynamicParamDto(dynamicParamDto); + + return dataSetService.getDataGroups(query); + } + + + /** + * 获取数据表 + * + * @param sourceType + * @param groupId + * @param pageNum + * @param pageSize + * @return + */ + public Map getDataSets(String sourceType, String groupId, Integer pageNum, Integer pageSize) { + + TableQuery tableQuery = new TableQuery(); + tableQuery.setSourceType(SourceType.valueOf(sourceType)); + tableQuery.setGroupId(groupId); + //非必传 + //tableQuery.setName(name); + tableQuery.setPageNo(pageNum); + tableQuery.setPageSize(pageSize); + return dataSetService.getDataSetsByPage(tableQuery); + } + + /** + * 获取表字段 + * sourceType :LOGIC + * sourceId : 8494845523559165780 + * groupId : weaver-crm-service + * + * @param + * @return + */ + public List> getFields(String sourceType, String sourceId, String groupId) { + FieldQuery query = new FieldQuery(); + query.setSourceType(SourceType.valueOf(sourceType)); + query.setSourceId(sourceId); + query.setGroupId(groupId); + return dataSetService.getFields(query); + } + + /** + * 执行sql + * sourceType :LOGIC + * groupId : weaver-ebuilder-app-service + * sql : select * from ebda_app limit 10 + * + * @param + * @return + */ + public Map execute(String sourceType, String groupId, String sql) { + //执行sql 参数sourceType groupId sql + ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity(); + executeSqlEntity.setSql(base64(sql)); + executeSqlEntity.setGroupId(groupId); + executeSqlEntity.setSourceType(SourceType.valueOf(sourceType)); + return dataSetService.executeSql(executeSqlEntity); + } + + + public Map executeForQuery(String sourceType, String groupId, String sql,List sqlparam) { + //执行sql 参数sourceType groupId sql sqlparam + ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity(); + executeSqlEntity.setSql(base64(sql)); + executeSqlEntity.setGroupId(groupId); + executeSqlEntity.setSourceType(SourceType.valueOf(sourceType)); + executeSqlEntity.setParams(sqlparam); + return dataSetService.executeSql(executeSqlEntity); + } + + public String getMysqlPagedSql(String sql,int pageNo, int pageSize) { + if(pageNo<=0){ + pageNo = 1; + } + + if(pageSize<=0){ + pageSize = 20; + } + + int start = (pageNo-1)*pageSize; + int end = pageNo*pageSize; + + return new StringBuffer().append(sql).append( + " LIMIT "+start+","+(end-start)).toString(); + } + + /** + * 获取sql入参 + * @param list + * @return + */ + public List querySqlParamEntity(List list){ + List sqlparam = new ArrayList(); + for (String str : list){ + SqlParamEntity sqlParamEntity = new SqlParamEntity(); + sqlParamEntity.setParamType(SqlParamType.VARCHAR); + sqlParamEntity.setValue(str); + sqlparam.add(sqlParamEntity); + } + return sqlparam; + } + + /*** + * + * @param sourceType + * @param groupId + * @param dataSql + * @param paramList + * @return + */ + public List> getSqlList(String sourceType,String groupId,String dataSql,List paramList){ + List sqlParamList = querySqlParamEntity(paramList); + Map result = executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = getDataSourceList(result); + return recordList; + } + + /*** + * + * @param sourceType + * @param groupId + * @param dataSql + * @param paramList + * @return + */ + public Map getSqlMap(String sourceType,String groupId,String dataSql,List paramList){ + Map recordMap = new HashMap<>(); + List sqlParamList = querySqlParamEntity(paramList); + Map result = executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = getDataSourceList(result); + if(recordList.size() > 0){ + recordMap = recordList.get(0); + } + return recordMap; + } + + + +}