guoyujie
4 小时以前 1da4e70b2972e1ab77fa75ad0da529a006150ab5
提交  保存订单后不重置图片上传
7个文件已修改
88 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/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/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>