diff --git a/aucma-admin/src/main/java/com/aucma/web/controller/system/SysPortLogController.java b/aucma-admin/src/main/java/com/aucma/web/controller/system/SysPortLogController.java new file mode 100644 index 0000000..0322ba1 --- /dev/null +++ b/aucma-admin/src/main/java/com/aucma/web/controller/system/SysPortLogController.java @@ -0,0 +1,98 @@ +package com.aucma.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.aucma.common.annotation.Log; +import com.aucma.common.core.controller.BaseController; +import com.aucma.common.core.domain.AjaxResult; +import com.aucma.common.enums.BusinessType; +import com.aucma.system.domain.SysPortLog; +import com.aucma.system.service.ISysPortLogService; +import com.aucma.common.utils.poi.ExcelUtil; +import com.aucma.common.core.page.TableDataInfo; + +/** + * MES接口日志Controller + * + * @author Yinq + * @date 2023-09-20 + */ +@RestController +@RequestMapping("/system/portLog" ) +public class SysPortLogController extends BaseController { + @Autowired + private ISysPortLogService sysPortLogService; + + /** + * 查询MES接口日志列表 + */ + @PreAuthorize("@ss.hasPermi('system:portLog:list')" ) + @GetMapping("/list" ) + public TableDataInfo list(SysPortLog sysPortLog) { + startPage(); + List list = sysPortLogService.selectSysPortLogList(sysPortLog); + return getDataTable(list); + } + + /** + * 导出MES接口日志列表 + */ + @PreAuthorize("@ss.hasPermi('system:portLog:export')" ) + @Log(title = "MES接口日志" , businessType = BusinessType.EXPORT) + @PostMapping("/export" ) + public void export(HttpServletResponse response, SysPortLog sysPortLog) { + List list = sysPortLogService.selectSysPortLogList(sysPortLog); + ExcelUtil util = new ExcelUtil(SysPortLog. class); + util.exportExcel(response, list, "MES接口日志数据" ); + } + + /** + * 获取MES接口日志详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:portLog:query')" ) + @GetMapping(value = "/{objId}" ) + public AjaxResult getInfo(@PathVariable("objId") Long objId) { + return success(sysPortLogService.selectSysPortLogByObjId(objId)); + } + + /** + * 新增MES接口日志 + */ + @PreAuthorize("@ss.hasPermi('system:portLog:add')" ) + @Log(title = "MES接口日志" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysPortLog sysPortLog) { + return toAjax(sysPortLogService.insertSysPortLog(sysPortLog)); + } + + /** + * 修改MES接口日志 + */ + @PreAuthorize("@ss.hasPermi('system:portLog:edit')" ) + @Log(title = "MES接口日志" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysPortLog sysPortLog) { + return toAjax(sysPortLogService.updateSysPortLog(sysPortLog)); + } + + /** + * 删除MES接口日志 + */ + @PreAuthorize("@ss.hasPermi('system:portLog:remove')" ) + @Log(title = "MES接口日志" , businessType = BusinessType.DELETE) + @DeleteMapping("/{objIds}" ) + public AjaxResult remove(@PathVariable Long[] objIds) { + return toAjax(sysPortLogService.deleteSysPortLogByObjIds(objIds)); + } +} diff --git a/aucma-system/src/main/java/com/aucma/system/domain/SysPortLog.java b/aucma-system/src/main/java/com/aucma/system/domain/SysPortLog.java new file mode 100644 index 0000000..3c7fdbc --- /dev/null +++ b/aucma-system/src/main/java/com/aucma/system/domain/SysPortLog.java @@ -0,0 +1,180 @@ +package com.aucma.system.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.aucma.common.annotation.Excel; +import com.aucma.common.core.domain.BaseEntity; + +/** + * MES接口日志对象 sys_port_log + * + * @author Yinq + * @date 2023-09-20 + */ +public class SysPortLog extends BaseEntity + { +private static final long serialVersionUID=1L; + + /** 主键标识 */ + private Long objId; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 接口标题 */ + @Excel(name = "接口标题") + private String logTitle; + + /** 方法名称 */ + @Excel(name = "方法名称") + private String logMethod; + + /** 请求参数 */ + @Excel(name = "请求参数") + private String operationParam; + + /** 返回消息一 */ + @Excel(name = "返回消息一") + private String resultOne; + + /** 返回消息二 */ + @Excel(name = "返回消息二") + private String resultTwo; + + /** 返回消息三 */ + @Excel(name = "返回消息三") + private String resultThree; + + /** 错误消息 */ + @Excel(name = "错误消息") + private String errorMsg; + + /** 操作人 */ + @Excel(name = "操作人") + private String operationUser; + + /** 操作时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date operationTime; + + public void setObjId(Long objId) + { + this.objId = objId; + } + + public Long getObjId() + { + return objId; + } + public void setFactoryCode(String factoryCode) + { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() + { + return factoryCode; + } + public void setLogTitle(String logTitle) + { + this.logTitle = logTitle; + } + + public String getLogTitle() + { + return logTitle; + } + public void setLogMethod(String logMethod) + { + this.logMethod = logMethod; + } + + public String getLogMethod() + { + return logMethod; + } + public void setOperationParam(String operationParam) + { + this.operationParam = operationParam; + } + + public String getOperationParam() + { + return operationParam; + } + public void setResultOne(String resultOne) + { + this.resultOne = resultOne; + } + + public String getResultOne() + { + return resultOne; + } + public void setResultTwo(String resultTwo) + { + this.resultTwo = resultTwo; + } + + public String getResultTwo() + { + return resultTwo; + } + public void setResultThree(String resultThree) + { + this.resultThree = resultThree; + } + + public String getResultThree() + { + return resultThree; + } + public void setErrorMsg(String errorMsg) + { + this.errorMsg = errorMsg; + } + + public String getErrorMsg() + { + return errorMsg; + } + public void setOperationUser(String operationUser) + { + this.operationUser = operationUser; + } + + public String getOperationUser() + { + return operationUser; + } + public void setOperationTime(Date operationTime) + { + this.operationTime = operationTime; + } + + public Date getOperationTime() + { + return operationTime; + } + +@Override +public String toString(){ + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("objId",getObjId()) + .append("factoryCode",getFactoryCode()) + .append("logTitle",getLogTitle()) + .append("logMethod",getLogMethod()) + .append("operationParam",getOperationParam()) + .append("resultOne",getResultOne()) + .append("resultTwo",getResultTwo()) + .append("resultThree",getResultThree()) + .append("errorMsg",getErrorMsg()) + .append("operationUser",getOperationUser()) + .append("operationTime",getOperationTime()) + .toString(); + } + } diff --git a/aucma-system/src/main/java/com/aucma/system/mapper/SysPortLogMapper.java b/aucma-system/src/main/java/com/aucma/system/mapper/SysPortLogMapper.java new file mode 100644 index 0000000..b7e0899 --- /dev/null +++ b/aucma-system/src/main/java/com/aucma/system/mapper/SysPortLogMapper.java @@ -0,0 +1,61 @@ +package com.aucma.system.mapper; + +import java.util.List; +import com.aucma.system.domain.SysPortLog; + +/** + * MES接口日志Mapper接口 + * + * @author Yinq + * @date 2023-09-20 + */ +public interface SysPortLogMapper +{ + /** + * 查询MES接口日志 + * + * @param objId MES接口日志主键 + * @return MES接口日志 + */ + public SysPortLog selectSysPortLogByObjId(Long objId); + + /** + * 查询MES接口日志列表 + * + * @param sysPortLog MES接口日志 + * @return MES接口日志集合 + */ + public List selectSysPortLogList(SysPortLog sysPortLog); + + /** + * 新增MES接口日志 + * + * @param sysPortLog MES接口日志 + * @return 结果 + */ + public int insertSysPortLog(SysPortLog sysPortLog); + + /** + * 修改MES接口日志 + * + * @param sysPortLog MES接口日志 + * @return 结果 + */ + public int updateSysPortLog(SysPortLog sysPortLog); + + /** + * 删除MES接口日志 + * + * @param objId MES接口日志主键 + * @return 结果 + */ + public int deleteSysPortLogByObjId(Long objId); + + /** + * 批量删除MES接口日志 + * + * @param objIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSysPortLogByObjIds(Long[] objIds); +} diff --git a/aucma-system/src/main/java/com/aucma/system/service/ISysPortLogService.java b/aucma-system/src/main/java/com/aucma/system/service/ISysPortLogService.java new file mode 100644 index 0000000..bfc2e17 --- /dev/null +++ b/aucma-system/src/main/java/com/aucma/system/service/ISysPortLogService.java @@ -0,0 +1,61 @@ +package com.aucma.system.service; + +import java.util.List; +import com.aucma.system.domain.SysPortLog; + +/** + * MES接口日志Service接口 + * + * @author Yinq + * @date 2023-09-20 + */ +public interface ISysPortLogService +{ + /** + * 查询MES接口日志 + * + * @param objId MES接口日志主键 + * @return MES接口日志 + */ + public SysPortLog selectSysPortLogByObjId(Long objId); + + /** + * 查询MES接口日志列表 + * + * @param sysPortLog MES接口日志 + * @return MES接口日志集合 + */ + public List selectSysPortLogList(SysPortLog sysPortLog); + + /** + * 新增MES接口日志 + * + * @param sysPortLog MES接口日志 + * @return 结果 + */ + public int insertSysPortLog(SysPortLog sysPortLog); + + /** + * 修改MES接口日志 + * + * @param sysPortLog MES接口日志 + * @return 结果 + */ + public int updateSysPortLog(SysPortLog sysPortLog); + + /** + * 批量删除MES接口日志 + * + * @param objIds 需要删除的MES接口日志主键集合 + * @return 结果 + */ + public int deleteSysPortLogByObjIds(Long[] objIds); + + /** + * 删除MES接口日志信息 + * + * @param objId MES接口日志主键 + * @return 结果 + */ + public int deleteSysPortLogByObjId(Long objId); +} diff --git a/aucma-system/src/main/java/com/aucma/system/service/impl/SysPortLogServiceImpl.java b/aucma-system/src/main/java/com/aucma/system/service/impl/SysPortLogServiceImpl.java new file mode 100644 index 0000000..a009f2f --- /dev/null +++ b/aucma-system/src/main/java/com/aucma/system/service/impl/SysPortLogServiceImpl.java @@ -0,0 +1,99 @@ +package com.aucma.system.service.impl; + +import java.util.List; + +import com.aucma.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.aucma.system.mapper.SysPortLogMapper; +import com.aucma.system.domain.SysPortLog; +import com.aucma.system.service.ISysPortLogService; + +import static com.aucma.common.utils.SecurityUtils.getUsername; + +/** + * MES接口日志Service业务层处理 + * + * @author Yinq + * @date 2023-09-20 + */ +@Service +public class SysPortLogServiceImpl implements ISysPortLogService +{ + @Autowired + private SysPortLogMapper sysPortLogMapper; + + /** + * 查询MES接口日志 + * + * @param objId MES接口日志主键 + * @return MES接口日志 + */ + @Override + public SysPortLog selectSysPortLogByObjId(Long objId) + { + return sysPortLogMapper.selectSysPortLogByObjId(objId); + } + + /** + * 查询MES接口日志列表 + * + * @param sysPortLog MES接口日志 + * @return MES接口日志 + */ + @Override + public List selectSysPortLogList(SysPortLog sysPortLog) + { + return sysPortLogMapper.selectSysPortLogList(sysPortLog); + } + + /** + * 新增MES接口日志 + * + * @param sysPortLog MES接口日志 + * @return 结果 + */ + @Override + public int insertSysPortLog(SysPortLog sysPortLog) + { + sysPortLog.setOperationUser(getUsername()); + sysPortLog.setOperationTime(DateUtils.getNowDate()); + return sysPortLogMapper.insertSysPortLog(sysPortLog); + } + + /** + * 修改MES接口日志 + * + * @param sysPortLog MES接口日志 + * @return 结果 + */ + @Override + public int updateSysPortLog(SysPortLog sysPortLog) + { + return sysPortLogMapper.updateSysPortLog(sysPortLog); + } + + /** + * 批量删除MES接口日志 + * + * @param objIds 需要删除的MES接口日志主键 + * @return 结果 + */ + @Override + public int deleteSysPortLogByObjIds(Long[] objIds) + { + return sysPortLogMapper.deleteSysPortLogByObjIds(objIds); + } + + /** + * 删除MES接口日志信息 + * + * @param objId MES接口日志主键 + * @return 结果 + */ + @Override + public int deleteSysPortLogByObjId(Long objId) + { + return sysPortLogMapper.deleteSysPortLogByObjId(objId); + } +} diff --git a/aucma-system/src/main/java/com/aucma/system/utils/PortLogUtils.java b/aucma-system/src/main/java/com/aucma/system/utils/PortLogUtils.java new file mode 100644 index 0000000..c8c4305 --- /dev/null +++ b/aucma-system/src/main/java/com/aucma/system/utils/PortLogUtils.java @@ -0,0 +1,51 @@ +package com.aucma.system.utils; + +import com.aucma.common.utils.spring.SpringUtils; +import com.aucma.system.domain.SysPortLog; +import com.aucma.system.service.ISysPortLogService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.TimerTask; + +/** + * 处理并记录日志文件 + * + * @author ruoyi + */ +public class PortLogUtils +{ + private static final Logger logger = LoggerFactory.getLogger(PortLogUtils.class); + + /** + * 保存接口日志 + * @param factoryCode 工厂编码 + * @param logTitle 接口标题 + * @param logMethod 方法名称 + * @param operationParam 请求参数 + * @param resultOne 返回消息 + * @param errorMsg 错误消息 + */ + public static void savePortLog(String factoryCode, String logTitle, String logMethod, String operationParam, String resultOne , String errorMsg) + { + try { + TimerTask timerTask = new TimerTask() { + @Override + public void run() { + SysPortLog sysPortLog = new SysPortLog(); + sysPortLog.setFactoryCode(factoryCode); + sysPortLog.setLogTitle(logTitle); + sysPortLog.setLogMethod(logMethod); + sysPortLog.setOperationParam(operationParam); + sysPortLog.setResultOne(resultOne); + sysPortLog.setErrorMsg(errorMsg); + SpringUtils.getBean(ISysPortLogService.class).insertSysPortLog(sysPortLog); + } + }; + timerTask.run(); + } catch (Exception e) { + logger.error("保存MES接口日志错误:" + e.getMessage()); + } + } + +} diff --git a/aucma-system/src/main/resources/mapper/system/SysPortLogMapper.xml b/aucma-system/src/main/resources/mapper/system/SysPortLogMapper.xml new file mode 100644 index 0000000..f78825e --- /dev/null +++ b/aucma-system/src/main/resources/mapper/system/SysPortLogMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + select obj_id, factory_code, log_title, log_method, operation_param, + result_one, result_two, result_three, error_msg, operation_user, operation_time from sys_port_log + + + + + + + + + SELECT seq_sys_port_log.NEXTVAL as objId FROM DUAL + + insert into sys_port_log + + obj_id, + factory_code, + log_title, + log_method, + operation_param, + result_one, + result_two, + result_three, + error_msg, + operation_user, + operation_time, + + + #{objId}, + #{factoryCode}, + #{logTitle}, + #{logMethod}, + #{operationParam}, + #{resultOne}, + #{resultTwo}, + #{resultThree}, + #{errorMsg}, + #{operationUser}, + #{operationTime}, + + + + + update sys_port_log + + factory_code = #{factoryCode}, + log_title = #{logTitle}, + log_method = #{logMethod}, + operation_param = #{operationParam}, + result_one = #{resultOne}, + result_two = #{resultTwo}, + result_three = #{resultThree}, + error_msg = #{errorMsg}, + operation_user = #{operationUser}, + operation_time = #{operationTime}, + + where obj_id = #{objId} + + + + delete from sys_port_log where obj_id = #{objId} + + + + delete from sys_port_log where obj_id in + + #{objId} + + + \ No newline at end of file