Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

LLL 1 yıl önce
ebeveyn
işleme
681ed70953
26 değiştirilmiş dosya ile 1091 ekleme ve 47 silme
  1. 1 1
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsInspectItem/entity/CmmsInspectItem.java
  2. 35 27
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsInspectItem/service/impl/CmmsInspectItemServiceImpl.java
  3. 17 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/controller/CmmsUpkeepItemController.java
  4. 6 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/mapper/CmmsUpkeepItemMapper.java
  5. 10 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/mapper/xml/CmmsUpkeepItemMapper.xml
  6. 7 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/service/ICmmsUpkeepItemService.java
  7. 9 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/service/impl/CmmsUpkeepItemServiceImpl.java
  8. 23 18
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/controller/CmmsUpkeepPlanController.java
  9. 4 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/entity/CmmsUpkeepPlan.java
  10. 23 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/entity/CmmsUpkeepPlanDto.java
  11. 18 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/mapper/CmmsUpkeepPlanMapper.java
  12. 49 1
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/mapper/xml/CmmsUpkeepPlanMapper.xml
  13. 11 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/ICmmsUpkeepPlanService.java
  14. 26 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/impl/CmmsUpkeepPlanServiceImpl.java
  15. 195 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/controller/CmmsUpkeepPlanItemController.java
  16. 63 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/entity/CmmsUpkeepPlanItem.java
  17. 32 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/entity/CmmsUpkeepPlanItemDto.java
  18. 24 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/mapper/CmmsUpkeepPlanItemMapper.java
  19. 33 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/mapper/xml/CmmsUpkeepPlanItemMapper.xml
  20. 24 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/service/ICmmsUpkeepPlanItemService.java
  21. 36 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/service/impl/CmmsUpkeepPlanItemServiceImpl.java
  22. 171 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/CmmsUpkeepPlanItemList.vue
  23. 26 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/CmmsUpkeepPlanItem_menu_insert.sql
  24. 104 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/modules/CmmsUpkeepPlanItemForm.vue
  25. 84 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/modules/CmmsUpkeepPlanItemModal.Style#Drawer.vue
  26. 60 0
      jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/modules/CmmsUpkeepPlanItemModal.vue

+ 1 - 1
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsInspectItem/entity/CmmsInspectItem.java

