车间能级提升-智能设备管理系统
zhuguifei
2025-05-14 496eaf6c859b868cac4aaaa8948b446d759b9d94
更新生成点检记录定时器
已修改9个文件
120 ■■■■■ 文件已修改
eims-ui-mobile/src/pages/home/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims-ui-mobile/src/pages/inspect/insp-record.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims-ui-mobile/src/pages/maint/maint-order.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims-ui-mobile/src/pages/repair/req-list.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims-ui-mobile/src/pages/scan/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectPlanBo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eims-ui-mobile/src/pages/home/index.vue
@@ -161,6 +161,7 @@
import { receiveOrderRepair } from '@/service/mobile'
import { useToast, useMessage } from 'wot-design-uni'
import { ref } from 'vue'
import {isLeader} from "@/utils/RoleUtils";
const message = useMessage()
const toast = useToast()
@@ -212,7 +213,11 @@
  } else {
    switch (item.name) {
      case '接单维修':
        if (isLeader()) {
          toast.info('请登录维修工账号接单')
        } else {
        handleSelectReq()
        }
        break
    }
  }
eims-ui-mobile/src/pages/inspect/insp-record.vue
@@ -83,10 +83,10 @@
        </wd-button>
      </wd-cell>
      <wd-collapse v-model="collSelects" title="点检项" ref="collapseRef">
        <wd-collapse-item :name="item.id" v-for="(item, index) in dataList">
        <wd-collapse-item :name="item.id" v-for="(item, index) in dataList" disabled>
          <template #title="{ expanded, disabled, isFirst }">
            <view class="flex justify-between">
              <view class="flex justify-center items-center">
              <view class="flex justify-center items-center" style="max-width: 60%;">
                <text class="text-sm">{{ item.inspName }}</text>
              </view>
eims-ui-mobile/src/pages/maint/maint-order.vue
@@ -101,10 +101,9 @@
          <view class="flex justify-between">
            <view class="flex items-center menu-title-box">
              <view class="menu-indicator"></view>
              <view class="ml-1 text-sm align-center w-[50%]">
              <view class="ml-1 text-sm align-center">
                <wd-text :text="item.maintName" :lines="1"></wd-text>
              </view>
              <view class="text-color-gray ml-2 text-mini">{{ item.maintCode }}</view>
            </view>
            <view class="flex items-center w-[20%] justify-end">
@@ -114,9 +113,10 @@
            </view>
          </view>
        </template>
        <view class="flex h-[140rpx]" items-center>
        <view class="flex h-[200rpx]" items-center>
          <image class="slot-img text-center" src="/static/ico/ico-platform.png" />
          <view class="flex-1 text-color-gray text-xs flex-row">
            <view class="mr-3 mt-2">保养单号: {{ item.maintCode }}</view>
            <view class="mr-3 mt-2">计划保养日期: {{ item.planTime }}</view>
            <view class="mr-3 mt-2">保养开始时间: {{ item.startTime }}</view>
            <view class="mr-3 mt-2">保养结束时间: {{ item.endTime }}</view>
