From 591c420fcfc20fd27dd8f8fb5b6f16fc4b267f96 Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Wed, 1 Feb 2023 14:39:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E7=B3=BB=E7=BB=9F=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AbnormalBillController.java | 18 + .../service/impl/AbnormalBillServiceImpl.java | 53 +-- .../service/impl/YunBpmServiceImpl.java | 16 +- .../common/controller/OperLogController.java | 111 +++++ .../mesnac/common/mapper/OperLogMapper.java | 18 + .../mesnac/common/model/OperLog.java | 199 +++++++++ .../mesnac/common/service/OperLogService.java | 30 ++ .../service/impl/OperLogServiceImpl.java | 51 +++ .../mesnac/common/util/StringUtil.java | 31 ++ .../main/resources/mapper/OperLogMapper.xml | 386 ++++++++++++++++++ 10 files changed, 877 insertions(+), 36 deletions(-) create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/controller/OperLogController.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/mapper/OperLogMapper.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/model/OperLog.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/service/OperLogService.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/service/impl/OperLogServiceImpl.java create mode 100644 common/src/main/resources/mapper/OperLogMapper.xml diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java index cb794976..798956dd 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java @@ -460,6 +460,9 @@ public class AbnormalBillController { try{ abnormalBill.setHandle(HandleEnum.ABNORMAL_BILL.getHandle(site,abnormalBill.getAbnormalNo())); abnormalBill.setItemBo(null); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统方案确认回调接口,单号:" + abnormalBill.getAbnormalNo(),"bpmPlanConfirm", + abnormalBill.toString() + abnormalBillDispose.toString(),null,null); abnormalBillService.programConfirm(abnormalBill,abnormalBillDispose); return new ResultVo(ResultCode.SUCCESS,"BPM方案确认回传成功"); }catch(Exception e){ @@ -484,6 +487,9 @@ public class AbnormalBillController { com.foreverwin.modular.core.util.CommonMethods.setUser(abnormalBill.getResponseUser()); try{ AbnormalBill abnormalBillOld = abnormalBillService.getById(HandleEnum.ABNORMAL_BILL.getHandle(site,abnormalBill.getAbnormalNo())); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统响应处理回调接口,单号:" + abnormalBill.getAbnormalNo(),"bpmResProcessing", + abnormalBill.toString(),null,null); if ("N".equals(abnormalBillOld.getStatus())){ abnormalBillService.resProcessing(abnormalBillOld); }else { @@ -512,6 +518,9 @@ public class AbnormalBillController { } try{ AbnormalBill abnormalBillOld = abnormalBillService.getById(HandleEnum.ABNORMAL_BILL.getHandle(site,abnormalBill.getAbnormalNo())); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统判责提交回调接口,单号:" + abnormalBill.getAbnormalNo(),"bpmDutyConfirm", + abnormalBill.toString() + abnormalBillDispose.toString(),null,null); abnormalBillService.dutyConfirm(abnormalBillOld,abnormalBillDispose,ncCodesVO.getDutyCauseType(),ncCodesVO.getDutyType()); return new ResultVo(ResultCode.SUCCESS,"BPM判责提交成功"); }catch(Exception e){ @@ -542,6 +551,9 @@ public class AbnormalBillController { abnormalBills.get(0).setCancelSendUserGroup("BPM_CancelUserGroup"); abnormalBills.get(0).setCancelUser(abnormalBill.getCancelUser()); abnormalBills.get(0).setCancelDateTime(now); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统异常取消回调接口,单号:" + abnormalBill.getAbnormalNo(),"bpmCancelBrowse", + abnormalBill.toString(),null,null); abnormalBillService.saveOrUpdate(abnormalBills.get(0)); return new ResultVo(ResultCode.SUCCESS,"BPM异常取消成功"); }catch(Exception e){ @@ -565,6 +577,9 @@ public class AbnormalBillController { return new ResultVo(ResultCode.FAILED,"BPM异常修改:异常单号为空"); } try{ + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统异常修改回调接口,单号:" + abnormalBill.getAbnormalNo(),"bpmAbnormalModify", + abnormalBill.toString(),null,null); LocalDateTime now = LocalDateTime.now(); AbnormalBill bill = new AbnormalBill(); bill.setAbnormalNo(abnormalBill.getAbnormalNo()); @@ -613,6 +628,9 @@ public class AbnormalBillController { }else if (StringUtils.isBlank(abnormalBill.getAbnormalNo())){ return new ResultVo(ResultCode.FAILED,"异常单号为空"); } + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统闭环关闭回调接口,单号:" + abnormalBill.getAbnormalNo(),"bpmCorrectivePreventive", + isClose + abnormalBill.toString() + abnormalBillDispose.toString(),null,null); try{ AbnormalBill aBill = new AbnormalBill(); aBill.setAbnormalNo(abnormalBill.getAbnormalNo()); diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java index d3dd4dad..0fefaa60 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java @@ -303,39 +303,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl productCategoryList = dataFieldListService.findDataFieldListById(dataField); - for (int i = 0; i < productCategoryList.size(); i++) { - String dataValue = JSONArray.toJSONString(productCategoryList.get(i)); - HashMap fieldMap = JSON.parseObject(dataValue, HashMap.class); - if (fieldMap.get("dataValue").equals(abnormalBill.getProductCategory())){ - // abnormalBill.setProductCategory(fieldMap.get("description")); - } - }*/ - List NcCodeGroupList = (List)abnormalBill.getNcCodeDesc().stream().map((e) -> { - return e.split("/")[0]; - }).collect(Collectors.toList()); - abnormalBill.setPbUser(CommonMethods.getUser()); - YunBpmApiRes bpmApiRes = yunBpmService.saveQualitySystem(abnormalBill, abnormalBillDispose, - String.join(";", NcCodeGroupList), String.join(";", abnormalBill.getNcCodeDesc())); - if (!bpmApiRes.getErrCode().equals(0)) { - throw new BaseException("MES提报给质量BPM系统失败"); - } - String workflowInstanceId = JSON.parseObject(String.valueOf(bpmApiRes.getData())).getString("workflowInstanceId"); - abnormalBill.setBpmFlowId(workflowInstanceId); - //abnormalBill.setProductCategory(productCategory); - //abnormalBill.setStatus(Constants.RESPONSE); - //abnormalBill.setResponseUser(CommonMethods.getUser()); - //abnormalBill.setResponseDateTime(now); - } ArrayList abnormalNcCodes = new ArrayList<>(); @@ -374,10 +341,28 @@ public class AbnormalBillServiceImpl extends ServiceImpl NcCodeGroupList = (List)abnormalBill.getNcCodeDesc().stream().map((e) -> { + return e.split("/")[0]; + }).collect(Collectors.toList()); + YunBpmApiRes bpmApiRes = yunBpmService.saveQualitySystem(abnormalBill, abnormalBillDispose, + String.join(";", NcCodeGroupList), String.join(";", abnormalBill.getNcCodeDesc())); + /*if (!bpmApiRes.getErrCode().equals(0)) { + throw new BaseException("MES提报给质量BPM系统失败"); + }*/ + } this.saveOrUpdate(abnormalBill); - abnormalBillDisposeService.saveOrUpdate(abnormalBillDispose); //发送消息 if(Constants.NEW.equals(abnormalBill.getStatus()) && abnormalBill.getBpmSubmit().equals("提报用户组弃用")){ diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/YunBpmServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/YunBpmServiceImpl.java index 745a4afa..50978d9e 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/YunBpmServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/YunBpmServiceImpl.java @@ -12,6 +12,7 @@ import com.foreverwin.mesnac.anomaly.service.YunBpmService; import com.foreverwin.mesnac.anomaly.utils.*; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.util.DateUtil; +import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.meapi.util.StringUtils; import com.foreverwin.modular.core.exception.BaseException; import org.apache.http.Consts; @@ -110,6 +111,9 @@ public class YunBpmServiceImpl implements YunBpmService { try { result = saveForm(qualitySystem, auth.getUser_id(), yunBpmConfig.deptId, yunBpmConfig.workCode, yunBpmConfig.workCode, (String)tokenRes.getData(), auth.getAccess_token()); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统暂存接口,单号:" + abnormalBill.getAbnormalNo(),"saveForm", + qualitySystem.toString(),result.toString(),null); String workflowInstanceId = JSON.parseObject(String.valueOf(result.getData())).getString("workflowInstanceId"); abnormalBill.setBpmFlowId(workflowInstanceId); //mes->bpm 提交 @@ -120,9 +124,12 @@ public class YunBpmServiceImpl implements YunBpmService { JSONObject jsonData = jsonObject.getJSONObject("data"); String workItemId = jsonData.getString("workItemId"); String workflowFormId = jsonData.getJSONObject("bizObject").getJSONObject("data").getString("id"); - Thread.currentThread().sleep(2000); result = defaultSubmitForm(yunBpmConfig.workCode, yunBpmConfig.workCode,workflowFormId, abnormalBill.getBpmFlowId(), workItemId,(String)tokenRes.getData(), auth.getAccess_token()); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统提交接口,单号:" + abnormalBill.getAbnormalNo(),"defaultSubmitForm", + "workflowFormId:" + workflowFormId + ",bpmFlowId:" + abnormalBill.getBpmFlowId() + + ",workItemId:" + workItemId,result.toString(),null); } catch (Exception e) { logger.error("bpm表单返回错误结果:" + e.toString(),result); } @@ -139,16 +146,21 @@ public class YunBpmServiceImpl implements YunBpmService { result = updateForm(qualitySystem, yunBpmConfig.workCode, yunBpmConfig.workCode, workflowFormId, abnormalBill.getBpmFlowId(), workItemId, (String) tokenRes.getData(), auth.getAccess_token()); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统保存接口,单号:" + qualitySystem.toString(),"updateForm", + qualitySystem.toString(),result.toString(),null); }else { //闭关关闭 JSONObject jsonObj = new JSONObject(); jsonObj.put("abnormalbill_reason",abnormalBillDispose.getAbnormalReason()); jsonObj.put("preventive_measure",abnormalBillDispose.getBeforeMeasure()); jsonObj.put("mes_status",0); - System.out.println(jsonObj); result = updateForm(jsonObj, yunBpmConfig.workCode, yunBpmConfig.workCode, workflowFormId, abnormalBill.getBpmFlowId(), workItemId, (String) tokenRes.getData(), auth.getAccess_token()); + //保存操作日志 + StringUtil.saveOperLog("BPM质量系统关闭接口,单号:" + qualitySystem.toString(),"updateFormDown", + qualitySystem.toString(),result.toString(),null); } } logger.info("bpm表单返回结果:" + result.toString()); diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/OperLogController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/OperLogController.java new file mode 100644 index 00000000..daf19179 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/OperLogController.java @@ -0,0 +1,111 @@ +package com.foreverwin.mesnac.common.controller; + +import com.foreverwin.mesnac.common.model.OperLog; +import com.foreverwin.modular.core.util.R; +import com.foreverwin.modular.core.util.FrontPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import com.foreverwin.mesnac.common.service.OperLogService; +import java.util.List; + +/** + * + * @author YinQ + * @since 2023-02-01 + */ +@RestController +@RequestMapping("/Z-OPER-LOG") +public class OperLogController { + + @Autowired + public OperLogService operLogService; + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getOperLogById(@PathVariable String id) { + return R.ok( operLogService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getOperLogList(OperLog operLog){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(operLog); + result = operLogService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, OperLog operLog){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(operLog); + result = operLogService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param operLog 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody OperLog operLog) { + return R.ok(operLogService.save(operLog)); + } + + /** + * 修改 + * @param operLog 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody OperLog operLog) { + return R.ok(operLogService.updateById(operLog)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(operLogService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(operLogService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/mapper/OperLogMapper.java b/common/src/main/java/com/foreverwin/mesnac/common/mapper/OperLogMapper.java new file mode 100644 index 00000000..4af660a9 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/mapper/OperLogMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.common.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.foreverwin.mesnac.common.model.OperLog; +import org.springframework.stereotype.Repository; + +/** + *

+ * 操作日志记录 Mapper 接口 + *

+ * + * @author YinQ + * @since 2023-02-01 + */ +@Repository +public interface OperLogMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/model/OperLog.java b/common/src/main/java/com/foreverwin/mesnac/common/model/OperLog.java new file mode 100644 index 00000000..d1241cde --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/model/OperLog.java @@ -0,0 +1,199 @@ +package com.foreverwin.mesnac.common.model; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; + +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.TableField; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.foreverwin.mesnac.common.model.ExcelColumn; + +/** + *

+ * 操作日志记录 + *

+ * + * @author YinQ + * @since 2023-02-01 + */ + +@TableName("Z_OPER_LOG") +public class OperLog extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelColumn(value = "主键") + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + /** + * 场地 + */ + @ExcelColumn(value = "场地") + @TableField("SITE") + private String site; + /** + * 业务标题 + */ + @ExcelColumn(value = "业务标题") + @TableField("TITLE") + private String title; + /** + * 方法名称 + */ + @ExcelColumn(value = "方法名称") + @TableField("METHOD") + private String method; + /** + * 请求参数 + */ + @ExcelColumn(value = "请求参数") + @TableField("OPER_PARAM") + private String operParam; + /** + * 返回参数 + */ + @ExcelColumn(value = "返回参数") + @TableField("RESULT") + private String result; + /** + * 错误消息 + */ + @ExcelColumn(value = "错误消息") + @TableField("ERROR_MSG") + private String errorMsg; + /** + * 操作人 + */ + @ExcelColumn(value = "操作人") + @TableField("OPER_USER") + private String operUser; + /** + * 操作时间 + */ + @ExcelColumn(value = "操作时间") + @TableField("OPER_TIME") + private LocalDateTime operTime; + + + public String getHandle() { + return handle; + } + + public void setHandle(String handle) { + this.handle = handle; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getOperParam() { + return operParam; + } + + public void setOperParam(String operParam) { + this.operParam = operParam; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getErrorMsg() { + return errorMsg; + } + + public void setErrorMsg(String errorMsg) { + this.errorMsg = errorMsg; + } + + public String getOperUser() { + return operUser; + } + + public void setOperUser(String operUser) { + this.operUser = operUser; + } + + public LocalDateTime getOperTime() { + return operTime; + } + + public void setOperTime(LocalDateTime operTime) { + this.operTime = operTime; + } + + public static final String HANDLE = "HANDLE"; + + public static final String SITE = "SITE"; + + public static final String TITLE = "TITLE"; + + public static final String METHOD = "METHOD"; + + public static final String OPER_PARAM = "OPER_PARAM"; + + public static final String RESULT = "RESULT"; + + public static final String ERROR_MSG = "ERROR_MSG"; + + public static final String OPER_USER = "OPER_USER"; + + public static final String OPER_TIME = "OPER_TIME"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "OperLog{" + + "handle = " + handle + + ", site = " + site + + ", title = " + title + + ", method = " + method + + ", operParam = " + operParam + + ", result = " + result + + ", errorMsg = " + errorMsg + + ", operUser = " + operUser + + ", operTime = " + operTime + + "}"; + } + +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/OperLogService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/OperLogService.java new file mode 100644 index 00000000..7af3535d --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/OperLogService.java @@ -0,0 +1,30 @@ +package com.foreverwin.mesnac.common.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.mesnac.common.model.OperLog; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 操作日志记录 服务类 + *

+ * + * @author YinQ + * @since 2023-02-01 + */ +public interface OperLogService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, OperLog operLog); + + List selectList(OperLog operLog); + + void logSave(OperLog operLog); +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/OperLogServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/OperLogServiceImpl.java new file mode 100644 index 00000000..ca9b1754 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/OperLogServiceImpl.java @@ -0,0 +1,51 @@ +package com.foreverwin.mesnac.common.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.common.mapper.OperLogMapper; +import com.foreverwin.mesnac.common.model.OperLog; +import com.foreverwin.mesnac.common.service.OperLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.foreverwin.modular.core.util.FrontPage; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + *

+ * 操作日志记录 服务实现类 + *

+ * + * @author YinQ + * @since 2023-02-01 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class OperLogServiceImpl extends ServiceImpl implements OperLogService { + + + @Autowired + private OperLogMapper operLogMapper; + + @Override + public IPage selectPage(FrontPage frontPage, OperLog operLog) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(operLog); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(OperLog operLog) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(operLog); + return super.list(queryWrapper); + } + + @Override + public void logSave(OperLog operLog) { + operLogMapper.insert(operLog); + } + + +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/util/StringUtil.java b/common/src/main/java/com/foreverwin/mesnac/common/util/StringUtil.java index c58f3047..d56a3502 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/util/StringUtil.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/util/StringUtil.java @@ -1,5 +1,11 @@ package com.foreverwin.mesnac.common.util; +import com.foreverwin.mesnac.common.model.OperLog; +import com.foreverwin.mesnac.common.service.OperLogService; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.SpringUtil; + +import java.time.LocalDateTime; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -504,6 +510,31 @@ public class StringUtil return str; } + /** + * 保存操作日志 + * @param title + * @param method + * @param operParam + * @param result + * @param errorMsg + * @return + */ + public static OperLog saveOperLog(String title, String method, String operParam, String result, String errorMsg) + { + OperLog operLog = new OperLog(); + operLog.setHandle(StringUtil.createQUID()); + operLog.setSite(CommonMethods.getSite()); + operLog.setTitle(title); + operLog.setMethod(method); + operLog.setOperParam(operParam); + operLog.setResult(result); + operLog.setErrorMsg(errorMsg); + operLog.setOperUser(CommonMethods.getUser()); + operLog.setOperTime(LocalDateTime.now()); + SpringUtil.getBean(OperLogService.class).logSave(operLog);; + return operLog; + } + public static void main(String[] args) { System.out.println(StringUtil.createQUID()); diff --git a/common/src/main/resources/mapper/OperLogMapper.xml b/common/src/main/resources/mapper/OperLogMapper.xml new file mode 100644 index 00000000..7f8433e3 --- /dev/null +++ b/common/src/main/resources/mapper/OperLogMapper.xml @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, TITLE, METHOD, OPER_PARAM, RESULT, ERROR_MSG, OPER_USER, OPER_TIME + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_OPER_LOG + + HANDLE, + SITE, + TITLE, + METHOD, + OPER_PARAM, + RESULT, + ERROR_MSG, + OPER_USER, + OPER_TIME, + VALUES + + #{handle}, + #{site}, + #{title}, + #{method}, + #{operParam}, + #{result}, + #{errorMsg}, + #{operUser}, + #{operTime}, + + + + + INSERT INTO Z_OPER_LOG + + + VALUES + + #{handle}, + #{site}, + #{title}, + #{method}, + #{operParam}, + #{result}, + #{errorMsg}, + #{operUser}, + #{operTime}, + + + + + + UPDATE Z_OPER_LOG + SITE=#{et.site}, + TITLE=#{et.title}, + METHOD=#{et.method}, + OPER_PARAM=#{et.operParam}, + RESULT=#{et.result}, + ERROR_MSG=#{et.errorMsg}, + OPER_USER=#{et.operUser}, + OPER_TIME=#{et.operTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_OPER_LOG + SITE=#{et.site}, + TITLE=#{et.title}, + METHOD=#{et.method}, + OPER_PARAM=#{et.operParam}, + RESULT=#{et.result}, + ERROR_MSG=#{et.errorMsg}, + OPER_USER=#{et.operUser}, + OPER_TIME=#{et.operTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_OPER_LOG + SITE=#{et.site}, + TITLE=#{et.title}, + METHOD=#{et.method}, + OPER_PARAM=#{et.operParam}, + RESULT=#{et.result}, + ERROR_MSG=#{et.errorMsg}, + OPER_USER=#{et.operUser}, + OPER_TIME=#{et.operTime}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND TITLE=#{ew.entity.title} + AND METHOD=#{ew.entity.method} + AND OPER_PARAM=#{ew.entity.operParam} + AND RESULT=#{ew.entity.result} + AND ERROR_MSG=#{ew.entity.errorMsg} + AND OPER_USER=#{ew.entity.operUser} + AND OPER_TIME=#{ew.entity.operTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_OPER_LOG WHERE HANDLE=#{handle} + + + + DELETE FROM Z_OPER_LOG + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_OPER_LOG + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND TITLE=#{ew.entity.title} + AND METHOD=#{ew.entity.method} + AND OPER_PARAM=#{ew.entity.operParam} + AND RESULT=#{ew.entity.result} + AND ERROR_MSG=#{ew.entity.errorMsg} + AND OPER_USER=#{ew.entity.operUser} + AND OPER_TIME=#{ew.entity.operTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_OPER_LOG WHERE HANDLE IN ( + #{item} + ) + + + +