@@ -92,7 +92,7 @@ public class CmmsInspectItem implements Serializable {
     /** 分类 */
     @Excel(name = "分类", width = 15)
     @ApiModelProperty(value = "分类")
-    @Dict(dicCode = "item_type")
+    @Dict(dicCode = "inspect_item_type")
     private java.lang.String classification;
 
 

+ 35 - 27
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsInspectItem/service/impl/CmmsInspectItemServiceImpl.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.cmmsInspectItem.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.cmmsInspectItem.entity.CmmsInspectItem;
 import org.jeecg.modules.cmmsInspectItem.entity.CmmsInspectItemVo;
@@ -45,35 +46,42 @@ public class CmmsInspectItemServiceImpl extends ServiceImpl<CmmsInspectItemMappe
 
         String equipdefid = cmmsInspectItem.getEquipdefid();
 
-        String[] equipdefids = equipdefid.split(",");
-        List<String> strings = Arrays.asList(equipdefids);
-        for (String str:strings) {
-            CmmsInspectItem item = new CmmsInspectItem();
-            item.setEquipdefid(str);
-            if (cmmsInspectItem.getItemcode() == null || "".equals(cmmsInspectItem.getItemcode())){
-                item.setItemcode(autoCodeUtil.genSerialCode(UserConstants.CMMSINSPECTITEM_CODE, null));
-            }else {
-                item.setItemcode(cmmsInspectItem.getItemcode());
-            }
-            if (cmmsInspectItem.getClassification() != null){
-                item.setClassification(cmmsInspectItem.getClassification());
-            }
-            if (cmmsInspectItem.getConditions() != null){
-                item.setConditions(cmmsInspectItem.getConditions());
-            }
-            if (cmmsInspectItem.getItemname() != null){
-                item.setItemname(cmmsInspectItem.getItemname());
+        if(ObjectUtil.isNotNull(cmmsInspectItem.getEquipdefid())){
+            String[] equipdefids = equipdefid.split(",");
+            List<String> strings = Arrays.asList(equipdefids);
+            for (String str:strings) {
+                CmmsInspectItem item = new CmmsInspectItem();
+                item.setEquipdefid(str);
+                if (cmmsInspectItem.getItemcode() == null || "".equals(cmmsInspectItem.getItemcode())){
+                    item.setItemcode(autoCodeUtil.genSerialCode(UserConstants.CMMSINSPECTITEM_CODE, null));
+                }else {
+                    item.setItemcode(cmmsInspectItem.getItemcode());
+                }
+                if (cmmsInspectItem.getClassification() != null){
+                    item.setClassification(cmmsInspectItem.getClassification());
+                }
+                if (cmmsInspectItem.getConditions() != null){
+                    item.setConditions(cmmsInspectItem.getConditions());
+                }
+                if (cmmsInspectItem.getItemname() != null){
+                    item.setItemname(cmmsInspectItem.getItemname());
+                }
+                if (cmmsInspectItem.getInspectionstandards() != null){
+                    item.setInspectionstandards(cmmsInspectItem.getInspectionstandards());
+                }
+                if (cmmsInspectItem.getTag() != null){
+                    item.setTag(cmmsInspectItem.getTag());
+                }
+                if (cmmsInspectItem.getRemark() != null){
+                    item.setRemark(cmmsInspectItem.getRemark());
+                }
+                list.add(item);
             }
-            if (cmmsInspectItem.getInspectionstandards() != null){
-                item.setInspectionstandards(cmmsInspectItem.getInspectionstandards());
-            }
-            if (cmmsInspectItem.getTag() != null){
-                item.setTag(cmmsInspectItem.getTag());
-            }
-            if (cmmsInspectItem.getRemark() != null){
-                item.setRemark(cmmsInspectItem.getRemark());
+        }else {
+            if (cmmsInspectItem.getItemcode() == null || "".equals(cmmsInspectItem.getItemcode())){
+                cmmsInspectItem.setItemcode(autoCodeUtil.genSerialCode(UserConstants.CMMSINSPECTITEM_CODE, null));
             }
-            list.add(item);
+            list.add(cmmsInspectItem);
         }
         //if (cmmsInspectItem.getItemcode() == null || "".equals(cmmsInspectItem.getItemcode())){
         //    cmmsInspectItem.setItemcode(autoCodeUtil.genSerialCode(UserConstants.CMMSINSPECTITEM_CODE, null));

+ 17 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/controller/CmmsUpkeepItemController.java

@@ -52,6 +52,23 @@ public class CmmsUpkeepItemController extends JeecgController<CmmsUpkeepItem, IC
 	@Autowired
 	private ICmmsUpkeepItemService cmmsUpkeepItemService;
 
+	 /**
+	  * 根据设备id查找设备类型id以及设备类型名称,根据设备类型id查询保养项
+	  *
+	  * @param id
+	  * @return
+	  */
+	 //@AutoLog(value = "保养项-通过设备id查询")
+	 @ApiOperation(value="保养项-通过设备id查询", notes="保养项-通过设备id查询")
+	 @GetMapping(value = "/getCmmsUpkeepItemByEqid")
+	 public Result<List<CmmsUpkeepItemDto>> getCmmsUpkeepItemByEqid(@RequestParam(name="id",required=true) String id) {
+		 List<CmmsUpkeepItemDto> cmmsUpkeepItemDtoList = cmmsUpkeepItemService.getCmmsUpkeepItemByEqid(id);
+		 if(cmmsUpkeepItemDtoList.size() == 0) {
+			 return Result.error("未找到对应保养项");
+		 }
+		 return Result.OK(cmmsUpkeepItemDtoList);
+	 }
+
 	/**
 	 * 分页列表查询
 	 *

+ 6 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/mapper/CmmsUpkeepItemMapper.java

@@ -23,4 +23,10 @@ public interface CmmsUpkeepItemMapper extends BaseMapper<CmmsUpkeepItem> {
      */
     public List<CmmsUpkeepItemDto> getAllCmmsUpkeepItem(Page<CmmsUpkeepItemDto> page, CmmsUpkeepItem cmmsUpkeepItem);
 
+    /**
+     * 根据设备id查找设备类型id以及设备类型名称,根据设备类型id查询保养项
+     *
+     */
+    public List<CmmsUpkeepItemDto> getCmmsUpkeepItemByEqid(@Param("eqid") String eqid);
+
 }

+ 10 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/mapper/xml/CmmsUpkeepItemMapper.xml

@@ -26,6 +26,16 @@
         </where>
     </select>
 
+    <select id="getCmmsUpkeepItemByEqid" parameterType="String" resultMap="CmmsUpkeepItemResult">
+        select c.id, c.create_by, c.create_time, c.update_by, c.update_time, c.itemcode, c.itemname, c.equipdefid, c.itemcontent, c.remark, t.name as equiptypeName
+        from ems_tpm_equipment as e
+        left join ems_tpm_equipment_tree as t on e.equipmenttreeid = t.id
+        left join ems_cmms_upkeep_item as c on t.id=c.equipdefid
+        <where>
+            <if test="eqid != null and eqid != ''"> and e.id = #{eqid}</if>
+        </where>
+    </select>
+
 
 
 

+ 7 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/service/ICmmsUpkeepItemService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.cmmsUpkeepItem.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItem;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
@@ -30,6 +31,12 @@ public interface ICmmsUpkeepItemService extends IService<CmmsUpkeepItem> {
      */
     public boolean insertCmmsUpkeepItem(CmmsUpkeepItem cmmsUpkeepItem);
 
+    /**
+     * 根据设备id查找设备类型id以及设备类型名称,根据设备类型id查询保养项
+     *
+     */
+    public List<CmmsUpkeepItemDto> getCmmsUpkeepItemByEqid(String eqid);
+
 
 
 }

+ 9 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepItem/service/impl/CmmsUpkeepItemServiceImpl.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.cmmsUpkeepItem.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
@@ -88,5 +89,13 @@ public class CmmsUpkeepItemServiceImpl extends ServiceImpl<CmmsUpkeepItemMapper,
         return this.saveBatch(cmmsUpkeepItemArrayList);
     }
 
+    /**
+     * 根据设备id查找设备类型id以及设备类型名称,根据设备类型id查询保养项
+     *
+     */
+    public List<CmmsUpkeepItemDto> getCmmsUpkeepItemByEqid(String eqid){
+        return cmmsUpkeepItemMapper.getCmmsUpkeepItemByEqid(eqid);
+    }
+
 
 }

+ 23 - 18
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/controller/CmmsUpkeepPlanController.java

@@ -12,7 +12,9 @@ import javax.servlet.http.HttpServletResponse;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
 import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan;
+import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto;
 import org.jeecg.modules.cmmsUpkeepPlan.service.ICmmsUpkeepPlanService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -49,7 +51,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 public class CmmsUpkeepPlanController extends JeecgController<CmmsUpkeepPlan, ICmmsUpkeepPlanService> {
 	@Autowired
 	private ICmmsUpkeepPlanService cmmsUpkeepPlanService;
-	
+
 	/**
 	 * 分页列表查询
 	 *
@@ -62,16 +64,18 @@ public class CmmsUpkeepPlanController extends JeecgController<CmmsUpkeepPlan, IC
 	//@AutoLog(value = "保养计划-分页列表查询")
 	@ApiOperation(value="保养计划-分页列表查询", notes="保养计划-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<CmmsUpkeepPlan>> queryPageList(CmmsUpkeepPlan cmmsUpkeepPlan,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-		QueryWrapper<CmmsUpkeepPlan> queryWrapper = QueryGenerator.initQueryWrapper(cmmsUpkeepPlan, req.getParameterMap());
-		Page<CmmsUpkeepPlan> page = new Page<CmmsUpkeepPlan>(pageNo, pageSize);
-		IPage<CmmsUpkeepPlan> pageList = cmmsUpkeepPlanService.page(page, queryWrapper);
-		return Result.OK(pageList);
+	public Result<IPage<CmmsUpkeepPlanDto>> queryPageList(CmmsUpkeepPlan cmmsUpkeepPlan,
+														  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+														  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														  HttpServletRequest req) {
+//		QueryWrapper<CmmsUpkeepPlan> queryWrapper = QueryGenerator.initQueryWrapper(cmmsUpkeepPlan, req.getParameterMap());
+		Page<CmmsUpkeepPlanDto> page = new Page<CmmsUpkeepPlanDto>(pageNo, pageSize);
+//		IPage<CmmsUpkeepPlan> pageList = cmmsUpkeepPlanService.page(page, queryWrapper);
+		List<CmmsUpkeepPlanDto> pageList = cmmsUpkeepPlanService.getAllCmmsUpkeepPlan(page, cmmsUpkeepPlan);
+		page.setRecords(pageList);
+		return Result.OK(page);
 	}
-	
+
 	/**
 	 *   添加
 	 *
@@ -86,22 +90,23 @@ public class CmmsUpkeepPlanController extends JeecgController<CmmsUpkeepPlan, IC
 		cmmsUpkeepPlanService.save(cmmsUpkeepPlan);
 		return Result.OK("添加成功!");
 	}
-	
+
 	/**
-	 *  编辑
+	 *  编辑  更新保养计划
 	 *
-	 * @param cmmsUpkeepPlan
+	 * @param cmmsUpkeepPlanDto
 	 * @return
 	 */
 	@AutoLog(value = "保养计划-编辑")
 	@ApiOperation(value="保养计划-编辑", notes="保养计划-编辑")
 	//@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody CmmsUpkeepPlan cmmsUpkeepPlan) {
-		cmmsUpkeepPlanService.updateById(cmmsUpkeepPlan);
+	public Result<String> edit(@RequestBody CmmsUpkeepPlanDto cmmsUpkeepPlanDto) {
+//		cmmsUpkeepPlanService.updateById(cmmsUpkeepPlan);
+		//
 		return Result.OK("编辑成功!");
 	}
-	
+
 	/**
 	 *   通过id删除
 	 *
@@ -116,7 +121,7 @@ public class CmmsUpkeepPlanController extends JeecgController<CmmsUpkeepPlan, IC
 		cmmsUpkeepPlanService.removeById(id);
 		return Result.OK("删除成功!");
 	}
-	
+
 	/**
 	 *  批量删除
 	 *
@@ -131,7 +136,7 @@ public class CmmsUpkeepPlanController extends JeecgController<CmmsUpkeepPlan, IC
 		this.cmmsUpkeepPlanService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("批量删除成功!");
 	}
-	
+
 	/**
 	 * 通过id查询
 	 *

+ 4 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/entity/CmmsUpkeepPlan.java

@@ -142,4 +142,8 @@ public class CmmsUpkeepPlan implements Serializable {
 	@Excel(name = "是否已通知:是/否", width = 15)
     @ApiModelProperty(value = "是否已通知:是/否")
     private java.lang.String ifnotice;
+    /**设备id(根据设备id查找保养项内容)*/
+    @Excel(name = "设备id(根据设备id查找保养项内容)", width = 15)
+    @ApiModelProperty(value = "设备id(根据设备id查找保养项内容)")
+    private java.lang.String equipmentid;
 }

+ 23 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/entity/CmmsUpkeepPlanDto.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.cmmsUpkeepPlan.entity;
+
+import lombok.Data;
+import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
+
+import java.util.List;
+
+/**
+ * ClassName: CmmsUpkeepPlanDto
+ * Package: org.jeecg.modules.cmmsUpkeepPlan.entity
+ * Description:
+ *
+ * @Author sl
+ * @Create 2024/1/16 16:58
+ * @Version 1.0
+ */
+@Data
+public class CmmsUpkeepPlanDto extends CmmsUpkeepPlan{
+
+    private String equipmentName;//设备名称
+    private List<CmmsUpkeepItemDto> cmmsUpkeepItemDtoList;//保养内容--保养项信息
+
+}

+ 18 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/mapper/CmmsUpkeepPlanMapper.java

@@ -2,9 +2,13 @@ package org.jeecg.modules.cmmsUpkeepPlan.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItem;
+import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
 import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto;
 
 /**
  * @Description: 保养计划
@@ -14,4 +18,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CmmsUpkeepPlanMapper extends BaseMapper<CmmsUpkeepPlan> {
 
+    /**
+     * 分页列表查询
+     * 根据设备id查找设备名称并进行两表字段拼接
+     *
+     */
+    public List<CmmsUpkeepPlanDto> getAllCmmsUpkeepPlan(Page<CmmsUpkeepPlanDto> page, CmmsUpkeepPlan cmmsUpkeepPlan);
+
+    /**
+     *
+     * 根据id查找保养计划
+     *
+     */
+    public List<CmmsUpkeepPlanDto> getCmmsUpkeepPlanContentById(String id);
+
 }

