Browse Source

设备加字段; 送检工单新增、修改;

LLL 1 year ago
parent
commit
78a6d5086c

+ 114 - 38
module_cmms/src/main/java/org/jeecg/modules/cmmsSubmission/controller/CmmsSubmissionController.java

@@ -1,42 +1,37 @@
 package org.jeecg.modules.cmmsSubmission.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.cmmsSubmission.entity.CmmsSubmission;
-import org.jeecg.modules.cmmsSubmission.service.ICmmsSubmissionService;
-
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 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.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.cmmsSubmission.convert.CmmsSubmissionConvert;
+import org.jeecg.modules.cmmsSubmission.dto.CmmsSubmissionAddDTO;
+import org.jeecg.modules.cmmsSubmission.dto.CmmsSubmissionUpdateDTO;
+import org.jeecg.modules.cmmsSubmission.entity.CmmsSubmission;
+import org.jeecg.modules.cmmsSubmission.service.ICmmsSubmissionService;
+import org.jeecg.modules.cmmsSubmissionEquipment.entity.CmmsSubmissionEquipment;
+import org.jeecg.modules.cmmsSubmissionEquipment.service.ICmmsSubmissionEquipmentService;
+import org.jeecg.modules.sysUploadFile.entity.SysUploadFile;
+import org.jeecg.modules.sysUploadFile.service.ISysUploadFileService;
 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;
 
