Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
| | |
| | | } |
| | | function getRectColor2(state) { |
| | | switch (state) { |
| | | case 2: |
| | | case 2: |
| | | return 'lightblue'; |
| | | case 8: |
| | | return '#911005'; |
| | |
| | | closeWebSocket(socket); |
| | | } |
| | | }); |
| | | function getStatusTypeb(state) { |
| | | switch (state) { |
| | | case 0: |
| | | return 'info'; |
| | | case 1: |
| | | return 'success'; |
| | | case 1: |
| | | return 'danger'; |
| | | } |
| | | } |
| | | function getStatusTextb(state) { |
| | | switch (state) { |
| | | case 0: |
| | | return t('workOrder.nedging'); |
| | | case 1: |
| | | return t('workOrder.edging'); |
| | | case 2: |
| | | return t('workOrder.finedging'); |
| | | } |
| | | } |
| | | onBeforeUnmount(() => { |
| | | console.log("关闭了") |
| | | closeWebSocket(); |
| | |
| | | <div style="display: flex;"> |
| | | <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('workOrder.cway')" clearable |
| | | style="margin-left: 20px;margin-bottom: 10px;"> |
| | | <el-option :label="$t('workOrder.edgingone')" value="2001"></el-option> |
| | | <el-option :label="$t('workOrder.edgingtwo')" value="2002"></el-option> |
| | | <el-option :label="$t('workOrder.edgingone')" value="930"></el-option> |
| | | <el-option :label="$t('workOrder.edgingtwo')" value="931"></el-option> |
| | | </el-select> |
| | | <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('workOrder.cstate')" clearable |
| | | style="margin-left: 20px;margin-bottom: 10px;"> |
| | |
| | | <el-table-column prop="thickness" align="center" :label="$t('workOrder.thickness')" min-width="120" /> |
| | | <el-table-column prop="glassType" align="center" :label="$t('workOrder.glasstype')" min-width="120" /> |
| | | <el-table-column prop="line" align="center" :label="$t('workOrder.line')" min-width="120" /> |
| | | <el-table-column prop="status" :label="$t('workOrder.status')" align="center" width="200"> |
| | | <template #default="scope"> |
| | | <el-table-column prop="state" :label="$t('workOrder.status')" align="center" width="200"> |
| | | <!-- <template #default="scope"> |
| | | {{ scope.row.status==0?"未磨边":scope.row.status==1?"磨边中":"已磨边" }} |
| | | </template> |
| | | </template> --> |
| | | <template #default="scope"> |
| | | <el-tag :type="getStatusTypeb(scope.row.state)"> |
| | | {{ getStatusTextb(scope.row.state) }} |
| | | </el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" :label="$t('workOrder.operate')" align="center" width="200"> |
| | | <template #default="scope"> |
| | |
| | | * 大理片笼任务类型 |
| | | * 1、钢化前进片 |
| | | * 2、钢化前出片 |
| | | * 3、钢化后进片 |
| | | * 4、钢化后出片 |
| | | * 4、钢化后进片 |
| | | * 5、钢化后出片 |
| | | */ |
| | | public static final Integer BIG_STORAGE_BEFORE_IN = 1; |
| | | public static final Integer BIG_STORAGE_BEFORE_OUT = 2; |
| | |
| | | WorkAssignmentMapper workAssignmentMapper; |
| | | |
| | | |
| | | private final static String ERP_URL = "http://192.168.2.100:8086"; |
| | | private final static String ERP_URL = "http://192.168.2.100:8086"; |
| | | // private final static String ERP_URL = "http://10.153.19.174:8086"; |
| | | |
| | | |
| | |
| | | } |
| | | if (!"0".equals(workingProcedure)) { |
| | | damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure); |
| | | } |
| | | List<Damage> damageList = baseMapper.selectList(damageSelectWrapper); |
| | | |
| | | for (Damage damage : damageList) { |
| | | damage.setStatus(2); |
| | | } |
| | | return baseMapper.selectList(damageSelectWrapper); |
| | | } |
| | |
| | | log.info("报工数据reportingWork:{},reportingWorkDetails:{}", reportingWork, reportingWorkDetails); |
| | | try { |
| | | // 目标系统的API URL |
| | | |
| | | |
| | | String url1 = ERP_URL + "/reportingWork/mesReportingWork"; |
| | | String url2 = ERP_URL + "/reportingWork/mesSaveReportingWorkWorn"; |
| | | String url; |
| | |
| | | } |
| | | URL obj = new URL(url); |
| | | HttpURLConnection con = (HttpURLConnection) obj.openConnection(); |
| | | |
| | | // 设置请求方法和请求头 |
| | | con.setRequestMethod("POST"); |
| | | con.setRequestProperty("Content-Type", "application/json; utf-8"); |
| | |
| | | |
| | | // 创建 JSON 对象 |
| | | JSONObject result = new JSONObject(); |
| | | |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | |
| | | // 将 ReportingWork 转换为 JSONObject |
| | | |
| | | // 将 ReportingWorkDetail 列表转换为 JSONArray |
| | |
| | | result.put("qualityInsStatus", 0); |
| | | // 将 result 对象转换为字符串 |
| | | String jsonInputString = result.toString(); |
| | | System.out.println("jsonInputString : " + result); |
| | | log.info("jsonInputString :{} ", result); |
| | | // 发送请求 |
| | | try (OutputStream os = con.getOutputStream()) { |
| | | byte[] input = jsonInputString.getBytes("utf-8"); |
| | |
| | | |
| | | // 获取响应码 |
| | | int responseCode = con.getResponseCode(); |
| | | System.out.println("Response Code : " + responseCode); |
| | | log.info("Response Code :{} ", responseCode); |
| | | |
| | | // 获取响应内容 |
| | | try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) { |
| | |
| | | /** |
| | | * 栅格号 |
| | | */ |
| | | private String slot; |
| | | private Integer slot; |
| | | /** |
| | | * 设备id |
| | | */ |
| | |
| | | */ |
| | | String patternWarehousing(RawGlassRequest request); |
| | | |
| | | String UpdateQuantity(RawGlassRequest request); |
| | | String updateQuantity(RawGlassRequest request); |
| | | |
| | | String deleteWarehousing(Long slotId); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public String UpdateQuantity(RawGlassRequest request) { |
| | | public String updateQuantity(RawGlassRequest request) { |
| | | RawGlassStorageDetails one = getOne(new LambdaQueryWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, request.getSlot()) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | if (null == one) { |
| | | RawGlassStorageDetails details = new RawGlassStorageDetails(); |
| | | BeanUtils.copyProperties(request, details); |
| | | details.setState(Const.RAW_GLASS_STATE_IN); |
| | | details.setShelf(request.getSlot()); |
| | | save(details); |
| | | }else{ |
| | | } else { |
| | | update( |
| | | new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity()) |
| | |
| | | .set(RawGlassStorageDetails::getPatternThickness, request.getPatternThickness()) |
| | | .set(RawGlassStorageDetails::getFilmsId, request.getFilmsId()) |
| | | .eq(RawGlassStorageDetails::getSlot, request.getSlot()) |
| | | .eq(RawGlassStorageDetails::getSlot, Const.RAW_GLASS_STATE_IN)); |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | } |
| | | return "success"; |
| | | } |
| | |
| | | .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE) |
| | | ); |
| | | jsonObject.append("edgOneTasks", edgOneTasks); |
| | | jsonObject.append("edgOneTasks", edgTwoTasks); |
| | | jsonObject.append("edgTwoTasks", edgTwoTasks); |
| | | List<Engineering> engineeringOne = engineeringService.list( |
| | | new LambdaQueryWrapper<Engineering>() |
| | | .eq(Engineering::getStationCell, 5) |
| | |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.json.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.rawglassdetails.entity.RawGlassStorageDetails; |
| | | import com.mes.rawglassdetails.service.RawGlassStorageDetailsService; |
| | | import com.mes.rawglassstation.entity.RawGlassStorageStation; |
| | | import com.mes.rawglassstation.service.RawGlassStorageStationService; |
| | | import com.mes.rawglasstask.entity.RawGlassStorageTask; |
| | | import com.mes.rawglasstask.service.RawGlassStorageTaskService; |
| | |
| | | public void largenScreen() { |
| | | log.info("发送任务信息和架子信息"); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | List<RawGlassStorageDetails> rawGlassStorageDetailList = rawGlassStorageDetailsService.list( |
| | | new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN) |
| | | ); |
| | | MPJLambdaWrapper<RawGlassStorageDetails> wrapper = new MPJLambdaWrapper<>(); |
| | | wrapper.select(RawGlassStorageStation::getSlot) |
| | | .select(RawGlassStorageDetails::getRemainQuantity) |
| | | .rightJoin(RawGlassStorageStation.class, on -> on.eq(RawGlassStorageStation::getSlot, RawGlassStorageDetails::getSlot) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)) |
| | | .orderByAsc(RawGlassStorageStation::getSlot); |
| | | List<RawGlassStorageDetails> rawGlassStorageDetailList = rawGlassStorageDetailsService.list(wrapper); |
| | | jsonObject.append("rawGlassStorageDetailList", rawGlassStorageDetailList); |
| | | List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen"); |
| | | if (CollectionUtil.isNotEmpty(sendwServer)) { |
| | |
| | | return Boolean.FALSE; |
| | | } |
| | | |
| | | |
| | | List<RawGlassStorageDetails> loadStationList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>() |
| | | .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1") |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN) |
| | |
| | | 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(Long slotId) { |
| | | return Result.success(rawGlassStorageDetailsService.deleteWarehousing(slotId)); |
| | | } |
| | | |
| | | @ApiOperation("原片出库") |
| | | @PostMapping("/outWarehousing") |
| | |
| | | return Result.build(200, "查询成功", rawGlassStorageDetailsService.patternUsage(width, height, thickness, films)); |
| | | } |
| | | |
| | | @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)); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | ); |
| | | jsonObject.append("temperingTaskType", putGlass); |
| | | //大屏钢化信息 |
| | | Integer temperingGlass = temperingAgoService.count( |
| | | new LambdaUpdateWrapper<TemperingGlassInfo>() |
| | | List<TemperingGlassInfo> temperingGlassInfoList = temperingAgoService.list( |
| | | new LambdaQueryWrapper<TemperingGlassInfo>() |
| | | .select(TemperingGlassInfo::getEngineerId, TemperingGlassInfo::getTemperingLayoutId) // 选择要去重的字段 |
| | | .eq(TemperingGlassInfo::getState, Const.TEMPERING_START) |
| | | .groupBy(TemperingGlassInfo::getEngineerId, |
| | | TemperingGlassInfo::getTemperingLayoutId) |
| | | .groupBy(TemperingGlassInfo::getEngineerId, TemperingGlassInfo::getTemperingLayoutId) // 按 engineerId 和 temperingLayoutId 分组 |
| | | ); |
| | | jsonObject.append("temperingGlass", temperingGlass); |
| | | jsonObject.append("temperingGlassInfoList", temperingGlassInfoList.size()); |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | |
| | | import com.mes.hollow.entity.dto.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * (HollowBigStorageCageDetails)表服务接口 |
| | |
| | | |
| | | List<HollowBigStorageCageDetails> queryOutGlassList(String flowCardId, int cell); |
| | | |
| | | List<BigStorageVO> queryHollowbigStorageCageDetail(); |
| | | Map<Integer, List<BigStorageVO>> queryHollowbigStorageCageDetail(); |
| | | |
| | | /** |
| | | * 取出每组玻璃占用笼子的格子并计算格子内的最大组序号 |
| | |
| | | import javax.annotation.Resource; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * (HollowBigStorageCageDetails)表服务实现类 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<BigStorageVO> queryHollowbigStorageCageDetail() { |
| | | return baseMapper.queryHollowbigStorageCageDetail(); |
| | | public Map<Integer, List<BigStorageVO>> queryHollowbigStorageCageDetail() { |
| | | List<BigStorageVO> bigStorageCages = baseMapper.queryHollowbigStorageCageDetail(); |
| | | return bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId())); |
| | | } |
| | | |
| | | @Override |
| | |
| | | .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START) |
| | | ); |
| | | } |
| | | if (null == hollowGlassOutRelationInfo) { |
| | | cell = 930; |
| | | hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService |
| | | .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>() |
| | | .eq(HollowGlassOutRelationInfo::getCell, cell) |
| | | .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START) |
| | | ); |
| | | } |
| | | |
| | | if (null == hollowGlassOutRelationInfo) { |
| | | cell = 931; |
| | | hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService |
| | | .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>() |
| | | .eq(HollowGlassOutRelationInfo::getCell, cell) |
| | | .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START) |
| | | ); |
| | | } |
| | | |
| | | if (null != hollowGlassOutRelationInfo) { |
| | | //是否允许中空 |
| | |
| | | log.info("计算玻璃数量过程中出现错误,错误信息{}", e.getMessage()); |
| | | } |
| | | |
| | | // hollowGlassOutRelationInfoService.update |
| | | // 重置任务表数据 |
| | | bigStorageCageTaskService.updateOutTaskMessage(BIG_STORAGE_CAGE_OUT_TWO_TASK); |
| | | |
| | |
| | | t.quantity, |
| | | t1.child_width, |
| | | t1.child_height |
| | | |
| | | from pp.flow_card t |
| | | LEFT JOIN sd.order_glass_detail t1 |
| | | on t.order_id = t1.order_id |