JiangPengLi преди 3 месеца
родител
ревизия
31c2ff814a

+ 19 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/LogOperateMapper.java

@@ -0,0 +1,19 @@
+package com.rtrh.projects.modules.projects.mapper;
+
+import com.rtrh.core.repository.mybatis.MyBatisRepository;
+import com.rtrh.projects.modules.projects.po.LogOperate;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 操作日志表 Mapper 接口
+ * </p>
+ *
+ * @author jiangpengli
+ * @since 2025-01-06
+ */
+@MyBatisRepository
+public interface LogOperateMapper {
+
+    void save(@Param("log") LogOperate logOperate);
+}

+ 23 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/LogOperateMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rtrh.projects.modules.projects.mapper.LogOperateMapper">
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, userid, username, menu, button, title, kind, sub_id, status_first, status_after, zh_date, remark, create_user_id, create_user_name, create_time, logic_delete_flag
+    </sql>
+    <insert id="save">
+        insert into t_log_operate
+            (create_time,create_user_id,create_user_name,status_after,status_first,kind,sub_id,zh_date,logic_delete_flag)
+            values (now(),
+                   #{log.createUserId},
+                   #{log.createUserName},
+                   #{log.statusAfter},
+                   #{log.statusFirst},
+                   #{log.kind},
+                   #{log.subId},
+                   now(),
+                    0
+                    )
+    </insert>
+
+</mapper>

+ 54 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/po/LogOperate.java

@@ -0,0 +1,54 @@
+package com.rtrh.projects.modules.projects.po;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 操作日志表
+ * </p>
+ *
+ * @author jiangpengli
+ * @since 2025-01-06
+ */
+@Data
+public class LogOperate implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String userid;
+
+    private String username;
+
+    private String menu;
+
+    private String button;
+
+    private String title;
+
+    private String kind;
+
+    private String subId;
+
+    private String statusFirst;
+
+    private String statusAfter;
+
+    private Date zhDate;
+
+    private String remark;
+
+    private String createUserId;
+
+    private String createUserName;
+
+    private Date createTime;
+
+    private Integer logicDeleteFlag;
+
+
+}

+ 16 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/ILogOperateService.java

@@ -0,0 +1,16 @@
+package com.rtrh.projects.modules.projects.service;
+
+import com.rtrh.projects.modules.projects.po.LogOperate;
+
+/**
+ * <p>
+ * 操作日志表 服务类
+ * </p>
+ *
+ * @author jiangpengli
+ * @since 2025-01-06
+ */
+public interface ILogOperateService {
+
+    void save(LogOperate logOperate);
+}

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubInfoService.java

