|
@@ -0,0 +1,122 @@
|
|
|
+package com.rongwei.bscommon.sys.config;
|
|
|
+
|
|
|
+import com.alibaba.excel.context.AnalysisContext;
|
|
|
+import com.alibaba.excel.event.AnalysisEventListener;
|
|
|
+import com.alibaba.excel.read.listener.ReadListener;
|
|
|
+import com.alibaba.excel.util.ListUtils;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.rongwei.bscommon.sys.dao.EquMaintenancePartDao;
|
|
|
+import com.rongwei.bscommon.sys.excel.EquMaintenanceStandardTemplate;
|
|
|
+import com.rongwei.bscommon.sys.feign.RwAdminFeign;
|
|
|
+import com.rongwei.bscommon.sys.utils.CommonUtils;
|
|
|
+import com.rongwei.bsentity.domain.EquMaintenancePartDo;
|
|
|
+import com.rongwei.bsentity.domain.EquMaintenanceStandardDo;
|
|
|
+import com.rongwei.bsentity.enums.EquipmentTypeEnum;
|
|
|
+import com.rongwei.bsentity.enums.MaintenanceTypeEnum;
|
|
|
+import com.rongwei.bsentity.enums.PlantEnum;
|
|
|
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
|
+import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
+import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+
|
|
|
+import java.io.Serializable;
|
|
|
+import java.lang.reflect.Field;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author shangmi
|
|
|
+ * @title ExcelListener
|
|
|
+ * @date 2023/12/7 16:09
|
|
|
+ * @description EquMaintenanceStandard监听器
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+public class EquMaintenanceStandardListener extends AnalysisEventListener<EquMaintenanceStandardTemplate> {
|
|
|
+
|
|
|
+ private static final String[] NON_SET = {"equipmenttype","maintenancetype","maintenancesite","maintenancecontext","precontrol","means"};
|
|
|
+
|
|
|
+ private List<EquMaintenanceStandardDo> maintenanceStandardList = new ArrayList<>();
|
|
|
+
|
|
|
+ private List<String> errorData = new ArrayList<>();
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void invoke(EquMaintenanceStandardTemplate maintenanceStandardTemplate, AnalysisContext analysisContext) {
|
|
|
+ try {
|
|
|
+ log.info("解析到一条数据:{}",maintenanceStandardTemplate);
|
|
|
+ for (Field field : maintenanceStandardTemplate.getClass().getDeclaredFields()){
|
|
|
+ field.setAccessible(true);
|
|
|
+ String name = field.getName();
|
|
|
+ if (Objects.isNull(field.get(maintenanceStandardTemplate))&& Arrays.asList(NON_SET).contains(name)){
|
|
|
+ errorData.add((analysisContext.readRowHolder().getRowIndex()+1)+"行存在必填数据为空的情况,请填写完整!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ EquMaintenanceStandardDo e = migrateDate(maintenanceStandardTemplate);
|
|
|
+ maintenanceStandardList.add(e);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<EquMaintenanceStandardDo> getMaintenanceStandardList(){
|
|
|
+ return this.maintenanceStandardList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public List<String> getErrorData(){
|
|
|
+ return this.errorData;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 数据转换
|
|
|
+ *
|
|
|
+ * @param equMaintenanceStandardTemplate
|
|
|
+ * @return {@link EquMaintenanceStandardDo}
|
|
|
+ * @date 2023/12/8 10:14
|
|
|
+ * @author shangmi
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
+ private EquMaintenanceStandardDo migrateDate(EquMaintenanceStandardTemplate equMaintenanceStandardTemplate){
|
|
|
+ Date date = new Date();
|
|
|
+ SysUserVo currentUser = CommonUtils.getCurrentUser();
|
|
|
+ EquMaintenanceStandardDo equMaintenanceStandardDo = new EquMaintenanceStandardDo();
|
|
|
+ BeanUtils.copyProperties(equMaintenanceStandardTemplate,equMaintenanceStandardDo);
|
|
|
+ equMaintenanceStandardDo.setMaintenancetype(MaintenanceTypeEnum.messageOf(equMaintenanceStandardTemplate.getMaintenancetype()).toString())
|
|
|
+ .setEquipmenttype(EquipmentTypeEnum.messageOf(equMaintenanceStandardTemplate.getEquipmenttype()).toString())
|
|
|
+ .setCreatedate(date)
|
|
|
+ .setModifydate(date)
|
|
|
+ .setId(SecurityUtil.getUUID())
|
|
|
+ // .setTenantid(currentUser.getTenantid())
|
|
|
+ .setTenantid("0001S31000000000J0TR")
|
|
|
+ // .setCreateusername(currentUser.getName())
|
|
|
+ // .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);
|
|
|
+ return equMaintenanceStandardDo;
|
|
|
+ }
|
|
|
+}
|