- /**
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
  * @Description: 送检工单表
  * @Author: jeecg-boot
  * @Date:   2024-01-29
@@ -49,7 +44,11 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 public class CmmsSubmissionController extends JeecgController<CmmsSubmission, ICmmsSubmissionService> {
 	@Autowired
 	private ICmmsSubmissionService cmmsSubmissionService;
-	
+	@Autowired
+	private ICmmsSubmissionEquipmentService submissionEquipmentService;
+	@Autowired
+	private ISysUploadFileService sysUploadFileService;
+
 	/**
 	 * 分页列表查询
 	 *
@@ -71,37 +70,114 @@ public class CmmsSubmissionController extends JeecgController<CmmsSubmission, IC
 		IPage<CmmsSubmission> pageList = cmmsSubmissionService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
-	
+
 	/**
 	 *   添加
 	 *
-	 * @param cmmsSubmission
+	 * @param dto
 	 * @return
 	 */
 	@AutoLog(value = "送检工单表-添加")
 	@ApiOperation(value="送检工单表-添加", notes="送检工单表-添加")
 	//@RequiresPermissions("org.jeecg.modules:cmms_submission:add")
 	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody CmmsSubmission cmmsSubmission) {
+	public Result<String> add(@RequestBody CmmsSubmissionAddDTO dto) {
+		CmmsSubmission cmmsSubmission = CmmsSubmissionConvert.INSTANCE.convert(dto);
 		cmmsSubmissionService.save(cmmsSubmission);
+
+		/**设备集合*/
+		String equipmentids = dto.getEquipmentids();
+		if(equipmentids!=null && !equipmentids.equals("")){
+			List<String> equipmentidList = Arrays.asList(equipmentids.split(","));
+			List<CmmsSubmissionEquipment> submissionEquipmentList = equipmentidList.stream().map(i->{
+				CmmsSubmissionEquipment submissionEquipment = new CmmsSubmissionEquipment();
+				submissionEquipment.setCmmsSubmissionId(cmmsSubmission.getId());
+				submissionEquipment.setEquipmentid(i);
+				return submissionEquipment;
+			}).collect(Collectors.toList());
+			submissionEquipmentService.saveBatch(submissionEquipmentList);
+		}
+		/**上传文件地址集合*/
+		String files = dto.getFiles();
+		if(files!=null && !files.equals("")){
+			List<String> fileList = Arrays.asList(files.split(","));
+			List<SysUploadFile> sysUploadFileList = fileList.stream().map(i->{
+				SysUploadFile sysUploadFile = new SysUploadFile();
+				sysUploadFile.setRelid(cmmsSubmission.getId());
+				sysUploadFile.setUrl(i);
+				return sysUploadFile;
+			}).collect(Collectors.toList());
+			sysUploadFileService.saveBatch(sysUploadFileList);
+		}
+
 		return Result.OK("添加成功!");
 	}
-	
+
 	/**
 	 *  编辑
 	 *
-	 * @param cmmsSubmission
+	 * @param dto
 	 * @return
 	 */
 	@AutoLog(value = "送检工单表-编辑")
 	@ApiOperation(value="送检工单表-编辑", notes="送检工单表-编辑")
 	//@RequiresPermissions("org.jeecg.modules:cmms_submission:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody CmmsSubmission cmmsSubmission) {
+	public Result<String> edit(@RequestBody CmmsSubmissionUpdateDTO dto) {
+		CmmsSubmission cmmsSubmission = CmmsSubmissionConvert.INSTANCE.convertTo(dto);
+		String equipmentids = dto.getEquipmentids();
+
+		LambdaQueryWrapper<CmmsSubmissionEquipment> wrapper = new LambdaQueryWrapper<>();
+		wrapper.eq(CmmsSubmissionEquipment::getCmmsSubmissionId,dto.getId());
+		List<CmmsSubmissionEquipment> submissionEquipmentList = submissionEquipmentService.list(wrapper);//原设备集合
+
+		if(equipmentids!=null && !equipmentids.equals("")){
+			/**修改后的设备集合*/
+			List<String> equipmentidUpdateList = Arrays.asList(equipmentids.split(","));
+			List<String> elementsToAdd = new ArrayList<>();
+			List<String> elementsToDelete = new ArrayList<>();
+
+			if(submissionEquipmentList!=null && submissionEquipmentList.size()>0){
+				/**原设备集合*/
+				List<String> originalEquipmentIds = submissionEquipmentList.stream()
+						.map(CmmsSubmissionEquipment::getEquipmentid)
+						.collect(Collectors.toList());
+
+				//用于新增
+				elementsToAdd = new ArrayList<>(equipmentidUpdateList);
+				elementsToAdd.removeAll(originalEquipmentIds);
+				//用于删除
+				elementsToDelete = new ArrayList<>(originalEquipmentIds);
+				elementsToDelete.removeAll(equipmentidUpdateList);
+				for (String equipmentId : elementsToDelete) {
+					LambdaQueryWrapper<CmmsSubmissionEquipment> wrapper1 = new LambdaQueryWrapper<>();
+					wrapper1.eq(CmmsSubmissionEquipment::getCmmsSubmissionId,dto.getId());
+					wrapper1.eq(CmmsSubmissionEquipment::getEquipmentid,equipmentId);
+					submissionEquipmentService.remove(wrapper1);
+				}
+			}else {
+				elementsToAdd = equipmentidUpdateList;
+			}
+
+
+			if(elementsToAdd!=null && elementsToAdd.size()>0){
+				List<CmmsSubmissionEquipment> elementsToAddList = elementsToAdd.stream().map(i->{
+					CmmsSubmissionEquipment equipment = new CmmsSubmissionEquipment();
+					equipment.setEquipmentid(i);
+					equipment.setCmmsSubmissionId(dto.getId());
+					return equipment;
+				}).collect(Collectors.toList());
+				submissionEquipmentService.saveBatch(elementsToAddList);
+			}
+		}else {
+			LambdaQueryWrapper<CmmsSubmissionEquipment> removeWrapper = new LambdaQueryWrapper<>();
+			removeWrapper.eq(CmmsSubmissionEquipment::getCmmsSubmissionId,dto.getId());
+			submissionEquipmentService.remove(removeWrapper);
+		}
 		cmmsSubmissionService.updateById(cmmsSubmission);
 		return Result.OK("编辑成功!");
 	}
-	
+
 	/**
 	 *   通过id删除
 	 *
@@ -116,7 +192,7 @@ public class CmmsSubmissionController extends JeecgController<CmmsSubmission, IC
 		cmmsSubmissionService.removeById(id);
 		return Result.OK("删除成功!");
 	}
-	
+
 	/**
 	 *  批量删除
 	 *
@@ -131,7 +207,7 @@ public class CmmsSubmissionController extends JeecgController<CmmsSubmission, IC
 		this.cmmsSubmissionService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("批量删除成功!");
 	}
-	
+
 	/**
 	 * 通过id查询
 	 *

+ 22 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsSubmission/convert/CmmsSubmissionConvert.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.cmmsSubmission.convert;
+
+import org.jeecg.modules.cmmsSubmission.dto.CmmsSubmissionAddDTO;
+import org.jeecg.modules.cmmsSubmission.dto.CmmsSubmissionUpdateDTO;
+import org.jeecg.modules.cmmsSubmission.entity.CmmsSubmission;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+import org.springframework.util.CollectionUtils;
+
+import java.util.stream.Collectors;
+
+@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE,imports ={ CollectionUtils.class, Collectors.class})
+public interface CmmsSubmissionConvert {
+
+    CmmsSubmissionConvert INSTANCE = Mappers.getMapper(CmmsSubmissionConvert.class);
+
+    CmmsSubmission convert (CmmsSubmissionAddDTO dto);
+
+    CmmsSubmission convertTo (CmmsSubmissionUpdateDTO dto);
+
+}

+ 41 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsSubmission/dto/CmmsSubmissionAddDTO.java

@@ -0,0 +1,41 @@
+package org.jeecg.modules.cmmsSubmission.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+
+@Data
+public class CmmsSubmissionAddDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+    /**送检负责人*/
+    @Excel(name = "送检负责人", width = 15)
+    @ApiModelProperty(value = "送检负责人")
+    private java.lang.String verificatePerson;
+    /**检定方式*/
+    @Excel(name = "检定方式", width = 15, dicCode = "verificate_method")
+    @Dict(dicCode = "verificate_method")
+    @ApiModelProperty(value = "检定方式")
+    private java.lang.String verificateMethod;
+    /**检定单位id*/
+    @Excel(name = "检定单位id", width = 15, dictTable = "base_client", dicText = "client_name", dicCode = "id")
+    @Dict(dictTable = "base_client", dicText = "client_name", dicCode = "id")
+    @ApiModelProperty(value = "检定单位id")
+    private java.lang.String verificateClientId;
+    /**备注*/
+    @Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+    private java.lang.String remark;
+
+    /**设备集合*/
+    private String equipmentids;
+
+    /**上传文件地址集合*/
+    private String files;
+
+
+}

