Ver Fonte

Merge remote-tracking branch 'origin/master'

xiahan há 1 ano atrás
pai
commit
7c3d3f8aaa
22 ficheiros alterados com 1093 adições e 22 exclusões
  1. 51 13
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/config/EquMaintenanceStandardListener.java
  2. 2 1
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/MaintenanceServiceImpl.java
  3. 8 1
      cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/domain/EquMaintenanceStandardDo.java
  4. 2 2
      cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/domain/EquMaintenanceTaskDo.java
  5. 1 1
      cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/enums/MaintenanceTypeEnum.java
  6. 18 0
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/dao/KbKnowledgeLedgerDao.java
  7. 11 1
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/feign/RwAdminFeginImpl.java
  8. 29 0
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/feign/RwAdminFeign.java
  9. 20 0
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/KbKnowledgeLedgerService.java
  10. 26 0
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/SubConfigService.java
  11. 35 0
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/impl/KbKnowledgeLedgerServiceImpl.java
  12. 158 0
      cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SubConfigServiceImpl.java
  13. 194 0
      cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/domain/KbKnowledgeLedger.java
  14. 126 0
      cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/domain/KbSubsystemConfigDo.java
  15. 168 0
      cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/domain/KbSubsystemDetailDo.java
  16. 20 0
      cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/enums/InsttypeEnum.java
  17. 128 0
      cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/vo/KdSubsystemDetailVo.java
  18. 43 0
      cx-knowledge-base/cx-knowledge-base-server/src/main/java/com/rongwei/bsserver/sys/controller/KbKnowledgeLedgerController.java
  19. 50 0
      cx-knowledge-base/cx-knowledge-base-server/src/main/java/com/rongwei/bsserver/sys/controller/SubConfigController.java
  20. 1 1
      cx-knowledge-base/cx-knowledge-base-server/src/main/resources/bootstrap.yml
  21. 1 1
      cx-knowledge-base/cx-knowledge-base-server/src/main/resources/logback-spring.xml
  22. 1 1
      cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/dao/AspSafetyProductObjectiveDao.java

+ 51 - 13
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/config/EquMaintenanceStandardListener.java

@@ -75,6 +75,7 @@ public class EquMaintenanceStandardListener extends AnalysisEventListener<EquMai
 
     private EquMaintenanceStandardDo migrateDate(EquMaintenanceStandardTemplate equMaintenanceStandardTemplate) {
         Date date = new Date();
+        StringBuilder planMonth = new StringBuilder();
         SysUserVo currentUser = CommonUtils.getCurrentUser();
         EquMaintenanceStandardDo equMaintenanceStandardDo = new EquMaintenanceStandardDo();
         BeanUtils.copyProperties(equMaintenanceStandardTemplate, equMaintenanceStandardDo);
@@ -89,19 +90,56 @@ public class EquMaintenanceStandardListener extends AnalysisEventListener<EquMai
                 .setCreateuserid(currentUser.getId())
                 .setModifyusername(currentUser.getName())
                 .setModifyuserid(currentUser.getId())
-                .setIsoutsource(String.valueOf("是".equals(equMaintenanceStandardTemplate.getIsoutsource()) ? 0 : 1))
-                .setJan("是".equals(equMaintenanceStandardTemplate.getJan()) ? 1 : null)
-                .setFeb("是".equals(equMaintenanceStandardTemplate.getFeb()) ? 1 : null)
-                .setMar("是".equals(equMaintenanceStandardTemplate.getMar()) ? 1 : null)
-                .setApr("是".equals(equMaintenanceStandardTemplate.getApr()) ? 1 : null)
-                .setMay("是".equals(equMaintenanceStandardTemplate.getMay()) ? 1 : null)
-                .setJun("是".equals(equMaintenanceStandardTemplate.getJun()) ? 1 : null)
-                .setJul("是".equals(equMaintenanceStandardTemplate.getJul()) ? 1 : null)
-                .setAug("是".equals(equMaintenanceStandardTemplate.getAug()) ? 1 : null)
-                .setSep("是".equals(equMaintenanceStandardTemplate.getSep()) ? 1 : null)
-                .setOct("是".equals(equMaintenanceStandardTemplate.getOct()) ? 1 : null)
-                .setNov("是".equals(equMaintenanceStandardTemplate.getNov()) ? 1 : null)
-                .setDecember("是".equals(equMaintenanceStandardTemplate.getDecember()) ? 1 : null);
+                .setIsoutsource(String.valueOf("是".equals(equMaintenanceStandardTemplate.getIsoutsource()) ? 0 : 1));
+        if("是".equals(equMaintenanceStandardTemplate.getJan()) ){
+            equMaintenanceStandardDo.setJan(1);
+            planMonth.append("JAN");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getFeb()) ){
+            equMaintenanceStandardDo.setFeb(1);
+            planMonth.append(",FEB");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getMar()) ){
+            equMaintenanceStandardDo.setMar(1);
+            planMonth.append(",MAR");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getApr()) ){
+            equMaintenanceStandardDo.setApr(1);
+            planMonth.append(",APR");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getMay()) ){
+            equMaintenanceStandardDo.setMay(1);
+            planMonth.append(",MAY");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getJun()) ){
+            equMaintenanceStandardDo.setJun(1);
+            planMonth.append(",JUN");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getJul()) ){
+            equMaintenanceStandardDo.setJul(1);
+            planMonth.append(",JUL");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getAug()) ){
+            equMaintenanceStandardDo.setAug(1);
+            planMonth.append(",AUG");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getSep()) ){
+            equMaintenanceStandardDo.setSep(1);
+            planMonth.append(",SEP");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getOct()) ){
+            equMaintenanceStandardDo.setOct(1);
+            planMonth.append(",OCT");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getNov()) ){
+            equMaintenanceStandardDo.setNov(1);
+            planMonth.append(",NOV");
+        }
+        if("是".equals(equMaintenanceStandardTemplate.getDecember()) ){
+            equMaintenanceStandardDo.setDecember(1);
+            planMonth.append(",DEC");
+        }
+        equMaintenanceStandardDo.setPlanMonth(planMonth.toString());
         return equMaintenanceStandardDo;
     }
 }

