|
@@ -1,9 +1,10 @@
|
|
|
package com.factory.web.service.impl.pm;
|
|
|
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.List;
|
|
|
import java.util.function.Function;
|
|
|
|
|
|
-import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -13,12 +14,31 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.factory.base.entity.aggregates.PageBean;
|
|
|
import com.factory.base.entity.aggregates.ResponseBean;
|
|
|
+import com.factory.base.entity.enumPo.PlanType;
|
|
|
+import com.factory.base.entity.po.benteler.BentelerIniCheckItem;
|
|
|
import com.factory.base.entity.po.benteler.BentelerPlan;
|
|
|
import com.factory.base.util.res.ResponseBeanBuilder;
|
|
|
-import com.factory.web.entity.pm.PreventMistakePlanListReq;
|
|
|
-import com.factory.web.entity.pm.PreventMistakePlanListRes;
|
|
|
+import com.factory.web.entity.pm.OnsiteCalendar;
|
|
|
+import com.factory.web.entity.pm.OnsiteItem;
|
|
|
+import com.factory.web.entity.pm.OnsiteTitleBlob;
|
|
|
+import com.factory.web.entity.pm.OnsiteWorkshop;
|
|
|
+import com.factory.web.entity.pm.req.AddPmPlanReq;
|
|
|
+import com.factory.web.entity.pm.req.EditPmPlanReq;
|
|
|
+import com.factory.web.entity.pm.req.OnsiteCalendarReq;
|
|
|
+import com.factory.web.entity.pm.req.OnsiteItemReq;
|
|
|
+import com.factory.web.entity.pm.req.OnsiteWorkshopReq;
|
|
|
+import com.factory.web.entity.pm.req.SearchPmPlanListReq;
|
|
|
+import com.factory.web.entity.pm.req.PmPlanPauseFlagReq;
|
|
|
+import com.factory.web.entity.pm.req.SearchPmPlanReq;
|
|
|
+import com.factory.web.entity.pm.req.SearchWorkshopReq;
|
|
|
+import com.factory.web.entity.pm.res.PmPlanListRes;
|
|
|
+import com.factory.web.entity.pm.res.PmPlanRes;
|
|
|
import com.factory.web.mapper.pm.PreventMistakeMapper;
|
|
|
import com.factory.web.service.BentelerPlanService;
|
|
|
+import com.factory.web.service.pm.OnsiteCalendarService;
|
|
|
+import com.factory.web.service.pm.OnsiteItemService;
|
|
|
+import com.factory.web.service.pm.OnsiteTitleBlobService;
|
|
|
+import com.factory.web.service.pm.OnsiteWorkshopService;
|
|
|
import com.factory.web.service.pm.PreventMistakeService;
|
|
|
|
|
|
/**
|
|
@@ -32,37 +52,291 @@ import com.factory.web.service.pm.PreventMistakeService;
|
|
|
public class PreventMistakeServiceImpl extends ServiceImpl<PreventMistakeMapper, BentelerPlan> implements PreventMistakeService {
|
|
|
|
|
|
@Autowired
|
|
|
- private PreventMistakeMapper preventMistakeMapper;
|
|
|
+ private PreventMistakeMapper preventMistakeMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BentelerPlanService planService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OnsiteCalendarService onsiteCalendarService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OnsiteTitleBlobService onsiteTitleBlobService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OnsiteWorkshopService onsiteWorkshopService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OnsiteItemService onsiteItemService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新建防错计划
|
|
|
+ *
|
|
|
+ * @param req
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean addPmPlan(AddPmPlanReq req) {
|
|
|
+ /* 校验计划名称是否存在 */
|
|
|
+ if (this.checkPlanNameExist(req.getBentelerPlanName())) {
|
|
|
+ return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 添加放错计划 */
|
|
|
+ // TODO 计划生效日期
|
|
|
+ BentelerPlan plan = BentelerPlan.builder()
|
|
|
+ .planType(PlanType.防错.value)
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .pauseFlag(false)
|
|
|
+ .build();
|
|
|
+ planService.save(plan);
|
|
|
+
|
|
|
+ /* 添加日周月点检规则 */
|
|
|
+ // TODO 确认个别字段没传或是空串的情况
|
|
|
+ List<OnsiteCalendarReq> onsiteCalendarList = req.getOnsiteCalendarList();
|
|
|
+ for (OnsiteCalendarReq onsiteCalendarReq : onsiteCalendarList) {
|
|
|
+ OnsiteCalendar onsiteCalendar = OnsiteCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .startDay(onsiteCalendarReq.getStartDay())
|
|
|
+ .endDay(onsiteCalendarReq.getEndDay())
|
|
|
+ .dayValidate(onsiteCalendarReq.getDayValidate())
|
|
|
+ .dayOuttime(onsiteCalendarReq.getDayOuttime())
|
|
|
+ .weekDay(onsiteCalendarReq.getWeekDay())
|
|
|
+ .monthDay(onsiteCalendarReq.getMonthDay())
|
|
|
+ .month(onsiteCalendarReq.getMonth())
|
|
|
+ .userId(onsiteCalendarReq.getUserId())
|
|
|
+ .typeFlag(onsiteCalendarReq.getTypeFlag())
|
|
|
+ .build();
|
|
|
+ onsiteCalendarService.save(onsiteCalendar);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 添加表头信息 */
|
|
|
+ // TODO 确认表头传过来的数据类型
|
|
|
+ OnsiteTitleBlob onsiteTitleBlob = OnsiteTitleBlob.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .titleContent(req.getTitleContent().getBytes(StandardCharsets.UTF_8))
|
|
|
+ .build();
|
|
|
+ onsiteTitleBlobService.save(onsiteTitleBlob);
|
|
|
+
|
|
|
+ /* 添加工作站信息 */
|
|
|
+ List<OnsiteWorkshopReq> onsiteWorkshopList = req.getOnsiteWorkshopList();
|
|
|
+ for (OnsiteWorkshopReq onsiteWorkshopReq : onsiteWorkshopList) {
|
|
|
+ if (this.checkWsNameExist(onsiteWorkshopReq.getWsName())) {
|
|
|
+ return ResponseBeanBuilder.fail("工作站名称" + onsiteWorkshopReq.getWsName() + "已存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ OnsiteWorkshop onsiteWorkshop = OnsiteWorkshop.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .wsName(onsiteWorkshopReq.getWsName())
|
|
|
+ .build();
|
|
|
+ onsiteWorkshopService.save(onsiteWorkshop);
|
|
|
+
|
|
|
+ /* 添加巡检项目信息 */
|
|
|
+ List<OnsiteItemReq> onsiteItemList = onsiteWorkshopReq.getOnsiteItemList();
|
|
|
+ for (OnsiteItemReq onsiteItemReq : onsiteItemList) {
|
|
|
+ OnsiteItem onsiteItem = OnsiteItem.builder()
|
|
|
+ .workshopId(onsiteWorkshop.getId())
|
|
|
+ .itemContent(onsiteItemReq.getItemContent())
|
|
|
+ .typeFlag(onsiteItemReq.getTypeFlag())
|
|
|
+ .inspectionFlag(onsiteItemReq.getInspectionFlag())
|
|
|
+ .build();
|
|
|
+ onsiteItemService.save(onsiteItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 校验计划名是否存在
|
|
|
+ *
|
|
|
+ * @param name
|
|
|
+ * @return true存在,false不存在
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean checkPlanNameExist(String name) {
|
|
|
+ int count = planService.count(
|
|
|
+ Wrappers.<BentelerPlan> lambdaQuery().eq(BentelerPlan::getName, name));
|
|
|
+ if (count > 0) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 校验工作站名是否存在
|
|
|
+ *
|
|
|
+ * @param wsName
|
|
|
+ * @return true存在,false不存在
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean checkWsNameExist(String wsName) {
|
|
|
+ int count = onsiteWorkshopService.count(
|
|
|
+ Wrappers.<OnsiteWorkshop> lambdaQuery().eq(OnsiteWorkshop::getWsName, wsName));
|
|
|
+ if (count > 0) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取得防错计划列表
|
|
|
+ *
|
|
|
+ * @param req
|
|
|
+ * @return 防错计划列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean<PageBean<PmPlanListRes>> getPmPlanList(SearchPmPlanListReq req) {
|
|
|
+ Page<PmPlanListRes> page = new Page<>(req.getPage(), req.getSize());
|
|
|
+ Page<PmPlanListRes> listResPage = preventMistakeMapper.getPmPlanList(page, req);
|
|
|
+ return ResponseBeanBuilder.ok(listResPage, Function.identity());
|
|
|
+ }
|
|
|
|
|
|
- @Autowired
|
|
|
- private BentelerPlanService planService;
|
|
|
-
|
|
|
- /**
|
|
|
- * 计划名称是否重复
|
|
|
- * @param name
|
|
|
- * @return
|
|
|
+ /**
|
|
|
+ * 取得防错计划信息
|
|
|
+ * @param req
|
|
|
+ * @return 防错计划信息
|
|
|
*/
|
|
|
- @Override
|
|
|
- public boolean planNameRepetition(String name) {
|
|
|
- List<BentelerPlan> plans = planService.list(Wrappers.<BentelerPlan>lambdaQuery()
|
|
|
- .eq(BentelerPlan::getName, name));
|
|
|
- if (CollectionUtils.isNotEmpty(plans)) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
+ @Override
|
|
|
+ public ResponseBean<PmPlanRes> getPmPlan(SearchPmPlanReq req) {
|
|
|
+ BentelerPlan plan = planService.getById(req.getBentelerPlanId());
|
|
|
+ PmPlanRes pmPlanRes = new PmPlanRes();
|
|
|
+ pmPlanRes.setBentelerPlanId(plan.getId());
|
|
|
+ pmPlanRes.setBentelerPlanName(plan.getName());
|
|
|
+ pmPlanRes.setPlanType(plan.getPlanType());
|
|
|
+
|
|
|
+ List<OnsiteCalendar> onsiteCalendarList = onsiteCalendarService.list(Wrappers.<OnsiteCalendar>lambdaQuery()
|
|
|
+ .eq(OnsiteCalendar::getBentelerPlanId, plan.getId()));
|
|
|
+ pmPlanRes.setOnsiteCalendarList(onsiteCalendarList);
|
|
|
+
|
|
|
+ List<OnsiteWorkshop> onsiteWorkshopList = onsiteWorkshopService.list(Wrappers.<OnsiteWorkshop>lambdaQuery()
|
|
|
+ .eq(OnsiteWorkshop::getBentelerPlanId, plan.getId()));
|
|
|
+ for (OnsiteWorkshop onsiteWorkshop : onsiteWorkshopList) {
|
|
|
+ List<OnsiteItem> onsiteItemList = onsiteItemService.list(Wrappers.<OnsiteItem>lambdaQuery()
|
|
|
+ .eq(OnsiteItem::getWorkshopId, onsiteWorkshop.getId()));
|
|
|
+ onsiteWorkshop.setOnsiteItemList(onsiteItemList);
|
|
|
+ }
|
|
|
+ pmPlanRes.setOnsiteWorkshopList(onsiteWorkshopList);
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok(pmPlanRes);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 取得巡检项目列表
|
|
|
+ /**
|
|
|
+ * 禁用解禁防错计划
|
|
|
* @param req
|
|
|
- * @return 巡检项目列表
|
|
|
+ * @return
|
|
|
*/
|
|
|
- @Override
|
|
|
- public ResponseBean<PageBean<PreventMistakePlanListRes>> getPreventMistakePlanList(PreventMistakePlanListReq req) {
|
|
|
- Page<PreventMistakePlanListRes> page = new Page<>(req.getPage(), req.getSize());
|
|
|
- Page<PreventMistakePlanListRes> listResPage = preventMistakeMapper.getPreventMistakePlanList(page, req);
|
|
|
- return ResponseBeanBuilder.ok(listResPage, Function.identity());
|
|
|
+ @Override
|
|
|
+ public ResponseBean disablePmPlan(PmPlanPauseFlagReq req) {
|
|
|
+ planService.updateById(BentelerPlan.builder()
|
|
|
+ .id(req.getBentelerPlanId())
|
|
|
+ .pauseFlag(req.getPauseFlag())
|
|
|
+ .build());
|
|
|
+ return ResponseBeanBuilder.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取得工作站信息
|
|
|
+ * @param req
|
|
|
+ * @return 工作站信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean<OnsiteWorkshop> getWorkshop(SearchWorkshopReq req) {
|
|
|
+
|
|
|
+ OnsiteWorkshop onsiteWorkshop = onsiteWorkshopService.getById(req.getWorkshopId());
|
|
|
+
|
|
|
+ List<OnsiteItem> onsiteItemList = onsiteItemService.list(Wrappers.<OnsiteItem>lambdaQuery()
|
|
|
+ .eq(OnsiteItem::getWorkshopId, onsiteWorkshop.getId()));
|
|
|
+ onsiteWorkshop.setOnsiteItemList(onsiteItemList);
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok(onsiteWorkshop);
|
|
|
}
|
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
+ * 修改防错计划
|
|
|
+ * @param req
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean editPmPlan(EditPmPlanReq req) {
|
|
|
+ /* 校验计划名称是否存在 */
|
|
|
+ if (this.checkPlanNameExist(req.getBentelerPlanName())) {
|
|
|
+ return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 修改放错计划 */
|
|
|
+ // TODO 计划生效日期
|
|
|
+ BentelerPlan plan = BentelerPlan.builder()
|
|
|
+ .id(req.getBentelerPlanId())
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .build();
|
|
|
+ planService.updateById(plan);
|
|
|
+
|
|
|
+ /* 修改日周月点检规则 */
|
|
|
+ // TODO 确认这个删除好用不
|
|
|
+ onsiteCalendarService.remove(Wrappers.<OnsiteCalendar>lambdaQuery()
|
|
|
+ .eq(OnsiteCalendar::getBentelerPlanId, plan.getId()));
|
|
|
+
|
|
|
+ List<OnsiteCalendarReq> onsiteCalendarList = req.getOnsiteCalendarList();
|
|
|
+ for (OnsiteCalendarReq onsiteCalendarReq : onsiteCalendarList) {
|
|
|
+ OnsiteCalendar onsiteCalendar = OnsiteCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .startDay(onsiteCalendarReq.getStartDay())
|
|
|
+ .endDay(onsiteCalendarReq.getEndDay())
|
|
|
+ .dayValidate(onsiteCalendarReq.getDayValidate())
|
|
|
+ .dayOuttime(onsiteCalendarReq.getDayOuttime())
|
|
|
+ .weekDay(onsiteCalendarReq.getWeekDay())
|
|
|
+ .monthDay(onsiteCalendarReq.getMonthDay())
|
|
|
+ .month(onsiteCalendarReq.getMonth())
|
|
|
+ .userId(onsiteCalendarReq.getUserId())
|
|
|
+ .typeFlag(onsiteCalendarReq.getTypeFlag())
|
|
|
+ .build();
|
|
|
+ onsiteCalendarService.save(onsiteCalendar);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 添加表头信息 */
|
|
|
+ // TODO 确认表头传过来的数据类型
|
|
|
+// LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+// lambdaUpdateWrapper.eq(User::getName, "rhb").set(User::getAge, 18);
|
|
|
+// Integer rows = userMapper.update(null, lambdaUpdateWrapper);
|
|
|
+//
|
|
|
+// onsiteTitleBlobService.update(updateWrapper)
|
|
|
+
|
|
|
+
|
|
|
+ OnsiteTitleBlob onsiteTitleBlob = OnsiteTitleBlob.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .titleContent(req.getTitleContent().getBytes(StandardCharsets.UTF_8))
|
|
|
+ .build();
|
|
|
+ onsiteTitleBlobService.save(onsiteTitleBlob);
|
|
|
+
|
|
|
+ /* 添加工作站信息 */
|
|
|
+ List<OnsiteWorkshopReq> onsiteWorkshopList = req.getOnsiteWorkshopList();
|
|
|
+ for (OnsiteWorkshopReq onsiteWorkshopReq : onsiteWorkshopList) {
|
|
|
+ if (this.checkWsNameExist(onsiteWorkshopReq.getWsName())) {
|
|
|
+ return ResponseBeanBuilder.fail("工作站名称" + onsiteWorkshopReq.getWsName() + "已存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ OnsiteWorkshop onsiteWorkshop = OnsiteWorkshop.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .wsName(onsiteWorkshopReq.getWsName())
|
|
|
+ .build();
|
|
|
+ onsiteWorkshopService.save(onsiteWorkshop);
|
|
|
+
|
|
|
+ /* 添加巡检项目信息 */
|
|
|
+ List<OnsiteItemReq> onsiteItemList = onsiteWorkshopReq.getOnsiteItemList();
|
|
|
+ for (OnsiteItemReq onsiteItemReq : onsiteItemList) {
|
|
|
+ OnsiteItem onsiteItem = OnsiteItem.builder()
|
|
|
+ .workshopId(onsiteWorkshop.getId())
|
|
|
+ .itemContent(onsiteItemReq.getItemContent())
|
|
|
+ .typeFlag(onsiteItemReq.getTypeFlag())
|
|
|
+ .inspectionFlag(onsiteItemReq.getInspectionFlag())
|
|
|
+ .build();
|
|
|
+ onsiteItemService.save(onsiteItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok();
|
|
|
+ }
|
|
|
}
|