|
@@ -1,127 +0,0 @@
|
|
|
-package com.factory.scheduled;
|
|
|
-
|
|
|
-import cn.hutool.core.convert.Convert;
|
|
|
-import cn.hutool.json.JSONUtil;
|
|
|
-import com.factory.base.entity.enumPo.CheckTypeSubmit;
|
|
|
-import com.factory.base.entity.po.benteler.*;
|
|
|
-import com.factory.web.entity.vo.res.web.ini.PagePlanRes;
|
|
|
-import com.factory.web.mapper.ini.BentelerIniVersionMapper;
|
|
|
-import com.factory.web.service.BentelerPlanService;
|
|
|
-import com.factory.web.service.ini.*;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
-import org.springframework.scheduling.annotation.Scheduled;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
-import java.time.LocalDate;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-import java.util.stream.IntStream;
|
|
|
-
|
|
|
-@Slf4j
|
|
|
-@Component
|
|
|
-@EnableScheduling
|
|
|
-@Transactional(rollbackFor = Exception.class)
|
|
|
-public class CreateIniBase {
|
|
|
- @Autowired
|
|
|
- private BentelerIniVersionMapper versionMapper;
|
|
|
- @Autowired
|
|
|
- private BentelerPlanService planService;
|
|
|
- @Autowired
|
|
|
- private BentelerIniVersionService versionService;
|
|
|
- @Autowired
|
|
|
- private BentelerIniCheckResultService checkResultService;
|
|
|
- @Autowired
|
|
|
- private BentelerIniCheckTypeService checkTypeService;
|
|
|
- @Autowired
|
|
|
- private BentelerIniCheckItemService checkItemService;
|
|
|
- @Autowired
|
|
|
- private BentelerIniVersionItemService versionItemService;
|
|
|
-
|
|
|
- /**
|
|
|
- * 每天0点执行
|
|
|
- * 创建
|
|
|
- * 结果单 Result
|
|
|
- * 点检分类表 checkType
|
|
|
- * 点检结果表 CheckItem
|
|
|
- */
|
|
|
- @Scheduled(cron = "0 0 0 * * ?")
|
|
|
- public void creat() {
|
|
|
- List<PagePlanRes> planlist = versionMapper.Planlist(null, null, null, null);
|
|
|
- Map<Long, List<PagePlanRes>> versionId_res_Map = planlist.stream()
|
|
|
- //过滤
|
|
|
- .filter(plan -> {
|
|
|
-
|
|
|
- Long versionId = plan.getVersionId();
|
|
|
- BentelerIniVersion version = versionService.getById(versionId);
|
|
|
- return version.getBeginDate().compareTo(LocalDate.now()) < 1;
|
|
|
- })
|
|
|
- //版本id分组
|
|
|
- .collect(Collectors.groupingBy(PagePlanRes::getVersionId));
|
|
|
-
|
|
|
- ArrayList<BentelerIniCheckType> checkTypeList = new ArrayList<>();
|
|
|
- ArrayList<BentelerIniCheckItem> checkItems = new ArrayList<>();
|
|
|
-
|
|
|
- versionId_res_Map.entrySet().forEach(map -> {
|
|
|
- BentelerIniVersion version = versionService.getById(map.getKey());
|
|
|
- BentelerPlan plan = planService.getById(version.getPlanId());
|
|
|
- //创建结果单
|
|
|
- BentelerIniCheckResult result = BentelerIniCheckResult.builder()
|
|
|
- .planId(plan.getId())
|
|
|
- .versionId(version.getId())
|
|
|
- .checkStatus(0)
|
|
|
- .abnormalFlag(false)
|
|
|
- .build();
|
|
|
- checkResultService.save(result);
|
|
|
-
|
|
|
- String allChecktype = version.getAllChecktype();
|
|
|
- List<Integer> integers = Convert.toList(Integer.class, allChecktype);
|
|
|
- //分类循环
|
|
|
- integers.forEach(inte -> {
|
|
|
- //创建分类结果提交记录表
|
|
|
- BentelerIniCheckType checkType = BentelerIniCheckType.builder()
|
|
|
- .checkResultId(result.getId())
|
|
|
- .checkType(inte)
|
|
|
- .status(CheckTypeSubmit.未保存.value)
|
|
|
- .build();
|
|
|
-
|
|
|
- checkTypeList.add(checkType);
|
|
|
- //每一个点检项创建一个 点检项结果表
|
|
|
- map.getValue().forEach(item -> {
|
|
|
- BentelerIniVersionItem versionItem = versionItemService.getById(item.getVersionItemId());
|
|
|
-
|
|
|
- BentelerIniCheckItem checkItem = BentelerIniCheckItem.builder()
|
|
|
- .versionItemId(item.getVersionItemId())
|
|
|
- .checkResultId(result.getId())
|
|
|
- .checkType(inte)
|
|
|
- .dataType(versionItem.getDataType())
|
|
|
- .build();
|
|
|
- //填充空的得分json
|
|
|
- Integer begin = versionItem.getWorkStationBegin();
|
|
|
- Integer end = versionItem.getWorkStationEnd();
|
|
|
- List<IniGread> greads = IntStream.rangeClosed(begin, end)//
|
|
|
- .boxed()
|
|
|
- .map(workNum -> IniGread.builder()
|
|
|
- .GreadFlag(versionItem.getDataType().equals(0))
|
|
|
- .build())
|
|
|
- .collect(Collectors.toList());
|
|
|
- String greadJson = JSONUtil.toJsonStr(greads);
|
|
|
- checkItem.setGread(greadJson);
|
|
|
- checkItems.add(checkItem);
|
|
|
- });
|
|
|
-
|
|
|
- });
|
|
|
- });
|
|
|
- checkTypeService.saveBatch(checkTypeList);
|
|
|
- checkItemService.saveBatch(checkItems);
|
|
|
-
|
|
|
- log.info("创建" + LocalDate.now().toString() + "日 基础表单成功");
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|