+ 49 - 1
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/mapper/xml/CmmsUpkeepPlanMapper.xml

@@ -2,4 +2,52 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.cmmsUpkeepPlan.mapper.CmmsUpkeepPlanMapper">
 
-</mapper>
+    <resultMap type="org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto" id="CmmsUpkeepPlanResult">
+        <result property="id"    column="id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+        <result property="plancode"    column="plancode"    />
+        <result property="planname"    column="planname"    />
+        <result property="upkeepprojid"    column="upkeepprojid"    />
+        <result property="projectname"    column="projectname"    />
+        <result property="address"    column="address"    />
+        <result property="supplier"    column="supplier"    />
+        <result property="suppliertel"    column="suppliertel"    />
+        <result property="linker"    column="linker"    />
+        <result property="linkertel"    column="linkertel"    />
+        <result property="chargeruser"    column="chargeruser"    />
+        <result property="plandesc"    column="plandesc"    />
+        <result property="begintime"    column="begintime"    />
+        <result property="repeatnum"    column="repeatnum"    />
+        <result property="repeattype"    column="repeattype"    />
+        <result property="noticenum"    column="noticenum"    />
+        <result property="noticetype"    column="noticetype"    />
+        <result property="status"    column="status"    />
+        <result property="nexttime"    column="nexttime"    />
+        <result property="ifnotice"    column="ifnotice"    />
+        <result property="noticetime"    column="noticetime"    />
+        <result property="equipmentid"    column="equipmentid"    />
+    </resultMap>
+
+    <select id="getAllCmmsUpkeepPlan" parameterType="org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan" resultMap="CmmsUpkeepPlanResult">
+        select p.id, p.create_by, p.create_time, p.update_by, p.update_time, p.remark, p.plancode, p.planname, p.upkeepprojid, p.projectname, p.address, p.supplier, p.suppliertel, p.linker, p.linkertel, p.chargeruser, p.plandesc, p.begintime, p.repeatnum, p.repeattype, p.noticenum, p.noticetype, p.status, p.nexttime, p.ifnotice, p.noticetime, e.equipmentname as equipmentName
+        from ems_cmms_upkeep_plan as p left join ems_tpm_equipment as e on p.equipmentid = e.id
+        <where>
+            <if test="cmmsUpkeepPlan.planname != null and cmmsUpkeepPlan.planname != ''"> and (p.plancode like concat('%', #{cmmsUpkeepPlan.plancode}, '%') or p.planname like concat('%', #{cmmsUpkeepPlan.planname}, '%'))</if>
+            <if test="cmmsUpkeepPlan.chargeruser != null and cmmsUpkeepPlan.chargeruser != ''"> and concat(p.chargeruser,',') like concat('%', #{cmmsUpkeepPlan.chargeruser}, ',%')</if>
+            <if test="cmmsUpkeepPlan.status != null and cmmsUpkeepPlan.status != ''"> and p.status = #{cmmsUpkeepPlan.status}</if>
+            <if test="cmmsUpkeepPlan.plancode != null and cmmsUpkeepPlan.plancode != ''"> and p.plancode = #{cmmsUpkeepPlan.plancode}</if>
+            <if test="cmmsUpkeepPlan.equipmentid != null and cmmsUpkeepPlan.equipmentid != ''"> and p.equipmentid = #{cmmsUpkeepPlan.equipmentid}</if>
+        </where>
+    </select>
+
+    <select id="getCmmsUpkeepPlanContentById" parameterType="String" resultMap="CmmsUpkeepPlanResult">
+        select p.id, p.create_by, p.create_time, p.update_by, p.update_time, p.remark, p.plancode, p.planname, p.upkeepprojid, p.projectname, p.address, p.supplier, p.suppliertel, p.linker, p.linkertel, p.chargeruser, p.plandesc, p.begintime, p.repeatnum, p.repeattype, p.noticenum, p.noticetype, p.status, p.nexttime, p.ifnotice, p.noticetime, e.equipmentname as equipmentName
+        from ems_cmms_upkeep_plan as p left join ems_tpm_equipment as e on p.equipmentid = e.id
+        where a.id = #{id}
+    </select>
+
+</mapper>

+ 11 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/ICmmsUpkeepPlanService.java

@@ -1,7 +1,11 @@
 package org.jeecg.modules.cmmsUpkeepPlan.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto;
+
+import java.util.List;
 
 /**
  * @Description: 保养计划
@@ -11,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICmmsUpkeepPlanService extends IService<CmmsUpkeepPlan> {
 
+    /**
+     * 分页列表查询
+     * 根据设备id查找设备名称并进行两表字段拼接
+     *
+     */
+    public List<CmmsUpkeepPlanDto> getAllCmmsUpkeepPlan(Page<CmmsUpkeepPlanDto> page, CmmsUpkeepPlan cmmsUpkeepPlan);
+
 }

+ 26 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/impl/CmmsUpkeepPlanServiceImpl.java

@@ -1,12 +1,17 @@
 package org.jeecg.modules.cmmsUpkeepPlan.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan;
+import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto;
 import org.jeecg.modules.cmmsUpkeepPlan.mapper.CmmsUpkeepPlanMapper;
 import org.jeecg.modules.cmmsUpkeepPlan.service.ICmmsUpkeepPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.List;
+
 /**
  * @Description: 保养计划
  * @Author: jeecg-boot
@@ -16,4 +21,25 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper, CmmsUpkeepPlan> implements ICmmsUpkeepPlanService {
 
+    @Autowired
+    @SuppressWarnings("all")
+    private CmmsUpkeepPlanMapper cmmsUpkeepPlanMapper;
+
+    /**
+     * 分页列表查询
+     * 根据设备id查找设备名称并进行两表字段拼接
+     *
+     */
+    public List<CmmsUpkeepPlanDto> getAllCmmsUpkeepPlan(Page<CmmsUpkeepPlanDto> page, CmmsUpkeepPlan cmmsUpkeepPlan){
+        return cmmsUpkeepPlanMapper.getAllCmmsUpkeepPlan(page, cmmsUpkeepPlan);
+    }
+
+    /**
+     * 编辑修改后更新保养计划以及保养计划-保养项
+     *
+     */
+//    public boolean updateCmmsUpkeepPlan(CmmsUpkeepPlanDto cmmsUpkeepPlanDto){
+//        return true;
+//    }
+
 }

+ 195 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/controller/CmmsUpkeepPlanItemController.java

@@ -0,0 +1,195 @@
+package org.jeecg.modules.cmmsUpkeepPlanItem.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItem;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItemDto;
+import org.jeecg.modules.cmmsUpkeepPlanItem.service.ICmmsUpkeepPlanItemService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 保养计划-保养项
+ * @Author: jeecg-boot
+ * @Date:   2024-01-17
+ * @Version: V1.0
+ */
+@Api(tags="保养计划-保养项")
+@RestController
+@RequestMapping("/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem")
+@Slf4j
+public class CmmsUpkeepPlanItemController extends JeecgController<CmmsUpkeepPlanItem, ICmmsUpkeepPlanItemService> {
+	@Autowired
+	private ICmmsUpkeepPlanItemService cmmsUpkeepPlanItemService;
+
+	 /**
+	  * 根据保养计划id查找保养项
+	  *
+	  * @param id
+	  * @return
+	  */
+	 //@AutoLog(value = "保养计划-保养项-通过保养计划id查询")
+	 @ApiOperation(value="保养计划-保养项-通过保养计划id查询", notes="保养计划-保养项-通过保养计划id查询")
+	 @GetMapping(value = "/getCmmsUpkeepPlanItemByPid")
+	 public Result<List<CmmsUpkeepPlanItemDto>> getCmmsUpkeepPlanItemByPid(@RequestParam(name="id",required=true) String id) {
+		 List<CmmsUpkeepPlanItemDto> cmmsUpkeepPlanItemDtoList = cmmsUpkeepPlanItemService.getCmmsUpkeepPlanItemByPid(id);
+		 if(cmmsUpkeepPlanItemDtoList.size() == 0) {
+			 return Result.error("未找到对应保养项");
+		 }
+		 return Result.OK(cmmsUpkeepPlanItemDtoList);
+	 }
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param cmmsUpkeepPlanItem
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "保养计划-保养项-分页列表查询")
+	@ApiOperation(value="保养计划-保养项-分页列表查询", notes="保养计划-保养项-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CmmsUpkeepPlanItem>> queryPageList(CmmsUpkeepPlanItem cmmsUpkeepPlanItem,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CmmsUpkeepPlanItem> queryWrapper = QueryGenerator.initQueryWrapper(cmmsUpkeepPlanItem, req.getParameterMap());
+		Page<CmmsUpkeepPlanItem> page = new Page<CmmsUpkeepPlanItem>(pageNo, pageSize);
+		IPage<CmmsUpkeepPlanItem> pageList = cmmsUpkeepPlanItemService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param cmmsUpkeepPlanItem
+	 * @return
+	 */
+	@AutoLog(value = "保养计划-保养项-添加")
+	@ApiOperation(value="保养计划-保养项-添加", notes="保养计划-保养项-添加")
+	//@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan_item:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CmmsUpkeepPlanItem cmmsUpkeepPlanItem) {
+		cmmsUpkeepPlanItemService.save(cmmsUpkeepPlanItem);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param cmmsUpkeepPlanItem
+	 * @return
+	 */
+	@AutoLog(value = "保养计划-保养项-编辑")
+	@ApiOperation(value="保养计划-保养项-编辑", notes="保养计划-保养项-编辑")
+	//@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan_item:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CmmsUpkeepPlanItem cmmsUpkeepPlanItem) {
+		cmmsUpkeepPlanItemService.updateById(cmmsUpkeepPlanItem);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "保养计划-保养项-通过id删除")
+	@ApiOperation(value="保养计划-保养项-通过id删除", notes="保养计划-保养项-通过id删除")
+	//@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan_item:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		cmmsUpkeepPlanItemService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "保养计划-保养项-批量删除")
+	@ApiOperation(value="保养计划-保养项-批量删除", notes="保养计划-保养项-批量删除")
+	//@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan_item:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.cmmsUpkeepPlanItemService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "保养计划-保养项-通过id查询")
+	@ApiOperation(value="保养计划-保养项-通过id查询", notes="保养计划-保养项-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CmmsUpkeepPlanItem> queryById(@RequestParam(name="id",required=true) String id) {
+		CmmsUpkeepPlanItem cmmsUpkeepPlanItem = cmmsUpkeepPlanItemService.getById(id);
+		if(cmmsUpkeepPlanItem==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(cmmsUpkeepPlanItem);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param cmmsUpkeepPlanItem
+    */
+    //@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan_item:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CmmsUpkeepPlanItem cmmsUpkeepPlanItem) {
+        return super.exportXls(request, cmmsUpkeepPlanItem, CmmsUpkeepPlanItem.class, "保养计划-保养项");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("ems_cmms_upkeep_plan_item:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CmmsUpkeepPlanItem.class);
+    }
+
+}

+ 63 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/entity/CmmsUpkeepPlanItem.java

@@ -0,0 +1,63 @@
+package org.jeecg.modules.cmmsUpkeepPlanItem.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 保养计划-保养项
+ * @Author: jeecg-boot
+ * @Date:   2024-01-17
+ * @Version: V1.0
+ */
+@Data
+@TableName("ems_cmms_upkeep_plan_item")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ems_cmms_upkeep_plan_item对象", description="保养计划-保养项")
+public class CmmsUpkeepPlanItem implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**保养计划id*/
+	@Excel(name = "保养计划id", width = 15)
+    @ApiModelProperty(value = "保养计划id")
+    private java.lang.String upkeepplanid;
+	/**保养项id*/
+	@Excel(name = "保养项id", width = 15)
+    @ApiModelProperty(value = "保养项id")
+    private java.lang.String upkeepitemid;
+}

+ 32 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/entity/CmmsUpkeepPlanItemDto.java

@@ -0,0 +1,32 @@
+package org.jeecg.modules.cmmsUpkeepPlanItem.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * ClassName: CmmsUpkeepPlanItemDto
+ * Package: org.jeecg.modules.cmmsUpkeepPlanItem.entity
+ * Description:
+ *
+ * @Author sl
+ * @Create 2024/1/17 13:43
+ * @Version 1.0
+ */
+@Data
+public class CmmsUpkeepPlanItemDto extends CmmsUpkeepPlanItem {
+    private String equiptypeName;//设备类型名称
+    /**保养项编号*/
+    private String itemcode;
+    /**保养项名称*/
+    private String itemname;
+    /**设备类型ID(设备定义,可单选可多选,多选设备类型用逗号连接)*/
+    private String equipdefid;
+    /**保养描述*/
+    private String itemcontent;
+    /**备注*/
+    private String remark;
+
+
+}

+ 24 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/mapper/CmmsUpkeepPlanItemMapper.java

@@ -0,0 +1,24 @@
+package org.jeecg.modules.cmmsUpkeepPlanItem.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItemDto;
+
+/**
+ * @Description: 保养计划-保养项
+ * @Author: jeecg-boot
+ * @Date:   2024-01-17
+ * @Version: V1.0
+ */
+public interface CmmsUpkeepPlanItemMapper extends BaseMapper<CmmsUpkeepPlanItem> {
+
+    /**
+     * 根据保养计划id查找保养项
+     *
+     */
+    public List<CmmsUpkeepPlanItemDto> getCmmsUpkeepPlanItemByPid(@Param("upkeepplanid") String upkeepplanid);
+
+}

+ 33 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/mapper/xml/CmmsUpkeepPlanItemMapper.xml

@@ -0,0 +1,33 @@
+<?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="org.jeecg.modules.cmmsUpkeepPlanItem.mapper.CmmsUpkeepPlanItemMapper">
+    <resultMap type="org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItemDto" id="CmmsUpkeepPlanItemResult">
+        <result property="id"    column="id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="upkeepplanid"    column="upkeepplanid"    />
+        <result property="upkeepitemid"    column="upkeepitemid"    />
+        <result property="itemcode"    column="itemcode"    />
+        <result property="itemname"    column="itemname"    />
+        <result property="equipdefid"    column="equipdefid"    />
+        <result property="equiptypeName"    column="equiptypeName"    />
+        <result property="itemcontent"    column="itemcontent"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <select id="getCmmsUpkeepPlanItemByPid" parameterType="String" resultMap="CmmsUpkeepPlanItemResult">
+        select pi.id, pi.create_by, pi.create_time, pi.update_by, pi.update_time,
+        pi.upkeepplanid, pi.upkeepitemid, i.itemcode, i.itemname, i.equipdefid, i.itemcontent, i.remark, t.name as equiptypeName
+        from ems_cmms_upkeep_plan_item as pi
+        left join ems_cmms_upkeep_item as i on pi.upkeepitemid = i.id
+        left join ems_tpm_equipment_tree as t on i.equipdefid = t.id
+        <where>
+            <if test="upkeepplanid != null and upkeepplanid != ''"> and pi.upkeepplanid = #{upkeepplanid}</if>
+        </where>
+    </select>
+
+
+
+</mapper>

+ 24 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/service/ICmmsUpkeepPlanItemService.java

@@ -0,0 +1,24 @@
+package org.jeecg.modules.cmmsUpkeepPlanItem.service;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItemDto;
+
+import java.util.List;
+
+/**
+ * @Description: 保养计划-保养项
+ * @Author: jeecg-boot
+ * @Date:   2024-01-17
+ * @Version: V1.0
+ */
+public interface ICmmsUpkeepPlanItemService extends IService<CmmsUpkeepPlanItem> {
+
+    /**
+     * 根据保养计划id查找保养项
+     *
+     */
+    public List<CmmsUpkeepPlanItemDto> getCmmsUpkeepPlanItemByPid(String upkeepplanid);
+
+}

+ 36 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/service/impl/CmmsUpkeepPlanItemServiceImpl.java

@@ -0,0 +1,36 @@
+package org.jeecg.modules.cmmsUpkeepPlanItem.service.impl;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItem;
+import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItemDto;
+import org.jeecg.modules.cmmsUpkeepPlanItem.mapper.CmmsUpkeepPlanItemMapper;
+import org.jeecg.modules.cmmsUpkeepPlanItem.service.ICmmsUpkeepPlanItemService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
+/**
+ * @Description: 保养计划-保养项
+ * @Author: jeecg-boot
+ * @Date:   2024-01-17
+ * @Version: V1.0
+ */
+@Service
+public class CmmsUpkeepPlanItemServiceImpl extends ServiceImpl<CmmsUpkeepPlanItemMapper, CmmsUpkeepPlanItem> implements ICmmsUpkeepPlanItemService {
+
+    @Autowired
+    @SuppressWarnings("all")
+    private CmmsUpkeepPlanItemMapper cmmsUpkeepPlanItemMapper;
+
+    /**
+     * 根据保养计划id查找保养项
+     *
+     */
+    public List<CmmsUpkeepPlanItemDto> getCmmsUpkeepPlanItemByPid(String upkeepplanid){
+        return cmmsUpkeepPlanItemMapper.getCmmsUpkeepPlanItemByPid(upkeepplanid);
+    }
+
+}

+ 171 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/CmmsUpkeepPlanItemList.vue

@@ -0,0 +1,171 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+    <div class="table-operator">
+      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('保养计划-保养项')">导出</a-button>
+      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+        <a-button type="primary" icon="import">导入</a-button>
+      </a-upload>
+      <!-- 高级查询区域 -->
+      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
+      </a-dropdown>
+    </div>
+
+    <!-- table区域-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
+        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            下载
+          </a-button>
+        </template>
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">编辑</a>
+
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">详情</a>
+              </a-menu-item>
+              <a-menu-item>
+                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+                  <a>删除</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+
+      </a-table>
+    </div>
+
+    <cmms-upkeep-plan-item-modal ref="modalForm" @ok="modalFormOk"></cmms-upkeep-plan-item-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import CmmsUpkeepPlanItemModal from './modules/CmmsUpkeepPlanItemModal'
+
+  export default {
+    name: 'CmmsUpkeepPlanItemList',
+    mixins:[JeecgListMixin, mixinDevice],
+    components: {
+      CmmsUpkeepPlanItemModal
+    },
+    data () {
+      return {
+        description: '保养计划-保养项管理页面',
+        // 表头
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key:'rowIndex',
+            width:60,
+            align:"center",
+            customRender:function (t,r,index) {
+              return parseInt(index)+1;
+            }
+          },
+          {
+            title:'保养项id',
+            align:"center",
+            dataIndex: 'upkeepitemid'
+          },
+          {
+            title: '操作',
+            dataIndex: 'action',
+            align:"center",
+            fixed:"right",
+            width:147,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+        url: {
+          list: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/list",
+          delete: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/delete",
+          deleteBatch: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/deleteBatch",
+          exportXlsUrl: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/exportXls",
+          importExcelUrl: "cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/importExcel",
+          
+        },
+        dictOptions:{},
+        superFieldList:[],
+      }
+    },
+    created() {
+    this.getSuperFieldList();
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    methods: {
+      initDictConfig(){
+      },
+      getSuperFieldList(){
+        let fieldList=[];
+        fieldList.push({type:'string',value:'upkeepitemid',text:'保养项id',dictCode:''})
+        this.superFieldList = fieldList
+      }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>

+ 26 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/CmmsUpkeepPlanItem_menu_insert.sql

@@ -0,0 +1,26 @@
+-- 注意:该页面对应的前台目录为views/cmmsUpkeepPlanItem文件夹下
+-- 如果你想更改到其他目录,请修改sql中component字段对应的值
+
+
+INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
+VALUES ('2024011701372340070', NULL, '保养计划-保养项', '/cmmsUpkeepPlanItem/cmmsUpkeepPlanItemList', 'cmmsUpkeepPlanItem/CmmsUpkeepPlanItemList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 1, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0);
+
+-- 权限控制sql
+-- 新增
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2024011701372340071', '2024011701372340070', '添加保养计划-保养项', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:ems_cmms_upkeep_plan_item:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0, 0, '1', 0);
+-- 编辑
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2024011701372350072', '2024011701372340070', '编辑保养计划-保养项', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:ems_cmms_upkeep_plan_item:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0, 0, '1', 0);
+-- 删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2024011701372350073', '2024011701372340070', '删除保养计划-保养项', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:ems_cmms_upkeep_plan_item:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0, 0, '1', 0);
+-- 批量删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2024011701372350074', '2024011701372340070', '批量删除保养计划-保养项', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:ems_cmms_upkeep_plan_item:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0, 0, '1', 0);
+-- 导出excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2024011701372350075', '2024011701372340070', '导出excel_保养计划-保养项', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:ems_cmms_upkeep_plan_item:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0, 0, '1', 0);
+-- 导入excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2024011701372350076', '2024011701372340070', '导入excel_保养计划-保养项', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:ems_cmms_upkeep_plan_item:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-17 13:37:07', NULL, NULL, 0, 0, '1', 0);

+ 104 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/modules/CmmsUpkeepPlanItemForm.vue

@@ -0,0 +1,104 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item label="保养项id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upkeepitemid">
+              <a-input v-model="model.upkeepitemid" placeholder="请输入保养项id"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+  import { httpAction, getAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+
+  export default {
+    name: 'CmmsUpkeepPlanItemForm',
+    components: {
+    },
+    props: {
+      //表单禁用
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      }
+    },
+    data () {
+      return {
+        model:{
+         },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        confirmLoading: false,
+        validatorRules: {
+        },
+        url: {
+          add: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/add",
+          edit: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/edit",
+          queryById: "/cmmsUpkeepPlanItem/cmmsUpkeepPlanItem/queryById"
+        }
+      }
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+       //备份model原始值
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      submitForm () {
+        const that = this;
+        // 触发表单验证
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+            })
+          }
+         
+        })
+      },
+    }
+  }
+</script>