eims-ui-mobile/src/pages/repair/req-list.vue
@@ -264,7 +264,7 @@
    // 只显示未接单数据
    status.value = 0
    console.log('OnSelectReq', data)
    reloadData()
    // reloadData()
  })
})
@@ -274,7 +274,9 @@
  const sList: any = await getDictInfo(DICT_REPAIR_REQ_STATUS)
  statusList.value.push(...sList)
  setTimeout(() => {
  reloadData()
  }, 800)
}
onLoad(() => {
eims-ui-mobile/src/pages/scan/index.vue
@@ -101,7 +101,9 @@
function initData(assetNo: any) {
  getEquByAssetNo(assetNo)
    .then((res: any) => {
      if (res.data) {
      console.error(res)
      if (res?.equId) {
        exist.value = true
        Object.assign(model, res)
      } else {
        toast.error('未查询到该资产编号相关数据!')
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectPlanBo.java
@@ -65,7 +65,6 @@
    /**
     * 点检周期单位(字典)
     */
    @NotBlank(message = "点检周期单位(字典)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String inspCycleUnit;
    /**
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java
@@ -49,51 +49,55 @@
        LambdaQueryWrapper<EimsInspectPlan> planBoQueryWrapper = Wrappers.lambdaQuery();
        // 查询启用的点检计划
        planBoQueryWrapper.eq(EimsInspectPlan::getStatus, DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL);
        // 过滤没有下次运行时间
        planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspNextTime);
        // 过滤没有点检周期的数据
        planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycle);
        planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycleUnit);
//        // 过滤没有下次运行时间
//        planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspNextTime);
//        // 过滤没有点检周期的数据
//        planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycle);
//        planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycleUnit);
        List<EimsInspectPlanVo> planVoList = planMapper.selectVoList(planBoQueryWrapper);
        for (int i = 0; i < planVoList.size(); i++) {
            EimsInspectPlanVo planVo = planVoList.get(i);
            // 点检计划add的时候会自动生成下次运行时间
            Date oldNext = planVo.getInspNextTime();
            int day = DateUtils.differentDays(today, oldNext);
            // 如果计划生成点检日期大于今天则不生成点检记录
            if (day >= 1) {
                continue;
            }
//            // 点检计划add的时候会自动生成下次运行时间
//            Date oldNext = planVo.getInspNextTime();
//            int day = DateUtils.differentDays(today, oldNext);
//            // 如果计划生成点检日期大于今天则不生成点检记录
//            if (day >= 1) {
//                continue;
//            }
//
//            // 计算生成点检记录时间
//            Long inspCycle = planVo.getInspCycle();
//            Date newNext = null;
//            String inspCycleUnit = planVo.getInspCycleUnit();
//            switch (inspCycleUnit) {
//                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.DAY:
//                    newNext = DateUtils.addDays(oldNext, inspCycle.intValue());
//                    break;
//                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.WEEK:
//
//                    newNext = DateUtils.addWeeks(oldNext, inspCycle.intValue());
//
//                    break;
//                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.MONTH:
//
//                    newNext = DateUtils.addMonths(oldNext, inspCycle.intValue());
//
//                    break;
//                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.SEASON:
//                    newNext = DateUtils.addMonths(oldNext, inspCycle.intValue() * 3);
//
//                    break;
//                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.YEAR:
//
//                    newNext = DateUtils.addYears(oldNext, inspCycle.intValue());
//
//                    break;
//            }
            // 计算生成点检记录时间
            Long inspCycle = planVo.getInspCycle();
            Date newNext = null;
            String inspCycleUnit = planVo.getInspCycleUnit();
            switch (inspCycleUnit) {
                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.DAY:
                    newNext = DateUtils.addDays(oldNext, inspCycle.intValue());
                    break;
                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.WEEK:
            Date nowDate = DateUtils.getNowDate();
                    newNext = DateUtils.addWeeks(oldNext, inspCycle.intValue());
                    break;
                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.MONTH:
                    newNext = DateUtils.addMonths(oldNext, inspCycle.intValue());
                    break;
                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.SEASON:
                    newNext = DateUtils.addMonths(oldNext, inspCycle.intValue() * 3);
                    break;
                case DictConstants.MAINT_CYCLE_UNIT_DETAIL.YEAR:
                    newNext = DateUtils.addYears(oldNext, inspCycle.intValue());
                    break;
            }
            Date nextDate = DateUtils.addDays(nowDate, 1);
            EimsInspectRecord record = new EimsInspectRecord();
            record.setEquId(planVo.getEquId());
@@ -102,16 +106,16 @@
            record.setInspUser(planVo.getInspUser());
            record.setInspDept(planVo.getInspDept());
            record.setStatus(DictConstants.EIMS_INSPECT_STATUS_DETAIL.N);
            record.setPlanTime(oldNext);
            record.setPlanTime(nowDate);
            record.setPlanId(planVo.getId());
            //点检项名称
            record.setInspName(planVo.getInspName());
            record.setInspCode(codeService.generateCode("DJZD"));
            EimsInspectPlan plan = MapstructUtils.convert(planVo, EimsInspectPlan.class);
            assert plan != null;
            plan.setInspLastTime(oldNext);
            plan.setInspNextTime(newNext);
            if(plan.getInspFirstTime()==null)plan.setInspFirstTime(oldNext);
            plan.setInspLastTime(nowDate);
            plan.setInspNextTime(nextDate);
            if(plan.getInspFirstTime()==null)plan.setInspFirstTime(nowDate);
            boolean flag = recordMapper.insert(record) > 0;
            //TODO 生成失败,添加异常记录
            if (!flag) continue;
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java
@@ -54,7 +54,8 @@
    public EimsEquVo queryByAssetNo(String assetNo) {
        LambdaQueryWrapper<EimsEqu> lqw = new LambdaQueryWrapper<>();
        lqw.eq(EimsEqu::getAssetNo, assetNo);
        return baseMapper.selectVoOne(lqw);
        EimsEquVo eimsEquVo = baseMapper.selectVoOne(lqw);
        return eimsEquVo;
    }
    /**
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java
@@ -75,7 +75,8 @@
    @Override
    public TableDataInfo<EimsRepairReqVo> queryPageListCustom(EimsRepairReqBo bo, PageQuery pageQuery) {
        DataFilterUtil.getInstance().filterRepairReq(bo);
         //TODO
        //DataFilterUtil.getInstance().filterRepairReq(bo);
        Page<EimsRepairReqVo> page = baseMapper.selectRepairReqList(pageQuery.build(), buildWrapper(bo));
        return TableDataInfo.build(page);
    }