+ 2 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/MaintenanceServiceImpl.java

@@ -451,8 +451,9 @@ public class MaintenanceServiceImpl implements MaintenanceService {
             BeanUtils.copyProperties( maintenanceSchedule,equMaintenanceTask);
             BeanUtils.copyProperties( maintenancePart,equMaintenanceTask);
             equMaintenanceTask.setId(SecurityUtil.getUUID())
-                    .setMonth(month)
+                    .setMonth(month<10?"0"+month:String.valueOf(month))
                     .setCreateuserid(currentUser.getId())
+                    .setEquipmentnumber(maintenanceSchedule.getEquipmentnumber())
                     .setCreateusername(currentUser.getName())
                     .setCreatedate(newDate)
                     .setModifyuserid(currentUser.getId())

+ 8 - 1
cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/domain/EquMaintenanceStandardDo.java

@@ -1,9 +1,9 @@
 package com.rongwei.bsentity.domain;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.NoArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
@@ -260,4 +260,11 @@ public class EquMaintenanceStandardDo implements Serializable {
 	 */
 	private Integer december;
 
+	/**
+	 * table name:PLANMONTH
+	 * table type:varchar
+	 * table comment:12月
+	 */
+	private String planMonth;
+
 }

+ 2 - 2
cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/domain/EquMaintenanceTaskDo.java

@@ -1,9 +1,9 @@
 package com.rongwei.bsentity.domain;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.NoArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
@@ -273,7 +273,7 @@ public class EquMaintenanceTaskDo implements Serializable {
 	 * table type:int
 	 * table comment:计划月份
 	 */
-	private Integer month;
+	private String month;
 
 	/**
 	 * table name:WORKSHOPID

+ 1 - 1
cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/enums/MaintenanceTypeEnum.java

@@ -10,7 +10,7 @@ import java.util.Objects;
  * @description 保养分类数据字典
  */
 public enum MaintenanceTypeEnum {
-    MECHANICAL_OVERHAUL("机械检修","jj"),
+    MECHANICAL_OVERHAUL("机械检修","JJ"),
     ELECTRICAL_REPAIR("电气检修","DJ"),
     ENGINE_ATTENDANCE("机械保养","JY"),
     ELECTRICAL_MAINTENANCE("电气保养","DY")

+ 18 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/dao/KbKnowledgeLedgerDao.java

@@ -0,0 +1,18 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.KbKnowledgeLedger;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 知识库台账 Mapper 接口
+ * </p>
+ *
+ * @author sc
+ * @since 2024-01-08
+ */
+@Mapper
+public interface KbKnowledgeLedgerDao extends BaseMapper<KbKnowledgeLedger> {
+
+}

+ 11 - 1
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/feign/RwAdminFeginImpl.java

@@ -10,6 +10,16 @@ public class RwAdminFeginImpl implements RwAdminFeign {
 
     @Override
     public R getSerialNumberCode(SysSerialVo sysSerialVo) {
-        return R.error("admin服务异常");
+        return R.error("admin服务异常!");
+    }
+
+    @Override
+    public R infoSysModule(String id) {
+        return R.error("admin服务异常!");
+    }
+
+    @Override
+    public R infoPagePart(String id) {
+        return R.error("admin服务异常!");
     }
 }

+ 29 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/feign/RwAdminFeign.java

@@ -4,6 +4,8 @@ import com.rongwei.bscommon.sys.config.FeignConfiguration;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommonentity.commonservers.vo.SysSerialVo;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -29,4 +31,31 @@ public interface RwAdminFeign {
 
     @PostMapping("/sys/generalCRUD/getSerialNumberCode")
     R getSerialNumberCode(@RequestBody SysSerialVo sysSerialVo);
+
+
+    /**
+     * 通过ID查询module
+     *
+     * @param id
+     * @return {@link R}
+     * @date 2024/1/5 13:55
+     * @author shangmi
+     *
+     */
+    @GetMapping("/sys/sysmodule/info/{id}")
+    R infoSysModule(@PathVariable("id") String id);
+
+
+    /**
+     * 通过pagePart id查询菜单
+     *
+     * @param id
+     * @return {@link R}
+     * @date 2024/1/8 11:53
+     * @author shangmi
+     *
+     */
+
+    @GetMapping("/sys/page/part/info/{id}")
+    R infoPagePart(@PathVariable("id") String id);
 }

+ 20 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/KbKnowledgeLedgerService.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.KbKnowledgeLedger;
+import com.rongwei.rwcommon.base.R;
+
+
+/**
+ * <p>
+ * 知识库台账 服务类
+ * </p>
+ *
+ * @author sc
+ * @since 2024-01-08
+ */
+public interface KbKnowledgeLedgerService extends IService<KbKnowledgeLedger> {
+
+    R checkFailtureDate();
+
+}

+ 26 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/SubConfigService.java

@@ -0,0 +1,26 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.rongwei.bsentity.vo.KdSubsystemDetailVo;
+import com.rongwei.rwcommon.base.R;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author shangmi
+ * @title SubConfigService
+ * @date 2024/1/5 14:24
+ * @description 子系统配置
+ */
+@Service
+public interface SubConfigService {
+    /**
+     * 查询菜单字段详细
+     *
+     * @param id 菜单ID
+     * @return {@link List< KdSubsystemDetailVo>}
+     * @date 2024/1/8 11:48
+     * @author shangmi
+     */
+    R getModulesById(String id);
+}

+ 35 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/impl/KbKnowledgeLedgerServiceImpl.java

@@ -0,0 +1,35 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.KbKnowledgeLedgerDao;
+import com.rongwei.bscommon.sys.service.KbKnowledgeLedgerService;
+import com.rongwei.bsentity.domain.KbKnowledgeLedger;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 知识库台账 服务实现类
+ * </p>
+ *
+ * @author sc
+ * @since 2024-01-08
+ */
+@Slf4j
+@Service
+public class KbKnowledgeLedgerServiceImpl extends ServiceImpl<KbKnowledgeLedgerDao, KbKnowledgeLedger> implements KbKnowledgeLedgerService {
+
+    @Override
+    public R checkFailtureDate() {
+        KbKnowledgeLedger kbKnowledgeLedger = new KbKnowledgeLedger();
+        kbKnowledgeLedger.setFilestatus("过期");
+        //修改状态
+        this.update(kbKnowledgeLedger, new QueryWrapper<KbKnowledgeLedger>().lambda()
+                .eq(KbKnowledgeLedger::getFilestatus, "生效")
+                .lt(KbKnowledgeLedger::getFailturedate, DateUtil.date()));
+        return R.ok();
+    }
+}

+ 158 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SubConfigServiceImpl.java

@@ -0,0 +1,158 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.rongwei.bscommon.sys.feign.RwAdminFeign;
+import com.rongwei.bscommon.sys.service.SubConfigService;
+import com.rongwei.bsentity.enums.InsttypeEnum;
+import com.rongwei.bsentity.vo.KdSubsystemDetailVo;
+import com.rongwei.rwcommon.base.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * @author shangmi
+ * @title SubConfigServiceImpl
+ * @date 2024/1/5 14:31
+ * @description
+ */
+@Service
+public class SubConfigServiceImpl implements SubConfigService {
+
+    private final String[] JSON_NAME = {
+            "urladdr", "insttype", "roption", "global", "base", "editPage", "id",
+            "rowEdit", "layout", "form", "data", "tableColumnName", "columns",
+            "tableColumnType", "tableName", "label", "dataSource", "formData",
+            "insttype", "heads", "field"
+    };
+
+    private final String[] TYPE_NAME = {
+            "controlType", "enumType",
+            "dict", "customapi", "custom", "sql", "pagesource",
+            "customApiUrl", "customEnum", "customSql", "cacheIdSql"
+    };
+    @Autowired
+    private RwAdminFeign rwAdminFeign;
+
+    /**
+     * 查询菜单字段详细
+     *
+     * @param id 菜单ID
+     * @return {@link List< KdSubsystemDetailVo>}
+     * @date 2024/1/8 11:48
+     * @author shangmi
+     */
+
+    @Override
+    public R getModulesById(String id) {
+        R sysModule = rwAdminFeign.infoSysModule(id);
+        // 获得pagePartID
+        JSONObject module = JSONUtil.parseObj(sysModule.getData());
+        Object urlAddr = module.get(JSON_NAME[0]);
+        if (urlAddr == null) {
+            return R.error("该菜单未配置编辑页或页编辑,请重新选择!");
+        }
+        String[] split = urlAddr.toString().split("/");
+        String pagePartId = split[split.length - 1];
+
+        // 获取编辑页信息
+        String pagePart = getPagePart(pagePartId);
+        if (pagePart == null) {
+            return R.error("该菜单未配置编辑页或页编辑,请重新选择!");
+        }
+        // 查询页面展示的所有字段
+        return R.ok(getTableNameByData(pagePart));
+    }
+
+
+    /**
+     * 根据pagePartID查到该ID
+     *
+     * @param pagePartId
+     * @return {@link String}
+     * @date 2024/1/5 16:54
+     * @author shangmi
+     */
+
+    public String getPagePart(String pagePartId) {
+        if (pagePartId == null) {
+            return null;
+        }
+        R sysPagePart = rwAdminFeign.infoPagePart(pagePartId);
+        JSONObject pagePart = JSONUtil.parseObj(sysPagePart.getData());
+        if (InsttypeEnum.TABLE.getMassage().equals(pagePart.get(JSON_NAME[1], String.class)) && !JSONUtil.parseObj(
+                JSONUtil.parseObj(JSONUtil.parseObj(pagePart
+                                .get(JSON_NAME[2])).get(JSON_NAME[3]))
+                        .get(JSON_NAME[4])).get(JSON_NAME[7], Boolean.class)) {
+            // 判断当前页面如果是table页且非行编辑时,将内部editPage页的ID获取并重新调用本方法
+            return getPagePart(JSONUtil.parseObj(JSONUtil.parseObj(JSONUtil.parseObj(JSONUtil.parseObj(pagePart.get(JSON_NAME[2]))
+                    .get(JSON_NAME[3])).get(JSON_NAME[4])).get(JSON_NAME[5])).get(JSON_NAME[6], String.class));
+        } else if (InsttypeEnum.FORM.getMassage().equals(pagePart.get(JSON_NAME[1], String.class))
+                || (InsttypeEnum.TABLE.getMassage().equals(pagePart.get(JSON_NAME[1], String.class))
+                && JSONUtil.parseObj(JSONUtil.parseObj(JSONUtil.parseObj(pagePart
+                .get(JSON_NAME[2])).get(JSON_NAME[3])).get(JSON_NAME[4])).get(JSON_NAME[7], Boolean.class))) {
+            // 当前页面为form时或者table是行编辑时返回他们的roption
+            return pagePart.get(JSON_NAME[2], String.class);
+        }
+        return null;
+    }
+
+
+    /**
+     * 查询页面展示的所有表名
+     *
+     * @param pagePart
+     * @return {@link List< String>}
+     * @date 2024/1/8 10:09
+     * @author shangmi
+     */
+
+    public List<KdSubsystemDetailVo> getTableNameByData(String pagePart) {
+        boolean instType = "table".equals(JSONUtil.parseObj(JSONUtil.parseObj(JSONUtil.parseObj(pagePart).get(JSON_NAME[16])).get(JSON_NAME[17])).get(JSON_NAME[18], String.class));
+        // 获得layout中的form
+        List<String> form = JSONUtil.toList(JSONUtil.parseObj(JSONUtil.parseObj(pagePart).get(JSON_NAME[8])).get(instType ? JSON_NAME[19] : JSON_NAME[9], String.class), String.class);
+        // 将页面上展示的真实字段获取到
+        List<String> tableColumNameList = form.stream().map(info -> instType ? JSONUtil.parseObj(info).get(JSON_NAME[20], String.class)
+                        : JSONUtil.parseObj(JSONUtil.parseObj(info).get(JSON_NAME[10])).get(JSON_NAME[11], String.class))
+                .filter(Objects::nonNull).collect(Collectors.toList());
+        // 获取到columns中的base集合
+        List<String> base = JSONUtil.toList(JSONUtil.parseObj(JSONUtil.parseObj(pagePart).get(JSON_NAME[12])).get(JSON_NAME[4], String.class), String.class);
+        // 遍历获取base中的信息
+        return base.stream()
+                .filter(info -> tableColumNameList.contains(JSONUtil.parseObj(JSONUtil.parseObj(info).get(JSON_NAME[4])).get(JSON_NAME[11], String.class)))
+                .map(info -> {
+                    KdSubsystemDetailVo kdSubsystemDetail = new KdSubsystemDetailVo();
+                    JSONObject json = JSONUtil.parseObj(JSONUtil.parseObj(info).get(JSON_NAME[4]));
+                    String tableColumnNane = json.get(JSON_NAME[11], String.class);
+                    kdSubsystemDetail.setTABLECOLUMNNANE(tableColumnNane);
+                    kdSubsystemDetail.setTABLECOLUMNTYPE(json.get(JSON_NAME[13], String.class));
+                    kdSubsystemDetail.setTABLENAME(json.get(JSON_NAME[14], String.class));
+                    kdSubsystemDetail.setLABEL(json.get(JSON_NAME[15], String.class));
+                    JSONObject controlType = JSONUtil.parseObj(JSONUtil.parseObj(json.get(TYPE_NAME[0])));
+                    String enumType = controlType.get(TYPE_NAME[1], String.class);
+                    kdSubsystemDetail.setCONTROLTYPE(controlType.get(TYPE_NAME[0], String.class));
+                    kdSubsystemDetail .setENUMTYPE(enumType);
+                    if (enumType == null) {
+                        return kdSubsystemDetail;
+                    }
+                    if (TYPE_NAME[2].equals(enumType)) {
+                        kdSubsystemDetail.setDATAORIGIN(controlType.get(TYPE_NAME[2], String.class));
+                    } else if (TYPE_NAME[3].equals(enumType)) {
+                        kdSubsystemDetail.setDATAORIGIN(controlType.get(TYPE_NAME[7], String.class));
+                    } else if (TYPE_NAME[4].equals(enumType)) {
+                        kdSubsystemDetail.setDATAORIGIN(controlType.get(TYPE_NAME[8], String.class));
+                    } else if (TYPE_NAME[5].equals(enumType)) {
+                        kdSubsystemDetail.setDATAORIGIN(controlType.get(TYPE_NAME[9], String.class));
+                    } else if (TYPE_NAME[6].equals(enumType)) {
+                        kdSubsystemDetail.setDATAORIGIN(controlType.get(TYPE_NAME[10], String.class));
+                    }
+                    return kdSubsystemDetail;
+                }).collect(Collectors.toList());
+    }
+
+
+}

+ 194 - 0
cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/domain/KbKnowledgeLedger.java

@@ -0,0 +1,194 @@
+package com.rongwei.bsentity.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * kb_knowledge_ledger
+ * @author 
+ */
+@Data
+public class KbKnowledgeLedger implements Serializable {
+    /**
+     * 主键ID
+     */
+    private String id;
+
+    /**
+     * 租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 是否删除Y/N
+     */
+    private String deleted;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    private Date createdate;
+
+    /**
+     * 创建用户ID
+     */
+    private String createuserid;
+
+    /**
+     * 修改日期
+     */
+    private Date modifydate;
+
+    /**
+     * 修改用户ID
+     */
+    private String modifyuserid;
+
+    /**
+     * 创建人
+     */
+    private String createusername;
+
+    /**
+     * 修改人
+     */
+    private String modifyusername;
+
+    /**
+     * 流程实例ID
+     */
+    private String processinstid;
+
+    /**
+     * 流程审批状态
+     */
+    private String processinststatus;
+
+    /**
+     * 审批通过时间
+     */
+    private Date processinstdate;
+
+    /**
+     * 树ID
+     */
+    private String documenttreeid;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 作者
+     */
+    private String author;
+
+    /**
+     * 所属部门ID
+     */
+    private String departid;
+
+    /**
+     * 所属部门名称
+     */
+    private String departname;
+
+    /**
+     * 文档状态
+     */
+    private String filestatus;
+
+    /**
+     * 标签
+     */
+    private String tag;
+
+    /**
+     * 是否需要发起流程
+     */
+    private String iswf;
+
+    /**
+     * 生效时间
+     */
+    private Date effectdate;
+
+    /**
+     * 失效时间
+     */
+    private Date failturedate;
+
+    /**
+     * 知识编号
+     */
+    private String knowledgenum;
+
+    /**
+     * 知识版本号
+     */
+    private String knowledgeversion;
+
+    /**
+     * 详细内容
+     */
+    private String text;
+
+    /**
+     * 附件
+     */
+    private String annex;
+
+    /**
+     * 选人
+     */
+    private String people;
+
+    /**
+     * 选角色
+     */
+    private String role;
+
+    /**
+     * 选部门
+     */
+    private String depart;
+
+    /**
+     * 全部人员
+     */
+    private String isall;
+
+    /**
+     * 选人ID
+     */
+    private String peopleid;
+
+    /**
+     * 选角色ID
+     */
+    private String roleid;
+
+    /**
+     * 选部门ID
+     */
+    private String departids;
+
+    /**
+     * 所属工厂名称
+     */
+    private String factoryname;
+
+    private static final long serialVersionUID = 1L;
+}

+ 126 - 0
cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/domain/KbSubsystemConfigDo.java

@@ -0,0 +1,126 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @author  cyn 
+ * @create 2024-01-03 14:07 
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("kb_subsystem_config")
+public class KbSubsystemConfigDo {
+
+	/**
+	 * table name:ID
+	 * table type:varchar(36)
+	 * table comment:主键
+	 */
+	private String id;
+
+	/**
+	 * table name:TENANTID
+	 * table type:varchar(36)
+	 * table comment:租户ID
+	 */
+	private String tenantid;
+
+	/**
+	 * table name:ROPTION
+	 * table type:longtext
+	 * table comment:扩展json格式配置
+	 */
+	private String roption;
+
+	/**
+	 * table name:DELETED
+	 * table type:char(1)
+	 * table comment:是否删除
+	 */
+	private String deleted;
+
+	/**
+	 * table name:REMARK
+	 * table type:text
+	 * table comment:备注
+	 */
+	private String remark;
+
+	/**
+	 * table name:CREATEDATE
+	 * table type:datetime
+	 * table comment:创建时间
+	 */
+	private Date createdate;
+
+	/**
+	 * table name:CREATEUSERID
+	 * table type:varchar(36)
+	 * table comment:创建用户ID
+	 */
+	private String createuserid;
+
+	/**
+	 * table name:MODIFYDATE
+	 * table type:datetime
+	 * table comment:修改日期
+	 */
+	private Date modifydate;
+
+	/**
+	 * table name:MODIFYUSERID
+	 * table type:varchar(36)
+	 * table comment:修改用户ID
+	 */
+	private String modifyuserid;
+
+	/**
+	 * table name:CREATEUSERNAME
+	 * table type:varchar(50)
+	 * table comment:创建人名称
+	 */
+	private String createusername;
+
+	/**
+	 * table name:MODIFYUSERNAME
+	 * table type:varchar(50)
+	 * table comment:修改人名称
+	 */
+	private String modifyusername;
+
+	/**
+	 * table name:NAME
+	 * table type:varchar(150)
+	 * table comment:名称
+	 */
+	private String name;
+
+	/**
+	 * table name:NUMBER
+	 * table type:varchar(15)
+	 * table comment:编号
+	 */
+	private String number;
+
+	/**
+	 * table name:MENU
+	 * table type:varchar(255)
+	 * table comment:菜单
+	 */
+	private String menu;
+
+	/**
+	 * table name:MENUID
+	 * table type:varchar(50)
+	 * table comment:菜单ID
+	 */
+	private String menuid;
+
+}

+ 168 - 0
cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/domain/KbSubsystemDetailDo.java

@@ -0,0 +1,168 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @author  cyn 
+ * @create 2024-01-03 14:08 
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("kb_subsystem_detail")
+public class KbSubsystemDetailDo {
+
+	/**
+	 * table name:ID
+	 * table type:varchar(36)
+	 * table comment:主键
+	 */
+	private String id;
+
+	/**
+	 * table name:TENANTID
+	 * table type:varchar(36)
+	 * table comment:租户ID
+	 */
+	private String tenantid;
+
+	/**
+	 * table name:ROPTION
+	 * table type:longtext
+	 * table comment:扩展json格式配置
+	 */
+	private String roption;
+
+	/**
+	 * table name:DELETED
+	 * table type:char(1)
+	 * table comment:是否删除
+	 */
+	private String deleted;
+
+	/**
+	 * table name:REMARK
+	 * table type:text
+	 * table comment:备注
+	 */
+	private String remark;
+
+	/**
+	 * table name:CREATEDATE
+	 * table type:datetime
+	 * table comment:创建时间
+	 */
+	private Date createdate;
+
+	/**
+	 * table name:CREATEUSERID
+	 * table type:varchar(36)
+	 * table comment:创建用户ID
+	 */
+	private String createuserid;
+
+	/**
+	 * table name:MODIFYDATE
+	 * table type:datetime
+	 * table comment:修改日期
+	 */
+	private Date modifydate;
+
+	/**
+	 * table name:MODIFYUSERID
+	 * table type:varchar(36)
+	 * table comment:修改用户ID
+	 */
+	private String modifyuserid;
+
+	/**
+	 * table name:CREATEUSERNAME
+	 * table type:varchar(50)
+	 * table comment:创建人名称
+	 */
+	private String createusername;
+
+	/**
+	 * table name:MODIFYUSERNAME
+	 * table type:varchar(50)
+	 * table comment:修改人名称
+	 */
+	private String modifyusername;
+
+	/**
+	 * table name:MASTERID
+	 * table type:varchar(36)
+	 * table comment:主表ID
+	 */
+	private String masterid;
+
+	/**
+	 * table name:TABLENAME
+	 * table type:varchar(64)
+	 * table comment:表名
+	 */
+	private String tablename;
+
+	/**
+	 * table name:TABLECOLUMNNANE
+	 * table type:varchar(64)
+	 * table comment:表中列名
+	 */
+	private String tablecolumnnane;
+
+	/**
+	 * table name:TABLECOLUMNTYPE
+	 * table type:varchar(20)
+	 * table comment:表中列类型
+	 */
+	private String tablecolumntype;
+
+	/**
+	 * table name:LABEL
+	 * table type:varchar(200)
+	 * table comment:表单名
+	 */
+	private String label;
+
+	/**
+	 * table name:CONTROLTYPE
+	 * table type:varchar(255)
+	 * table comment:表单类型
+	 */
+	private String controltype;
+
+	/**
+	 * table name:ENUMTYPE
+	 * table type:varchar(50)
+	 * table comment:表单数据来源
+	 */
+	private String enumtype;
+
+	/**
+	 * table name:DATAORIGIN
+	 * table type:text
+	 * table comment:数据源
+	 */
+	private String dataorigin;
+
+	/**
+	 * table name:MENU
+	 * table type:varchar(255)
+	 * table comment:菜单
+	 */
+	private String menu;
+
+	/**
+	 * table name:MENUID
+	 * table type:varchar(50)
+	 * table comment:菜单ID
+	 */
+	private String menuid;
+
+}

+ 20 - 0
cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/enums/InsttypeEnum.java

@@ -0,0 +1,20 @@
+package com.rongwei.bsentity.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author shangmi
+ * @title InsttypeEnum
+ * @date 2024/1/5 16:20
+ * @description TODO
+ */
+@Getter
+@AllArgsConstructor
+public enum InsttypeEnum {
+    TABLE(1,"table"),
+    FORM(2,"form")
+    ;
+    private final Integer code;
+    private final String massage;
+}

+ 128 - 0
cx-knowledge-base/cx-knowledge-base-entity/src/main/java/com/rongwei/bsentity/vo/KdSubsystemDetailVo.java

@@ -0,0 +1,128 @@
+package com.rongwei.bsentity.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.experimental.Accessors;
+
+/**
+ * @author shangmi
+ * @title KdSubsystemDetailVo
+ * @date 2024/1/4 10:02
+ * @description Vo
+ */
+@Accessors(chain = true)
+public class KdSubsystemDetailVo {
+    /**
+     * table name:TABLENAME
+     * table type:varchar(64)
+     * table comment:表名
+     */
+    @JSONField(name = "TABLENAME")
+    private String TABLENAME;
+
+    /**
+     * table name:TABLECOLUMNNANE
+     * table type:varchar(64)
+     * table comment:表中列名
+     */
+    @JSONField(name = "TABLECOLUMNNANE")
+    private String TABLECOLUMNNANE;
+
+    /**
+     * table name:TABLECOLUMNTYPE
+     * table type:varchar(20)
+     * table comment:表中列类型
+     */
+    @JSONField(name  = "TABLECOLUMNTYPE")
+    private String TABLECOLUMNTYPE;
+
+    /**
+     * table name:LABEL
+     * table type:varchar(200)
+     * table comment:表单名
+     */
+    @JSONField(name = "LABEL")
+    private String LABEL;
+
+    /**
+     * table name:CONTROLTYPE
+     * table type:varchar(255)
+     * table comment:表单类型
+     */
+    @JSONField(name = "CONTROLTYPE")
+    private String CONTROLTYPE;
+
+    /**
+     * table name:ENUMTYPE
+     * table type:varchar(50)
+     * table comment:表单数据来源
+     */
+    @JSONField(name = "ENUMTYPE")
+    private String ENUMTYPE;
+
+    /**
+     * table name:DATAORIGIN
+     * table type:text
+     * table comment:数据源
+     */
+    @JSONField(name = "DATAORIGIN")
+    private String DATAORIGIN;
+
+    @JsonProperty("TABLENAME")
+    public String getTABLENAME() {
+        return TABLENAME;
+    }
+
+
+    public void setTABLENAME(String TABLENAME) {
+        this.TABLENAME = TABLENAME;
+    }
+    @JsonProperty("TABLECOLUMNNANE")
+    public String getTABLECOLUMNNANE() {
+        return TABLECOLUMNNANE;
+    }
+
+    public void setTABLECOLUMNNANE(String TABLECOLUMNNANE) {
+        this.TABLECOLUMNNANE = TABLECOLUMNNANE;
+    }
+    @JsonProperty("TABLECOLUMNTYPE")
+    public String getTABLECOLUMNTYPE() {
+        return TABLECOLUMNTYPE;
+    }
+
+    public void setTABLECOLUMNTYPE(String TABLECOLUMNTYPE) {
+        this.TABLECOLUMNTYPE = TABLECOLUMNTYPE;
+    }
+     @JsonProperty("LABEL")
+    public String getLABEL() {
+        return LABEL;
+    }
+
+    public void setLABEL(String LABEL) {
+        this.LABEL = LABEL;
+    }
+    @JsonProperty("CONTROLTYPE")
+    public String getCONTROLTYPE() {
+        return CONTROLTYPE;
+    }
+
+    public void setCONTROLTYPE(String CONTROLTYPE) {
+        this.CONTROLTYPE = CONTROLTYPE;
+    }
+    @JsonProperty("ENUMTYPE")
+    public String getENUMTYPE() {
+        return ENUMTYPE;
+    }
+
+    public void setENUMTYPE(String ENUMTYPE) {
+        this.ENUMTYPE = ENUMTYPE;
+    }
+    @JsonProperty("DATAORIGIN")
+    public String getDATAORIGIN() {
+        return DATAORIGIN;
+    }
+
+    public void setDATAORIGIN(String DATAORIGIN) {
+        this.DATAORIGIN = DATAORIGIN;
+    }
+}

+ 43 - 0
cx-knowledge-base/cx-knowledge-base-server/src/main/java/com/rongwei/bsserver/sys/controller/KbKnowledgeLedgerController.java

@@ -0,0 +1,43 @@
+package com.rongwei.bsserver.sys.controller;
+
+
+import com.rongwei.bscommon.sys.service.KbKnowledgeLedgerService;
+import com.rongwei.bscommon.sys.utils.ExceptionUtils;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 知识库台账 前端控制器
+ * </p>
+ *
+ * @author sc
+ * @since 2024-01-08
+ */
+@Slf4j
+@RestController
+@RequestMapping("/knowledgeLedger")
+public class KbKnowledgeLedgerController {
+
+    @Autowired
+    private KbKnowledgeLedgerService kbKnowledgeLedgerService;
+
+    /**
+     * 定时任务,每天凌晨执行一次,检查知识库台账中,文档状态(FILESTATUS)为:生效,并且失效时间(FAILTUREDATE)在今天之前 的文档,将状态改为:过期
+     * @return
+     */
+    @PostMapping("/checkFailtureDate")
+    public R checkFailtureDate(){
+        try {
+            return kbKnowledgeLedgerService.checkFailtureDate();
+        }catch (Exception e){
+            ExceptionUtils.printExceptionDetail(e,"异常为:");
+            log.error(e.getMessage());
+            return R.error(e.getMessage());
+        }
+    }
+
+}
+

+ 50 - 0
cx-knowledge-base/cx-knowledge-base-server/src/main/java/com/rongwei/bsserver/sys/controller/SubConfigController.java

@@ -0,0 +1,50 @@
+package com.rongwei.bsserver.sys.controller;
+
+import com.rongwei.bscommon.sys.service.SubConfigService;
+import com.rongwei.bscommon.sys.utils.ExceptionUtils;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author shangmi
+ * @title SubConfigController
+ * @date 2024/1/5 13:59
+ * @description 子系统配置
+ */
+@Slf4j
+@RestController
+@RequestMapping("/subsystem-config")
+public class SubConfigController {
+
+    @Autowired
+    public SubConfigService subConfigService;
+
+    /**
+     * 查询菜单字段详细
+     *
+     * @param id 菜单ID
+     * @return {@link List < KdSubsystemDetailVo>}
+     * @date 2024/1/8 11:48
+     * @author shangmi
+     *
+     */
+
+    @PostMapping("/getModulesById")
+    public R getModulesById(@RequestParam String id){
+        try {
+            log.info("进入接口:/subsystem-config/getModulesById,入参为:{}",id);
+            return subConfigService.getModulesById(id);
+        }catch (Exception e){
+            ExceptionUtils.printExceptionDetail(e,"异常为:");
+            log.error(e.getMessage());
+            return R.error(e.getMessage());
+        }
+    }
+}

+ 1 - 1
cx-knowledge-base/cx-knowledge-base-server/src/main/resources/bootstrap.yml

@@ -12,7 +12,7 @@ spring:
       max-file-size: 100MB
       max-request-size: 1000MB
 server:
-  port: 9689
+  port: 9789
   tomcat:
     basedir: temp
 management:

+ 1 - 1
cx-knowledge-base/cx-knowledge-base-server/src/main/resources/logback-spring.xml

@@ -13,7 +13,7 @@
         <Prudent>true</Prudent>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <FileNamePattern>
-                icequipmentlog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log
+                icknowledgebaselog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log
             </FileNamePattern>
         </rollingPolicy>
         <layout class="ch.qos.logback.classic.PatternLayout">

+ 1 - 1
cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/dao/AspSafetyProductObjectiveDao.java

@@ -21,7 +21,7 @@ public interface AspSafetyProductObjectiveDao extends BaseDao<AspSafetyProductOb
             "\tAND so.DELETED = 0 \n" +
             "WHERE\n" +
             "\tsr.DELETED = 0 \n" +
-            "\tAND sr.ID IN ( 'e9133e738d67492aa4b3a641894f85c2', 'b104293d47e34df8847d1634c29ab031', '16963f62b94149d9ae16eabc9248999b', '104ac71c72704bbd953da6d7c167ed3a', 'efed8df42bde46c9970c1476e74d6374' ) \n" +
+            "\tAND sr.ID IN ( '77a13d95b53e42068e6f0c1d60f07df7', 'b104293d47e34df8847d1634c29ab031', '16963f62b94149d9ae16eabc9248999b', '104ac71c72704bbd953da6d7c167ed3a', 'efed8df42bde46c9970c1476e74d6374' ) \n" +
             "\tAND (\n" +
             "\t\tso.ID = #{tenantId} \n" +
             "\tOR so.FULLPID LIKE CONCAT( '%', #{tenantId}, '%' )) \n" +