hfxc226 3 years ago
parent
commit
60db64600b

+ 45 - 2
platform-dao/src/main/java/com/platform/dao/util/CustomExcelImportUtil.java

@@ -5,6 +5,7 @@ import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
+import com.platform.dao.entity.check.CheckJob;
 import com.platform.dao.entity.check.CheckStandard;
 import com.platform.dao.entity.purchase.*;
 import com.platform.dao.entity.sb.SbInfo;
@@ -462,13 +463,13 @@ public class CustomExcelImportUtil {
     public static void main(String[] args) throws IOException, InvalidFormatException {
         //String path = "C:\\Users\\cyz\\Downloads\\老版维保计划\\noperson";
         //File dirFile = new File("C:\\Users\\cyz\\Downloads\\老版维保计划\\noperson");
-        String[] files = {"C:\\Users\\LTKJ\\Downloads\\备件基础信息20220113205723195.xls"};
+        String[] files = {"C:\\Users\\LTKJ\\Downloads\\2022.1.28保养任务 终版 导入.xls"};
         for(String fileStr:files){
             System.out.println(fileStr);
             InputStream inputstream = new FileInputStream(fileStr);
             LocalDateTime now = LocalDateTime.now();
             //List<SbInfoVO> list = importSbInfoList(inputstream);
-            List<SparePartInfoVO> list = importSparePartInfoListForUpdate(inputstream);
+            List<CheckJob> list = importCheckJobList(inputstream);
             list.forEach(item -> {
                 System.out.println(item.toString());
             });
@@ -1185,6 +1186,48 @@ public class CustomExcelImportUtil {
         return result;
     }
 
+    /**
+     * 导入点检任务,更新时间
+     *
+     * @param inputstream
+     * @return
+     * @throws IOException
+     * @throws InvalidFormatException
+     */
+    public static List<CheckJob> importCheckJobList(InputStream inputstream) throws IOException, InvalidFormatException {
+        if (inputstream == null) {
+            return Collections.emptyList();
+        }
+        Workbook book = null;
+        if (!(inputstream.markSupported())) {
+            inputstream = new PushbackInputStream(inputstream, 8);
+        }
+        if (POIFSFileSystem.hasPOIFSHeader(inputstream)) {
+            book = new HSSFWorkbook(inputstream);
+        } else if (POIXMLDocument.hasOOXMLHeader(inputstream)) {
+            book = new XSSFWorkbook(OPCPackage.open(inputstream));
+        }
+        Sheet sheet = book.getSheetAt(0);
+        int rowCounts = sheet.getLastRowNum();
+        List<CheckJob> result = new ArrayList<>(rowCounts);
+        CheckJob record = null;
+        StringBuffer error = new StringBuffer();
+        LOGGER.info("文件行数:" + rowCounts);
+        for (int i = 2; i <= rowCounts; i++) {
+            record = new CheckJob();
+            Row row = sheet.getRow(i);
+            if(isRowEmpty(row)){
+                break;
+            }
+            record.setId(getCellValue(row.getCell(0)));
+            String startDate = getCellValue(row.getCell(10)).trim();
+            record.setStartTime(DateUtils.strToLocalDate(startDate, DateUtils.PATTERN_YMD));
+            result.add(record);
+        }
+        return result;
+    }
+
+
     /**
      * 导入修改,导入的模板是导出的ExportCheckStandardVO
      *

+ 3 - 0
platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml

@@ -279,6 +279,9 @@
                 <if test="item.receiveOvertime != null and item.receiveOvertime != ''">
                     receive_overtime = #{item.receiveOvertime}
                 </if>
+                <if test="item.startTime != null">
+                    start_time = #{item.startTime}
+                </if>
             </set>
             where id = #{item.id}
         </foreach>

+ 15 - 0
platform-rest/src/main/java/com/platform/rest/controller/check/CheckJobController.java

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
 import lombok.AllArgsConstructor;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.rest.log.annotation.SysLog;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
@@ -242,4 +243,18 @@ public class CheckJobController {
         return new R<>("已完成");
     }
 
+    /**
+     * 导入保养标准
+     *
+     * @param file bom excel文件
+     *
+     * @return R
+     */
+    @SysLog("修改导入保养任务执行时间")
+    @PostMapping(value="/import/update",headers = "content-type=multipart/form-data")
+    public R importListByUpdate( @RequestParam("file") MultipartFile file) throws Exception {
+        String result = checkJobService.importListByUpdate(file);
+        return new R<>(result);
+    }
+
 }

+ 3 - 0
platform-service/src/main/java/com/platform/service/check/CheckJobService.java

@@ -9,6 +9,7 @@ import com.platform.dao.vo.report.CheckJobReportVO;
 import com.platform.dao.vo.report.CheckJobReportWeekHoursVO;
 import com.platform.dao.vo.tuicalendar.TuiCalendar;
 import com.platform.service.base.IBaseService;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.time.LocalDate;
 import java.util.List;
@@ -144,4 +145,6 @@ public interface CheckJobService extends IBaseService<CheckJob, CheckJobDTO> {
      * @param dto
      */
     void modWorkHour(CheckJobReportWeekHoursVO dto );
+
+    String importListByUpdate(MultipartFile file);
 }

+ 20 - 0
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -22,9 +22,11 @@ import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
 import com.platform.dao.entity.upms.SysConfig;
 import com.platform.dao.entity.upms.SysFile;
+import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.enums.*;
 import com.platform.dao.mapper.check.*;
 import com.platform.dao.mapper.upms.SysFileMapper;
+import com.platform.dao.util.CustomExcelImportUtil;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.query.check.*;
 import com.platform.dao.vo.repair.RepairApplicationFormVO;
@@ -46,6 +48,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
@@ -1420,4 +1423,21 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
     public void modWorkHour(CheckJobReportWeekHoursVO dto) {
 
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String importListByUpdate(MultipartFile file) {
+        try {
+            List<CheckJob> items = CustomExcelImportUtil.importCheckJobList(file.getInputStream());
+            if (!CollectionUtils.isEmpty(items)) {
+                mapper.updateBatch(items);
+            }
+            return "成功: "  +  items.size()+ ";";
+        } catch (Exception e) {
+            System.out.println("file.getOriginalFilename():" + file.getOriginalFilename() );
+            return ("失败:" +  file.getOriginalFilename() + ":"+ e.getMessage()+ ";");
+
+        }
+    }
+
 }