+ 46 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsSubmission/dto/CmmsSubmissionUpdateDTO.java

@@ -0,0 +1,46 @@
+package org.jeecg.modules.cmmsSubmission.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+
+@Data
+public class CmmsSubmissionUpdateDTO  implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**主键*/
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+    /**送检负责人*/
+    @Excel(name = "送检负责人", width = 15)
+    @ApiModelProperty(value = "送检负责人")
+    private java.lang.String verificatePerson;
+    /**检定方式*/
+    @Excel(name = "检定方式", width = 15, dicCode = "verificate_method")
+    @Dict(dicCode = "verificate_method")
+    @ApiModelProperty(value = "检定方式")
+    private java.lang.String verificateMethod;
+    /**检定单位id*/
+    @Excel(name = "检定单位id", width = 15, dictTable = "base_client", dicText = "client_name", dicCode = "id")
+    @Dict(dictTable = "base_client", dicText = "client_name", dicCode = "id")
+    @ApiModelProperty(value = "检定单位id")
+    private java.lang.String verificateClientId;
+    /**备注*/
+    @Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+    private java.lang.String remark;
+
+    /**设备集合*/
+    private String equipmentids;
+
+    /**上传文件地址集合*/
+    private String files;
+
+
+}

+ 43 - 0
module_tpm/src/main/java/org/jeecg/modules/tpmEquipment/entity/TpmEquipment.java

@@ -81,4 +81,47 @@ public class TpmEquipment implements Serializable {
 	/**所属部门*/
     @ApiModelProperty(value = "所属部门")
     private java.lang.String sysOrgCode;
+
+    /**周期*/
+    @Excel(name = "周期", width = 15)
+    @ApiModelProperty(value = "周期")
+    private java.lang.Integer equipmentCycle;
+    /**周期单位*/
+    @Excel(name = "周期单位", width = 15, dicCode = "cycle_unit")
+    @Dict(dicCode = "cycle_unit")
+    @ApiModelProperty(value = "周期单位")
+    private java.lang.String cycleUnit;
+    /**出厂编号*/
+    @Excel(name = "出厂编号", width = 15)
+    @ApiModelProperty(value = "出厂编号")
+    private java.lang.String factoryNo;
+    /**出厂日期*/
+    @Excel(name = "出厂日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "出厂日期")
+    private java.util.Date productDate;
+    /**启用日期*/
+    @Excel(name = "启用日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "启用日期")
+    private java.util.Date activeDate;
+    /**责任部门*/
+    @Excel(name = "责任部门", width = 15)
+    @ApiModelProperty(value = "责任部门")
+    private java.lang.String responseDepartment;
+    /**负责人*/
+    @Excel(name = "负责人", width = 15)
+    @ApiModelProperty(value = "负责人")
+    private java.lang.String responsePerson;
+    /**领用人*/
+    @Excel(name = "领用人", width = 15)
+    @ApiModelProperty(value = "领用人")
+    private java.lang.String recipient;
+    /**管理状态*/
+    @Excel(name = "管理状态", width = 15, dicCode = "manage_status")
+    @Dict(dicCode = "manage_status")
+    @ApiModelProperty(value = "管理状态")
+    private java.lang.String manageStatus;
 }