| | |
| | | package com.example.erp.service.sd; |
| | | |
| | | import cn.dev33.satoken.stp.StpUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | |
| | | log.setFunction("saveOrderTitle保存表头:"+order.getOrderId()); |
| | | |
| | | Order order1 = orderMapper.selectOrderId(order.getOrderId()); |
| | | //使用订单原本的状态和计算方式 |
| | | order.setCalculateType(order1.getCalculateType()); |
| | | order.setCreateOrder(order1.getCreateOrder()); |
| | | order.setProcessReview(order1.getProcessReview()); |
| | | order.setOrderReview(order1.getOrderReview()); |
| | | order.setProductionOrder(order1.getProductionOrder()); |
| | | order.setProcessingCard(order1.getProcessingCard()); |
| | | order.setWarehousing(order1.getWarehousing()); |
| | | order.setDelivery(order1.getDelivery()); |
| | | |
| | | LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(Order::getOrderId, order.getOrderId()); |
| | |
| | | orderProductDetailMap.put("productId",map.get("productId")); |
| | | orderProductDetailMap.put("productName",map.get("productName")); |
| | | List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId); |
| | | orderDetails.forEach(orderDetail->{ |
| | | |
| | | List<OrderGlassDetail> orderGlassDetails = |
| | | orderGlassDetailMapper.selectList( |
| | | new QueryWrapper<OrderGlassDetail>(). |
| | | eq("order_id",orderId). |
| | | eq("order_number",orderDetail.getOrderNumber()) |
| | | ); |
| | | Integer differentSize = orderGlassDetailMapper.getDifferentSizeNumber(orderId,orderDetail.getOrderNumber()); |
| | | orderDetail.setDifferentSize(differentSize); |
| | | orderDetail.setOrderGlassDetails(orderGlassDetails); |
| | | }); |
| | | |
| | | orderProductDetailMap.put("productDetail",orderDetails); |
| | | orderProductDetail.add(orderProductDetailMap); |
| | | }); |
| | |
| | | }else{ |
| | | orderProductDistinct = orderDetailMapper.getOrderProductDistinctById(orderId); |
| | | } |
| | | |
| | | List<Map<String,Object>> orderProductDetail = new ArrayList<>(); |
| | | orderProductDistinct.forEach(map->{ |
| | | Map<String,Object> orderProductDetailMap = new HashMap<>(); |
| | | orderProductDetailMap.put("productId",map.get("productId")); |
| | | orderProductDetailMap.put("productName",map.get("productName")); |
| | | List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId); |
| | | orderDetails.forEach(orderDetail->{ |
| | | |
| | | List<OrderGlassDetail> orderGlassDetails = |
| | | orderGlassDetailMapper.selectList( |
| | | new QueryWrapper<OrderGlassDetail>(). |
| | | eq("order_id",orderId). |
| | | eq("order_number",orderDetail.getOrderNumber()) |
| | | ); |
| | | Integer differentSize = orderGlassDetailMapper.getDifferentSizeNumber(orderId,orderDetail.getOrderNumber()); |
| | | orderDetail.setDifferentSize(differentSize); |
| | | orderDetail.setOrderGlassDetails(orderGlassDetails); |
| | | }); |
| | | |
| | | |
| | | orderProductDetailMap.put("productDetail",orderDetails); |
| | |
| | | } |
| | | |
| | | public Object processBack(String orderId,Integer status) { |
| | | //判断是否转优化 |
| | | if(flowCardMapper.flowCardToOptimizeCount(orderId)>0){ |
| | | return "false1"; |
| | | } |
| | | //判断是否有报工 |
| | | if(flowCardMapper.reportingWorkCountByOrderId(orderId)>0){ |
| | | return "false2"; |
| | | } |
| | | //判断是否有库存 |
| | | if(orderMapper.searchOrderWarehousing(orderId)>0){ |
| | | return "false3"; |
| | | } |
| | | //退回到生产加工单 |
| | | if(status<5){ |
| | | //更新小片明细表分架状态 |
| | | flowCardMapper.updateDeleteState(orderId,"all"); |
| | |
| | | flowCardMapper.deleteflowCardSortByOrderId(orderId); |
| | | flowCardMapper.updateProcessingCard(orderId, 0); |
| | | } |
| | | //退回到订单审核后 |
| | | if(status<4){ |
| | | workOrderMapper.deleteOrderWorkMp(orderId, null); |
| | | workOrderMapper.updateWorkType(orderId, 0); |
| | | } |
| | | //退回到工艺审核后 |
| | | if(status<3){ |
| | | orderMapper.backReviewOrderById(orderId); |
| | | } |
| | | |
| | | //退回到下单后 |
| | | if(status<2){ |
| | | orderMapper.reviewProcessById(orderId,0); |
| | | } |
| | | //日志传入 |
| | | Log log = new Log(); |
| | | log.setOperator((String) StpUtil.getLoginId()); |
| | | log.setOperatorId((String) StpUtil.getLoginId()); |
| | | log.setContent(String.valueOf(status)); |
| | | log.setFunction("updateOrderMoney金额重置:"+orderId); |
| | | return true; |
| | | } |
| | | |
| | | return null; |
| | | public Object scannerGlassInfo(String projectNo) { |
| | | try{ |
| | | String projectId = "P" + projectNo.substring(0,8); |
| | | //炉号 |
| | | Integer heatNo = Integer.valueOf(projectNo.substring(8,11)); |
| | | //炉内序号 |
| | | Integer sortNo = Integer.valueOf(projectNo.substring(11,14)); |
| | | String processId = orderMapper.getProcessIdByOptimizeHeatDetail(projectId,heatNo,sortNo); |
| | | String orderId = flowCardMapper.getOrderIdByProcessId(processId); |
| | | return orderMapper.scannerGlassInfo(projectId,heatNo,sortNo,orderId); |
| | | }catch (Exception e){ |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | } |