wangfei
2024-09-26 dd134cc5bb387b03afc67d6ac9ef58d5414bad56
原片仓储所有显示的接口以及前端调用
8个文件已修改
192 ■■■■■ 已修改文件
UI-Project/src/views/GlassStorage/rawfilmstorage.vue 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -41,14 +41,6 @@
  taskType: '',
  taskState: '',
});
// const response = await request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest", {
//     beginDate: timeRange.value[0],
//     endDate: timeRange.value[1],
//     taskState: stateList,
//     taskType: celllist
//   })
//   if (response.code === 200) {
//     // tableDataa.value = response.data;
request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest",{
      beginDate: "2022-01-01 00:00:00",
      endDate: "2025-01-01 00:00:00",
@@ -62,13 +54,12 @@
          }
          });
onMounted(() => {
  // closeWebSocket();
  debugger
  // console.log("--------------webSocket")
    socket = initializeWebSocket(socketUrl, handleMessage);
});
  onUnmounted(() => {
    if (socket) {
    closeWebSocket(socket);
    }
    });
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
const handleMessage = (data) => {
@@ -79,8 +70,28 @@
  tableDatab.value = data.rawStationDetailsList[0]
  }
};
// 修改数量
const handleConfirmb = async () => {
  let slotId = window.localStorage.getItem('slotId')
  try {
    const response = await request.post('/glassStorage/rawGlassStorageDetails/updateQuantity', {
      slotId: slotId,
      remainQuantity: remainQuantity.value,
  }
  );
    if (response.code === 200) {
      ElMessage.success(response.message);
      dialogFormVisiblec.value = false;
      tableDatab.value = response.data;
    } else {
      ElMessage.error(response.message);
    }
  } catch (error) {
    console.error(error);
  }
};
  // 删除 
 const opena = async(row) => {
 const deleteWarehousing = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(  
      t('film.dedelete'), 
@@ -92,7 +103,10 @@
      } 
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/loadGlass/sys/user/deleteUser",  [row.id])
      const response = await request.post("/glassStorage/rawGlassStorageDetails/deleteWarehousing",[row.slotId])
      // const response = await request.post("/glassStorage/rawGlassStorageDetails/deleteWarehousing",{
      //   slotId: row.slotId
      // })
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
@@ -103,30 +117,7 @@
    console.error('发生错误:', error);  
  }  
};  
  // 禁用
  const openb = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('film.dedisable'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/loadGlass/sys/user/deleteUser",  [row.id])
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
  // 出库 
  const openc = async(row) => {  
  try {
@@ -140,7 +131,7 @@
      } 
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/loadGlass/sys/user/deleteUser",  [row.id])
      const response = await request.post("/glassStorage/rawGlassStorageDetails/outWarehousing",[row.slotId])
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
@@ -188,7 +179,7 @@
      patternThickness: patternThickness.value,
      filmsId: filmsId.value,
      remainQuantity: remainQuantity.value,
      slot: slot.value,
      slotId: slot.value,
    }); 
    if (response.code === 200) {
      ElMessage.success(response.message);
@@ -212,21 +203,23 @@
    ElMessage.error(t('basicData.updatanull'));  
    return;
  }  
  const newState = row.enableState === 1 ? 0 : 1;
  const newState = row.state === 1 ? 0 : 1;
  try {  
    // 发送请求到后端更新状态
    const response = await request.post('/glassStorage/rawGlassStorageDetails/updateEnableState', { deviceId: row.deviceId, enableState: newState });
    var url="/glassStorage/rawGlassStorageStation/updateSlotState?slot="+row.deviceId + "&state=" + newState;
    const response = await request.post(url)
    if (response.code === 200) {  
      ElMessage.success(response.message);  
      row.enableState = newState;
      row.state = newState;
    } else {  
      ElMessage.error(response.message);  
    }  
  row.state = newState;
  } catch (error) {
    ElMessage.error(t('basicData.glassnull'));   
  }  
}; 
const handleEdit = (row) => {
  window.localStorage.setItem('slotId', row.slotId)
  dialogFormVisiblec.value = true;
};
function getStatusType1(taskType) {  
@@ -269,6 +262,11 @@
  return t('film.finish');//完成
}  
}
// onUnmounted(() => {
//     if (socket) {
//     closeWebSocket(socket);
//     }
//     });
onBeforeUnmount(() => {
  closeWebSocket();
}); 
@@ -349,21 +347,21 @@
          align="center"
            :label="$t('film.enablestate')"
            min-width="80"
            prop="enablestate"
            prop="state"
          >
          <template #default="scope">  
          <el-tag  
            :type="scope.row.enableState == 1 ? 'success' : 'danger'"
            :type="scope.row.state == 1 ? 'success' : 'danger'"
            @click="toggleEnableState(scope.row)"  
            >  
            {{ scope.row.enableState == 1 ? $t('film.start') : $t('film.disable')}}
            {{ scope.row.state == 1 ? $t('film.start') : $t('film.disable')}}
          </el-tag>  
        </template> 
          </el-table-column>
          <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="270">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('film.exit') }}</el-button>
              <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('film.delete') }}</el-button>
              <el-button size="mini" type="text" plain @click="deleteWarehousing(scope.row)">{{ $t('film.delete') }}</el-button>
              <el-button size="mini" type="text" plain @click="openc(scope.row)">{{ $t('film.outbound') }}</el-button>
            </template>
        </el-table-column>