+ 84 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/modules/CmmsUpkeepPlanItemModal.Style#Drawer.vue

@@ -0,0 +1,84 @@
+<template>
+  <a-drawer
+    :title="title"
+    :width="width"
+    placement="right"
+    :closable="false"
+    @close="close"
+    destroyOnClose
+    :visible="visible">
+    <cmms-upkeep-plan-item-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></cmms-upkeep-plan-item-form>
+    <div class="drawer-footer">
+      <a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button>
+      <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button>
+    </div>
+  </a-drawer>
+</template>
+
+<script>
+
+  import CmmsUpkeepPlanItemForm from './CmmsUpkeepPlanItemForm'
+
+  export default {
+    name: 'CmmsUpkeepPlanItemModal',
+    components: {
+      CmmsUpkeepPlanItemForm
+    },
+    data () {
+      return {
+        title:"操作",
+        width:800,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        });
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleOk () {
+        this.$refs.realForm.submitForm();
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+/** Button按钮间距 */
+  .ant-btn {
+    margin-left: 30px;
+    margin-bottom: 30px;
+    float: right;
+  }
+  .drawer-footer{
+    position: absolute;
+    bottom: -8px;
+    width: 100%;
+    border-top: 1px solid #e8e8e8;
+    padding: 10px 16px;
+    text-align: right;
+    left: 0;
+    background: #fff;
+    border-radius: 0 0 2px 2px;
+  }
+</style>

+ 60 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlanItem/vue/modules/CmmsUpkeepPlanItemModal.vue

@@ -0,0 +1,60 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭">
+    <cmms-upkeep-plan-item-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></cmms-upkeep-plan-item-form>
+  </j-modal>
+</template>
+
+<script>
+
+  import CmmsUpkeepPlanItemForm from './CmmsUpkeepPlanItemForm'
+  export default {
+    name: 'CmmsUpkeepPlanItemModal',
+    components: {
+      CmmsUpkeepPlanItemForm
+    },
+    data () {
+      return {
+        title:'',
+        width:800,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleOk () {
+        this.$refs.realForm.submitForm();
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>