@@ -400,7 +400,7 @@ public interface SubInfoService {
 
 	SubInfoGxj findById(String subId);
 
-	boolean moveDb(MoveDbParamVo vo);
+	boolean moveDb(MoveDbParamVo vo,LoginUserVO userVO);
 
 	void subInfoToSubFix(SubInfoToSubFixVo subInfoToSubFixVo,String userId);
 

+ 27 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/LogOperateServiceImpl.java

@@ -0,0 +1,27 @@
+package com.rtrh.projects.modules.projects.service.impl;
+
+import com.rtrh.projects.modules.projects.mapper.LogOperateMapper;
+import com.rtrh.projects.modules.projects.po.LogOperate;
+import com.rtrh.projects.modules.projects.service.ILogOperateService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 操作日志表 服务实现类
+ * </p>
+ *
+ * @author jiangpengli
+ * @since 2025-01-06
+ */
+@Service
+public class LogOperateServiceImpl implements ILogOperateService {
+    @Resource
+    private LogOperateMapper logOperateMapper;
+
+    @Override
+    public void save(LogOperate logOperate) {
+        logOperateMapper.save(logOperate);
+    }
+}

+ 13 - 14
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -168,6 +168,19 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
 
     @Override
     public List<SubInfoGxj> queryAll(LoginUserVO loginUser, SubInfoQueryTzVO queryVO) {
+        if (StringUtils.isBlank(queryVO.getAbc())) {
+            String abcs = queryVO.getAbcs();
+            queryVO.setAbc(abcs);
+        }
+        if (StringUtils.isNotBlank(queryVO.getStartAmt()))
+            queryVO.setStartAmt(new BigDecimal(queryVO.getStartAmt()).multiply(new BigDecimal("10000")).toString());
+        if (StringUtils.isNotBlank(queryVO.getEndAmt())) {
+            queryVO.setEndAmt(new BigDecimal(queryVO.getEndAmt()).multiply(new BigDecimal("10000")).toString());
+        }
+        if (StringUtils.isNotBlank(queryVO.getIndusKinds())) {
+            queryVO.setIndusKind(queryVO.getIndusKinds());
+        }
+
         queryVO.setMonth(DateUtil.thisYear() + "");
         List<SubInfoGxj> data = subInfoMapper.queryPage(queryVO);
         if (CollectionUtil.isEmpty(data)) {
@@ -247,20 +260,6 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
 
     @Override
     public Page queryPage(Page page, LoginUserVO loginUser, SubInfoQueryTzVO queryVO) {
-        if (StringUtils.isBlank(queryVO.getAbc())) {
-            String abcs = queryVO.getAbcs();
-            queryVO.setAbc(abcs);
-        }
-        if (StringUtils.isNotBlank(queryVO.getStartAmt()))
-            queryVO.setStartAmt(new BigDecimal(queryVO.getStartAmt()).multiply(new BigDecimal("10000")).toString());
-        if (StringUtils.isNotBlank(queryVO.getEndAmt())) {
-            queryVO.setEndAmt(new BigDecimal(queryVO.getEndAmt()).multiply(new BigDecimal("10000")).toString());
-        }
-        if (StringUtils.isNotBlank(queryVO.getIndusKinds())) {
-            queryVO.setIndusKind(queryVO.getIndusKinds());
-        }
-
-
         PageHelper.startPage(page.getPageNo(), page.getPageSize());
         List<SubInfoGxj> data = this.queryAll(loginUser, queryVO);
         data.forEach(e -> {

+ 26 - 13
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java

@@ -156,6 +156,9 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Autowired
     private SubInfoMapper subInfoMapper;
 
+    @Autowired
+    private ILogOperateService logOperateService;
+
     @Override
     public Page pageYqInfo(Page page, LoginUserVO vo, String projName, String startTime, String endTime, String overStatus, String year, String beginMonth, String endMonth, Boolean onlySub) {
         Page data = subInfoDao.pageYqInfo(page, vo, projName, startTime, endTime, overStatus, year, beginMonth, endMonth, onlySub, null, null, null, null, null);
@@ -5225,22 +5228,32 @@ public class SubInfoServiceImpl implements SubInfoService {
     }
 
     @Override
-    public boolean moveDb(MoveDbParamVo vo) {
+    public boolean moveDb(MoveDbParamVo vo,LoginUserVO userVO) {
         SubInfo subinfo = subInfoDao.findById(vo.getId());
         if (StringUtils.isNotBlank(subinfo.getStatus())){
-            if (Integer.parseInt(vo.getStatus()) > Integer.parseInt(subinfo.getStatus())){
-                Map<String,String> map = new HashMap<String,String>(){{
-                    put(SubInfoStatusEnum.XJ.getCode(),"xj_date");
-                    put(SubInfoStatusEnum.ZJ.getCode(),"zj_date");
-                    put(SubInfoStatusEnum.TC.getCode(),"tc_date");
-                }};
-                if (SubInfoStatusEnum.CB.getCode().equals(subinfo.getStatus())){
-                    String sql = String.format("update sub_info set status='%s',%s=now() where id='%s'", vo.getStatus(), map.get(vo.getStatus()), vo.getId());
-                    int i = subInfoDao.updateBySql(sql);
-                    return i > 0;
-                }
+            Map<String,String> map = new HashMap<String,String>(){{
+                put(SubInfoStatusEnum.XJ.getCode(),"xj_date");
+                put(SubInfoStatusEnum.ZJ.getCode(),"zj_date");
+                put(SubInfoStatusEnum.TC.getCode(),"tc_date");
+            }};
+            // todo 移库日志
+            LogOperate logOperate = new LogOperate();
+            logOperate.setCreateUserId(userVO.getId());
+            logOperate.setCreateUserName(userVO.getLoginName());
+            logOperate.setStatusAfter(vo.getStatus());
+            logOperate.setStatusFirst(subinfo.getStatus());
+            logOperate.setSubId(vo.getId());
+            logOperate.setKind(Integer.parseInt(vo.getStatus()) > Integer.parseInt(subinfo.getStatus()) ? "1" : "0");
+            logOperateService.save(logOperate);
+            if (!SubInfoStatusEnum.CB.getCode().equals(vo.getStatus())){
+                String sql = String.format("update sub_info set status='%s',%s=now() where id='%s'", vo.getStatus(), map.get(vo.getStatus()), vo.getId());
+                int i = subInfoDao.updateBySql(sql);
+                return i > 0;
             }else {
-                return false;
+                // 移入储备库
+                String sql = String.format("update sub_info set status='%s' where id='%s'", vo.getStatus(),vo.getId());
+                int i = subInfoDao.updateBySql(sql);
+                return i > 0;
             }
         }
         return false;

+ 2 - 1
projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoApiController.java

@@ -19,6 +19,7 @@ import com.rtrh.projects.modules.system.service.SubDataLogService;
 import com.rtrh.projects.modules.utils.DateUtils;
 import com.rtrh.projects.vo.subject.*;
 import com.rtrh.projects.web.log.Log;
+import com.team.security.TeamShiroUser;
 import org.hibernate.criterion.Criterion;
 import org.hibernate.criterion.DetachedCriteria;
 import org.hibernate.criterion.Restrictions;
@@ -1242,7 +1243,7 @@ public class SubInfoApiController extends BaseController {
         try {
             Assert.notBlank(vo.getId(), "项目ID不能为空");
             Assert.notBlank(vo.getStatus(), "状态不能为空");
-            boolean isSuccess = subInfoService.moveDb(vo);
+            boolean isSuccess = subInfoService.moveDb(vo,getCurUser().getLoginUser());
             message.add(isSuccess ? "移入成功" : "移入失败");
         } catch (Exception e) {
             logger.error("", e);