@@ -450,7 +448,7 @@
      <el-form size="mini" label-width="100px">
        <el-form label-width="210px" label-position="right">
          <el-form-item :label="$t('film.thickremainquantity')" :required="true" style="width: 25vw">
            <el-input v-model="workstationId" autocomplete="off" />
            <el-input v-model="remainQuantity" autocomplete="off" />
          </el-form-item>
        </el-form>
      </el-form>
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java
@@ -34,15 +34,16 @@
    List<RawGlassStorageTask> tasks = rawGlassStorageTaskService.listRawGlassTask();
    jsonObject.append("rawStationDetailsList", rawStationDetailsList);
    jsonObject.append("tasks", tasks);
    log.info("获取到的工位详情及任务信息为:{}", jsonObject);
//    log.info("获取到的工位详情及任务信息为:{}", jsonObject);
    List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("rawGlass");
    if (CollectionUtil.isNotEmpty(sendwServer)) {
      if (sendwServer.get(0).session.isOpen()) {
        log.info("已发送");
        sendwServer.get(0).sendMessage(String.valueOf(jsonObject));
      sendwServer.stream().forEach(e->{
        e.sendMessage(String.valueOf(jsonObject));
      });
      }
    }
  }
  /** todo:入库任务:吊装位有玻璃,先去工位表查询空格子,生成入库任务从吊装位到目标格子 */
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
@@ -1,7 +1,9 @@
package com.mes.rawglassdetails.controller;
import com.mes.entity.request.GeneralRequest;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.userinfo.entity.vo.SysUserVO;
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -10,6 +12,8 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * 前端控制器
@@ -30,4 +34,20 @@
    return Result.build(
        200, "入库已完成,等待任务执行", rawGlassStorageDetailsService.patternWarehousing(request));
  }
  @ApiOperation("更新剩余数量")
  @PostMapping("/updateQuantity")
  public Result<Object> updateQuantity(@Validated @RequestBody RawGlassRequest request) {
    return Result.success(rawGlassStorageDetailsService.UpdateQuantity(request));
  }
  @ApiOperation("删除原片")
  @PostMapping("/deleteWarehousing")
  public Result<Object> deleteWarehousing(@RequestBody Long slotId) {
    return Result.success(rawGlassStorageDetailsService.deleteWarehousing(slotId));
  }
  @ApiOperation("原片出库")
  @PostMapping("/outWarehousing")
  public Result<Object> outWarehousing(@RequestBody Long slotId) {
    return Result.success(rawGlassStorageDetailsService.outWarehousing(slotId));
  }
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
@@ -1,5 +1,6 @@
package com.mes.rawglassdetails.entity.request;
import com.mes.userinfo.entity.vo.SysUserVO;
import lombok.Data;
/**
@@ -8,7 +9,7 @@
 * @Description:
 */
@Data
public class RawGlassRequest {
public class RawGlassRequest extends SysUserVO {
    /**
     * 原片宽
@@ -38,5 +39,5 @@
    /**
     * 栅格号
     */
    private Integer slot;
    private String slotId;
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -1,8 +1,10 @@
package com.mes.rawglassdetails.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.entity.request.GeneralRequest;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import com.mes.userinfo.entity.vo.SysUserVO;
import java.util.List;
@@ -22,12 +24,6 @@
     */
    boolean deleteRawGlassStorageDetails(String device_id);
    /**
     * 新增表
     *
     * @return boolean
     */
    boolean insertRawGlassStorageDetails(RawGlassStorageDetails rw);
    /**
@@ -38,4 +34,9 @@
     */
    String patternWarehousing(RawGlassRequest request);
    String UpdateQuantity(RawGlassRequest request);
    String deleteWarehousing(Long slotId);
    String outWarehousing(Long slotId);
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -1,16 +1,20 @@
package com.mes.rawglassdetails.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.common.config.Const;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import com.mes.rawglassdetails.mapper.RawGlassStorageDetailsMapper;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.rawglassstation.entity.RawGlassStorageStation;
import com.mes.userinfo.entity.vo.SysUserVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
@@ -36,10 +40,6 @@
        return list();
    }
    @Override
    public boolean insertRawGlassStorageDetails(RawGlassStorageDetails rw) {
        return this.save(rw);
    }
    @Override
    public String patternWarehousing(RawGlassRequest request) {
@@ -47,8 +47,30 @@
        RawGlassStorageDetails details = new RawGlassStorageDetails();
        BeanUtils.copyProperties(request, details);
        details.setState(Const.GLASS_STATE_IN);
        details.setCreateTime(new Date());
        save(details);
        return null;
        return "success";
    }
    @Override
    public String UpdateQuantity(RawGlassRequest request) {
        update(
                new LambdaUpdateWrapper<RawGlassStorageDetails>()
                        .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
                        .eq(RawGlassStorageDetails::getSlotId, request.getSlotId()));
        return "success";
    }
    @Override
    public String deleteWarehousing(Long slotId) {
        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlotId, slotId)
                .set(RawGlassStorageDetails::getState,Const.GLASS_STATE_OUT));
        return "success";
    }
    @Override
    public String outWarehousing(Long slotId) {
        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlotId, slotId)
                .set(RawGlassStorageDetails::getState,Const.GLASS_STATE_OUT_ING));
        return "success";
    }
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
@@ -22,13 +22,16 @@
  @ApiOperation("工位状态")
  @PostMapping("/updateSlotState")
  @ResponseBody
  public Result<Boolean> updateSlotState(@RequestBody Integer enableState, Integer slot) {
  public Result<Boolean> updateSlotState(@RequestParam(value = "state")int enableState, @RequestParam(value = "slot")int slot) {
    boolean result = rawGlassStorageStationService.updateSlotState(slot, enableState);
    if (enableState == 1) {
      return Result.build(1, "启用", result);
      return Result.build(200, "启用", result);
    } else {
      return Result.build(0, "禁用", result);
      return Result.build(200, "禁用", result);
    }
  }
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
@@ -11,6 +11,7 @@
        <result column="films_id" property="filmsId"/>
        <result column="create_time" property="createTime"/>
        <result column="remain_quantity" property="remainQuantity"/>
        <result column="enable_state" property="state"/>
    </resultMap>
@@ -22,7 +23,8 @@
               T1.PATTERN_THICKNESS,
               T1.FILMS_ID,
               T1.CREATE_TIME,
               T1.REMAIN_QUANTITY
               T1.REMAIN_QUANTITY,
               T.ENABLE_STATE
        FROM RAW_GLASS_STORAGE_STATION T
                 LEFT JOIN RAW_GLASS_STORAGE_DETAILS T1 ON T.DEVICE_ID = T1.DEVICE_ID
            AND T.SLOT = T1.SLOT_ID