From 52cfeef35fe0e599a14a216fb289df3f287c37e0 Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Tue, 22 Aug 2023 09:24:40 +0800 Subject: [PATCH] =?UTF-8?q?#EC=5FHJ5#=20Rocket=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interfaces/dito/mq/HrmRocketmqUtil.java | 137 +++++++++++++++++- .../interfaces/dito/mq/RocketmqUtil.java | 2 +- 2 files changed, 136 insertions(+), 3 deletions(-) diff --git a/src/weaver/interfaces/dito/mq/HrmRocketmqUtil.java b/src/weaver/interfaces/dito/mq/HrmRocketmqUtil.java index 53794aae..ad4ac501 100644 --- a/src/weaver/interfaces/dito/mq/HrmRocketmqUtil.java +++ b/src/weaver/interfaces/dito/mq/HrmRocketmqUtil.java @@ -4,24 +4,36 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; +import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; import weaver.general.Util; import weaver.interfaces.dito.comInfo.PropBean; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class HrmRocketmqUtil { - private Lock lock = new ReentrantLock(); + + private Lock lock = new ReentrantLock(); + public int updateOrgData(String data) { BaseBean bb = new BaseBean(); int errcount = 0; + lock.lock(); try{ - lock.lock(); RecordSet rs = new RecordSet(); String cus_staff = PropBean.getUfPropValue("cus_staff") ; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + JSONObject jsonObject = JSONObject.parseObject(data); if(jsonObject.containsKey("masterInfo")) { @@ -50,16 +62,70 @@ public class HrmRocketmqUtil { managerid = Util.null2String(rs.getString("id")); } if(StringUtils.isNotEmpty(personid) && StringUtils.isNotEmpty(managerid)) { + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("systable","hrmresource"); + sql = " update hrmresource h set h.managerid = ? where id = ? "; boolean flag = rs.executeUpdate(sql,new Object[]{managerid,personid}); if(!flag){ errcount++; + dataMap.put("errmessage","人员更新SQL执行错误,managerid:"+managerid+"、personid:"+personid); + }else{ + dataMap.put("errmessage","人员更新SQL执行成功"); } + recordErrorData(dataMap); + }else{ + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("systable","hrmresource"); + dataMap.put("errmessage","入参参数personno、managerno在cus_fielddata查询为空"); + recordErrorData(dataMap); } + }else{ + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("systable","hrmresource"); + dataMap.put("errmessage","入参参数personno、managerno未空"); + recordErrorData(dataMap); + } + }else{ + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("systable","hrmresource"); + dataMap.put("errmessage","入参参数status不为1"); + recordErrorData(dataMap); + } } + }else{ + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("systable","hrmresource"); + dataMap.put("errmessage","入参参数缺少datas"); + recordErrorData(dataMap); + } + }else{ + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("systable","hrmresource"); + dataMap.put("errmessage","入参参数缺少masterInfo"); + recordErrorData(dataMap); + } }catch (Exception e){ bb.writeLog("e:"+e); @@ -68,4 +134,71 @@ public class HrmRocketmqUtil { } return errcount; } + + /*** + * + */ + public void recordErrorData(Map dataMap){ + + String uftable = "uf_orgmq" ; + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + ModeRightInfo mode=new ModeRightInfo(); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");//当前时间日期 + SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss"); + + int formmodeid = 0 ; + String modedatacreater = "1" ; + String modedatacreatertype = "0" ; + String modedatacreatedate = sdf1.format(new Date()); + String modedatacreatetime = sdf2.format(new Date()); + String uuid = UUID.randomUUID().toString(); + + try { + + String sql =" select k.id from modeinfo k \n" + + " inner join workflow_bill l on formid = l.id\n" + + " where l.tablename = ? " ; + rs.executeQuery(sql,new Object[]{uftable}); + if(rs.next()){ + formmodeid = Util.getIntValue(Util.null2String(rs.getString("id"))); + } + + String syndate = Util.null2String(dataMap.get("syndate")); + String reqmessage = Util.null2String(dataMap.get("reqmessage")); + String errmessage = Util.null2String(dataMap.get("errmessage")); + String systable = Util.null2String(dataMap.get("systable")); + + int bool = 0; + sql =" insert into "+uftable+"(uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,syndate,reqmessage,errmessage,systable)" + + " values(?,?,?,?,?,?,?,?,?,?)" ; + boolean flag = rs.executeUpdate(sql,new Object[]{uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,syndate,reqmessage,errmessage,systable}); + bb.writeLog("sql;"+sql); + if(flag){ + bool++; + } + bb.writeLog("bool;"+bool); + if(bool>0) + { + String dataid = ""; + sql = " select * from "+uftable+" where uuid=? "; + bb.writeLog("sql:" + sql); + rs.executeQuery(sql,new Object[]{uuid}); + if (rs.next()) { + dataid = Util.null2String(rs.getString("id")); + } + bb.writeLog("sql:" + sql); + bb.writeLog("dataid:" + dataid); + bb.writeLog("modeid:" + formmodeid); + if (StringUtils.isNotEmpty(dataid)) + { + mode.setNewRight(true); + mode.editModeDataShare(Integer.valueOf(modedatacreater), formmodeid, Integer.parseInt(dataid)); + } + } + }catch (Exception e){ + bb.writeLog("e:"+e); + } + } + } diff --git a/src/weaver/interfaces/dito/mq/RocketmqUtil.java b/src/weaver/interfaces/dito/mq/RocketmqUtil.java index 1d91df12..c568f9e5 100644 --- a/src/weaver/interfaces/dito/mq/RocketmqUtil.java +++ b/src/weaver/interfaces/dito/mq/RocketmqUtil.java @@ -34,8 +34,8 @@ public class RocketmqUtil { { BaseBean bb = new BaseBean(); int errcount = 0; + lock.lock(); try{ - lock.lock(); JSONObject jsonObject = JSONObject.parseObject(data); if(jsonObject.containsKey("requestObject")) {