north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue
@@ -1,5 +1,5 @@ <script setup> import { ref, reactive, onMounted } from 'vue' import {ref, reactive, onMounted, defineEmits} from 'vue' import { Document, UploadFilled, MagicStick, RefreshLeft, Download, Plus, Picture, Refresh, Delete @@ -26,6 +26,7 @@ }) let imgWidth = ref(null) let imgHeight = ref(null) const emit = defineEmits(['getParent']) const form = reactive({ format: 'png' @@ -159,6 +160,7 @@ progressText.value = t("order.msg.pleaseUploadPicture4") uploadRef.value.clearFiles() fileList.value = [] emit('getParent',props.orderId) setTimeout(() => { converting.value = false north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -986,7 +986,11 @@ gridOptions.loading = false return } getOrderDetail(str) }) const getOrderDetail = (str) => { request.post(`/order/getOrderById/${str}`).then((res) => { if(res.code==200){ titleUploadData.value = res.data.order @@ -1091,19 +1095,19 @@ if(res.data.orderFile!=null){ res.data.orderFile.forEach(items=>{ if(items.order_number==item.orderNumber) item.fileData=items.file_data item.fileData=items.file_data }) } }) otherMoney.value =res.data.orderOtherMoneyList //加载副表数据 //加载副表数据 xGrid.value.reloadData(orderDetails) gridOptions.loading = false }else{ ElMessage.error(res.msg) } }) }) } //作废订单 const cancelOrder = () => { @@ -2150,6 +2154,7 @@ :close-on-click-modal="false" destroy-on-close width="800px"> <upload-picture @getParent="getOrderDetail" :rowIndex="rowIndex" :orderId="titleUploadData.orderId" :state="orderTypeState" north-glass-erp/src/main/java/com/example/erp/entity/pp/PatchLog.java
@@ -31,6 +31,8 @@ private Integer reviewStatus; //架号 private String rack; //补片状态 private String patchState; //创建时间 private LocalDate createTime; //修改时间 north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java
@@ -51,6 +51,8 @@ private Integer state; private String fileName; @TableField(select = false,exist= false) private Integer fileId; @TableField(select = false,exist= false) private String fileData; @TableField(select = false,exist= false) private String fileJson; north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
@@ -49,7 +49,8 @@ List<Order> exportOrderSummary(List<LocalDate> dates); boolean deleteOrderFile(String orderId); List<OrderDetail> selectListWithFileById(String id); } north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -209,17 +209,19 @@ .eq("basic_name",uniqueList.get(i).get("process")) .last("limit 1") ); if(basicData!=null){ //判断夹胶和夹胶后工序 //Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC") if(Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC")){ clos.put(uniqueList.get(i).get("process"), 15+i); } //判断中空和中空后工序 //Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD") if(Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD")){ columns.add("reportWorkQuantity."+uniqueList.get(i).get("process")); } } //判断夹胶和夹胶后工序 //Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC") if(Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC")){ clos.put(uniqueList.get(i).get("process"), 15+i); } //判断中空和中空后工序 //Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD") if(Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD")){ columns.add("reportWorkQuantity."+uniqueList.get(i).get("process")); } } north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -570,12 +570,15 @@ List<Map<String, Object>> deliveryDetailList2; if(state==3){ //洛阳有金额 deliveryDetailList2=deliveryDetailMapper.getSelectDeliveryPrintingMoneySpecifications(detail.getDeliveryId(), detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); }else if(state==4){ //洛阳无金额 deliveryDetailList2=deliveryDetailMapper.getSelectDeliveryPrintingNoMoneySpecifications(detail.getDeliveryId(), detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); }else{ //通用 deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(), detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); } north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
@@ -11,6 +11,7 @@ import com.example.erp.common.Result; import com.example.erp.entity.sd.OrderDetail; import com.example.erp.entity.sd.OrderFile; import com.example.erp.mapper.sd.OrderDetailMapper; import com.example.erp.mapper.sd.OrderFileMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -26,6 +27,7 @@ @RequiredArgsConstructor public class OrderFileService { private final OrderFileMapper orderFileMapper; private final OrderDetailMapper orderDetailMapper; public List<OrderFile> getOrderFilePicture(List<Map<String,Object>> orderDetails) throws NoSuchFieldException { Set<String> seenKeys = new HashSet<>(); List<Map<String,Object>> result = new ArrayList<>(); @@ -125,7 +127,9 @@ .eq(OrderFile::getOrderNumber, orderNumber) ); } orderDetailMapper.update(null,new LambdaUpdateWrapper<OrderDetail>() .setSql("file_name = '" + name + "'") .eq(OrderDetail::getOrderId, orderId)); return orderFile; } catch (Exception e) { north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -25,6 +25,7 @@ import com.example.erp.service.userInfo.SysErrorService; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -54,9 +55,9 @@ private final BasicOtherMoneyMapper basicOtherMoneyMapper; private final OrderProcessDetailMapper orderProcessDetailMapper; private final OrderFileMapper orderFileMapper; private final DeliveryService deliveryService; public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper, LogService logService, WorkOrderMapper workOrderMapper, FlowCardMapper flowCardMapper, BasicOtherMoneyMapper basicOtherMoneyMapper,DeliveryService deliveryService) { public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper, LogService logService, WorkOrderMapper workOrderMapper, FlowCardMapper flowCardMapper, BasicOtherMoneyMapper basicOtherMoneyMapper, DeliveryService deliveryService, OrderFileMapper orderFileMapper) { this.orderMapper = orderMapper; this.orderDetailMapper = orderDetailMapper; this.orderGlassDetailMapper = orderGlassDetailMapper; @@ -69,6 +70,8 @@ this.flowCardMapper = flowCardMapper; this.basicOtherMoneyMapper = basicOtherMoneyMapper; this.deliveryService = deliveryService; this.orderFileMapper = orderFileMapper; } public boolean saveOrder(Map<String,Object> orderMap) throws Exception { @@ -246,7 +249,11 @@ //删除订单工艺表 // orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId())); orderDetailMapper.deleteOrderFile(order.getOrderId()); orderFileMapper.update(null, new LambdaUpdateWrapper<OrderFile>() .eq(OrderFile::getOrderId, order.getOrderId()) .set(OrderFile::getOrderNumber, null) ); insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList, position); } @@ -272,16 +279,13 @@ Product product = productMapper.selectById(OrderDetails.get(i).getProductId()); OrderDetails.get(i).setWeight(Double.valueOf(String.format("%.2f",product.getThickness()*OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()/1000000*2.5))); /*if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){ //获取弯钢弧度 Double bendRadius = OrderDetails.get(i).getBendRadius(); //获取宽 Double width = OrderDetails.get(i).getWidth(); //获取拱高 String archRiseS = String.format("%.1f",bendRadius-(bendRadius*Math.cos(width/2/bendRadius))); Double archRise = Double.parseDouble(archRiseS); OrderDetails.get(i).setArchRise(archRise); }*/ //判断次序号文件是否相同 if(OrderDetails.get(i).getFileId()!=null){ orderFileMapper.update(null,new LambdaUpdateWrapper<OrderFile>() .set(OrderFile::getOrderNumber,OrderDetails.get(i).getOrderNumber()) .eq(OrderFile::getId,OrderDetails.get(i).getFileId())); } Map<String,Object> otherColumns = JSON.parseObject(OrderDetails.get(i).getOtherColumns(), new TypeReference<Map<String, Object>>(){}); int finalI = i; @@ -303,14 +307,23 @@ }else{ OrderDetails.get(i).setOtherColumns("{}"); } if(OrderDetails.get(i).getFileName()!=null&&!OrderDetails.get(i).getFileName().trim().isEmpty()){ orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber(),OrderDetails.get(i).getFileJson()); } // if(OrderDetails.get(i).getFileName()!=null&&!OrderDetails.get(i).getFileName().trim().isEmpty()){ // orderMapper.saveOrderFile( // OrderDetails.get(i).getFileName(), // OrderDetails.get(i).getFileData(), // orderId,OrderDetails.get(i).getOrderNumber(), // OrderDetails.get(i).getFileJson()); // } if(OrderDetails.get(i).getShape()==null){ OrderDetails.get(i).setShape("1"); } } //删除订单文件没有序号多余的数据 orderFileMapper.delete(new LambdaQueryWrapper<OrderFile>() .eq(OrderFile::getOrderId, orderId) .isNull(OrderFile::getOrderNumber)); //往明细表插数据 orderDetailMapper.insertBatch(OrderDetails); @@ -330,6 +343,7 @@ .eq(OrderGlassDetail::getOrderId, orderId) .eq(OrderGlassDetail::getOrderNumber, orderDetail.getOrderNumber()) ); for(OrderGlassDetail orderGlassDetail:orderGlassDetails) { //获取当前层数与之前层数的厚度 @@ -424,7 +438,7 @@ } //删除订单 public Integer deleteOrder(String id) { orderDetailMapper.deleteOrderFile(id); orderFileMapper.delete(new QueryWrapper<OrderFile>().eq("order_id",id)); return orderMapper.delete( new QueryWrapper<Order>().eq("order_id",id) ); @@ -434,7 +448,8 @@ //查询订单主表与副表信息 public Map<String,Object> getOrderById(String id) { Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id)); List<OrderDetail> orderDetails = orderDetailMapper.selectList(new QueryWrapper<OrderDetail>().eq("order_id",id)); List<OrderDetail> orderDetails = orderDetailMapper.selectListWithFileById(id); List<OrderOtherMoney> orderOtherMoneyList = orderOtherMoneyMapper.findById(id); List<Map<String,String>> orderFileList = orderMapper.selectOrderFileList(id); Integer deliveryCount = orderMapper.selectDeliveryStateConut(id); north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -1078,11 +1078,16 @@ group by od.product_id,pd.detail </select> <delete id="deleteOrderFile" > delete from sd.order_file where order_id = #{orderId} </delete> <select id="selectListWithFileById"> select od.*,sof.id as file_id from sd.order_detail as od left join sd.order_file as sof on sof.order_id = od.order_id and sof.order_number = od.order_number where od.order_id = #{id} </select> </mapper>