你好啊
2024-08-12 6d4c3737063c9f041a02061797f5c00851207ef0
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
9个文件已修改
254 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/OrderSortDetail.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java 164 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/OrderSortDetail.vue
@@ -170,6 +170,13 @@
            visible: true,
            disabled: false
          },
          {
            code: 'flashback',
            name: '倒叙',
            prefixIcon: 'vxe-icon-indicator',
            visible: true,
            disabled: false
          },
        ]
      ]
    }
@@ -423,6 +430,22 @@
          }
          break
        }
        case 'flashback' : {
          let result = toolbarButtonClickEvent()
          if (result.cell === "sort" ) {
            if (result) {
              const dataList = xGridDetail.value.getTableData().visibleData
              let val = dataList[result.start][result.cell]
              dataList.forEach((item, index) => {
                if (index >= result.start && index <= result.end) {
                  item[result.cell] = val
                  val=val*1-1
                }
              })
            }
          }
          break
        }
      }
    }
  }
north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue
@@ -76,7 +76,7 @@
//修改相同产品名称标签
const updateProductName = (event, index) => {
const updateProductName = (event, index,id) => {
  // 创建映射对象
  const propertyMapping = {};
  labelList.forEach(item => {
@@ -100,12 +100,13 @@
  }
  // 遍历 lastList 并更新对应的属性
  console.log(lastList.value,id)
  console.log(lastList.value[index].glassNumber)
  lastList.value.forEach(obj => {
    // 获取前缀和 orderId
    const prefix = obj.processId.substring(0, 11);
    const orderId = obj.orderId;
    const glassNumber=obj.glassNumber
    const glassNumber=lastList.value[id].glassNumber
    // 根据 propertyName 更新属性
    if (propertyName === 'productAbbreviation' && prefix === obj.processId.substring(0, 11)) {
      obj.productAbbreviation = result;
@@ -114,7 +115,6 @@
    if (propertyName === 'project' && orderId === obj.orderId) {
      obj.project = result;
    }
    if (propertyName === 'productName' && glassNumber === obj.glassNumber){
      obj.productName = result;
    }
@@ -127,10 +127,10 @@
<template>
    <div id="print" :class="company.printLabel.className.custom.printFlowCardName()">
      <div v-for="(item1,id) in lastList" :class="company.printLabel.className.custom.entiretyName()">
      <div v-for="(item1,index) in lastList" :class="company.printLabel.className.custom.entiretyName()">
        <div class="row4">{{ faceOrientation }}</div>
        <div v-for="(item,id) in labelList" :class="company.printLabel.className.custom.contentRowName()">
          <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row1"  contenteditable="true" @input="updateProductName($event, id)" v-text="item.title+':'+item1[item.name]"></div>
          <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row1"  contenteditable="true" @input="updateProductName($event, id,index)" v-text="item.title+':'+item1[item.name]"></div>
<!--          <div class="row2" style="width: 100%;"><input class="contentRow2" v-model="item1[item.name]"  @keyup="updataProductName()" style="border: none;"/></div>-->
<!--          <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row2" style="width: 100%;" contenteditable="true" @input="updateProductName($event, id)" v-text="item1[item.name]"></div>-->
        </div>
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -380,7 +380,7 @@
      </tr>
      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
        <td  colspan="29" rowspan="6" style="width: 480px;height: 150px ">
          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px">{{itemtextareas.processing_note}}</textarea>
          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;overflow: hidden;">{{itemtextareas.processing_note}}</textarea>
          </div>
        </td>
      </tr>
north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue
@@ -172,6 +172,13 @@
            visible: true,
            disabled: false
          },
          {
            code: 'flashback',
            name: '倒叙',
            prefixIcon: 'vxe-icon-indicator',
            visible: true,
            disabled: false
          },
        ]
      ]
    }
@@ -425,6 +432,22 @@
          }
          break
        }
        case 'flashback' : {
          let result = toolbarButtonClickEvent()
          if (result.cell === "sort" ) {
            if (result) {
              const dataList = xGridDetail.value.getTableData().visibleData
              let val = dataList[result.start][result.cell]
              dataList.forEach((item, index) => {
                if (index >= result.start && index <= result.end) {
                  item[result.cell] = val
                  val=val*1-1
                }
              })
            }
          }
          break
        }
      }
    }
  }
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -321,8 +321,6 @@
    {field: 'price',width:120,  title: t('order.price'),editRender: { name: 'input' },filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'finishedGoodsInventory.storageRegion',width:120,  title: t('productStock.inventoryArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'deliveryDetail.money',width:120,  title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'width',width:120,  title: t('order.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'height',width:120,  title: t('order.height'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'order.batch',width:120,  title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'shape',width:120,  title: t('order.shape'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'finishedGoodsInventory.actualSignalArea',width:120,   title: t('productStock.singlePieceArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
@@ -420,11 +418,15 @@
          })
           request.post("/Delivery/insertDelivery", flowData.value).then((res) => {
             if(res.code==200 && res.data===true){
             if(res.code==200 && res.data==="true"){
               ElMessage.success(t('delivery.deliveryNoteSubmittedSuccessfully'))
               router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
             }else if(res.data===false){
             }else if(res.data==="false1"){
               ElMessage.warning(t('delivery.pleaseMsg1'))
             }else if(res.data==="false2"){
               ElMessage.warning("订单存在已发货请刷新界面")
             }else if(res.data==="false3"){
               ElMessage.warning("数据不存在")
             }else{
               ElMessage.warning(t('basicData.msg.saveFail'))
             }
north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
@@ -86,4 +86,6 @@
    List<DeliveryDetailProductDTO> exportDeliveryDetailProductReport(List<LocalDate> dates);
    OrderDetail selectOrderDetailDeliveryCount(@Param("orderDetail") OrderDetail orderDetail);
}
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -160,9 +160,9 @@
        return map;
    }
    public Boolean insertDelivery(Map<String,Object> object) {
    public String insertDelivery(Map<String,Object> object) {
        boolean saveState = true;
        String saveState = "true";
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
@@ -239,39 +239,44 @@
            //获取对象集合循环进行新增修改
            if (!orderDetaillist.isEmpty()) {
                for (OrderDetail orderDetail : orderDetaillist) {
                    double deliveryDetailotherMoneys=0.0;
                    Integer calculateType=0;
                    OrderDetail orderDetails =deliveryDetailMapper.selectOrderDetailDeliveryCount(orderDetail);
                    Boolean aBoolean1 =orderDetails.getQuantity()>= orderDetail.getDeliveryDetail().getQuantity()+orderDetails.getDeliveryNum();
                    Boolean aBoolean2 = !Integer.valueOf(orderDetails.getQuantity().toString()).equals(orderDetails.getDeliveryNum());
                    //判断是否已经发货
                    if(aBoolean1 && aBoolean2){
                        double deliveryDetailotherMoneys=0.0;
                        Integer calculateType=0;
                    if (orderDetail.getOrder().getOrderId()==null){
                        Order order=deliveryMapper.selectOrderId(orderDetail.getOrderId());
                        calculateType=order.getCalculateType();
                    }else{
                        calculateType=orderDetail.getOrder().getCalculateType();
                    }
                    double deliveryDetailMoney = 0.0;
                    BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
                    BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getDeliveryDetail().getQuantity());
                    BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
                    BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth());
                    BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight());
                    BigDecimal singlePieceArea =getComputeArea.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP)
                            .multiply(getPrice).setScale(2, RoundingMode.HALF_UP);
                    //根据订单计算方式进行金额计算
                    if (calculateType==1){
                        deliveryDetailMoney=singlePieceArea.doubleValue();
                    }else if (calculateType==2){
                        if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())){
                            deliveryDetailMoney=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP)
                                    .multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
                        if (orderDetail.getOrder().getOrderId()==null){
                            Order order=deliveryMapper.selectOrderId(orderDetail.getOrderId());
                            calculateType=order.getCalculateType();
                        }else{
                            deliveryDetailMoney=singlePieceArea.doubleValue();
                            calculateType=orderDetail.getOrder().getCalculateType();
                        }
                    }else if (calculateType==3){
                        deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
                        double deliveryDetailMoney = 0.0;
                    }
                        BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
                        BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getDeliveryDetail().getQuantity());
                        BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
                        BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth());
                        BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight());
                        BigDecimal singlePieceArea =getComputeArea.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP)
                                .multiply(getPrice).setScale(2, RoundingMode.HALF_UP);
                        //根据订单计算方式进行金额计算
                        if (calculateType==1){
                            deliveryDetailMoney=singlePieceArea.doubleValue();
                        }else if (calculateType==2){
                            if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())){
                                deliveryDetailMoney=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP)
                                        .multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
                            }else{
                                deliveryDetailMoney=singlePieceArea.doubleValue();
                            }
                        }else if (calculateType==3){
                            deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
                        }
                    /*if (calculateType==1){
                        deliveryDetailMoney=Double.parseDouble(String.format("%.2f",Double.parseDouble(
                                String.format("%.2f", orderDetail.getComputeArea()*orderDetail.getDeliveryDetail().getQuantity())
@@ -293,56 +298,61 @@
                    if(orderDetail.getOtherColumns()!="{}"&&orderDetail.getOtherColumns()!=null){
                        JSONObject jsonObject = JSON.parseObject(orderDetail.getOtherColumns());
                        for(String key : jsonObject.keySet()){
                            boolean isnull = key.contains("M");
                            if(isnull) {
                                Map<String, Object> moneryItemmap = new HashMap<>();
                                Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(orderDetail.getOrderId(),orderDetail.getOrderNumber(), key, jsonObject.get(key).toString());
                                if(deliveryDetailOtherMoney.get("monery")!=null){
                                    otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
                                    deliveryDetailotherMoneys=Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
                                    moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                                    moneryList.add(moneryItemmap);
                                }else{
                                    TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
                                    return false;
                        if(orderDetail.getOtherColumns()!="{}"&&orderDetail.getOtherColumns()!=null){
                            JSONObject jsonObject = JSON.parseObject(orderDetail.getOtherColumns());
                            for(String key : jsonObject.keySet()){
                                boolean isnull = key.contains("M");
                                if(isnull) {
                                    Map<String, Object> moneryItemmap = new HashMap<>();
                                    Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(orderDetail.getOrderId(),orderDetail.getOrderNumber(), key, jsonObject.get(key).toString());
                                    if(deliveryDetailOtherMoney.get("monery")!=null){
                                        otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
                                        deliveryDetailotherMoneys=Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
                                        moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                                        moneryList.add(moneryItemmap);
                                    }else{
                                        TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
                                        return "false1";
                                    }
                                }
                            }
                        }
                        //对循环明细的数据进行累加
                        quantity += orderDetail.getDeliveryDetail().getQuantity();
                        area += orderDetail.getComputeArea() * orderDetail.getDeliveryDetail().getQuantity();
                        money += deliveryDetailMoney;
                        Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber);
                        //额外金额修改
                        Map<String,String> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, String>>(){});
                        if(otherColumns!=null){
                            otherColumns.forEach((key, value) ->{
                                boolean isnull = key.contains("M");
                                if(isnull){
                                    deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{
                                        if(deliveryOtherMoney.getColumn().equals(key)){
                                            deliveryOtherMoney.setQuantity(deliveryOtherMoney.getQuantity()+( Double.valueOf(value)* orderDetail.getDeliveryDetail().getQuantity()));
                                        }
                                    });
                                }
                            });
                        }
                        //新增发货明细数据
                        deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney,deliveryDetailotherMoneys);
                        //修改订单明细
                        deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail);
                        //修改库存表出库数量
                        finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getDeliveryDetail().getQuantity());
                    }else{
                        TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
                        return "false2";
                    }
                    //对循环明细的数据进行累加
                    quantity += orderDetail.getDeliveryDetail().getQuantity();
                    area += orderDetail.getComputeArea() * orderDetail.getDeliveryDetail().getQuantity();
                    money += deliveryDetailMoney;
                    Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber);
                    //额外金额修改
                    Map<String,String> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, String>>(){});
                    if(otherColumns!=null){
                        otherColumns.forEach((key, value) ->{
                            boolean isnull = key.contains("M");
                            if(isnull){
                                deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{
                                    if(deliveryOtherMoney.getColumn().equals(key)){
                                        deliveryOtherMoney.setQuantity(deliveryOtherMoney.getQuantity()+( Double.valueOf(value)* orderDetail.getDeliveryDetail().getQuantity()));
                                    }
                                });
                            }
                        });
                    }
                    //新增发货明细数据
                    deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney,deliveryDetailotherMoneys);
                    //修改订单明细
                    deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail);
                    //修改库存表出库数量
                    finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getDeliveryDetail().getQuantity());
                }
                //往订单其他金额副表传入数据
@@ -365,7 +375,7 @@
                deliveryMapper.updatedelivery(Double.valueOf(String.format("%.2f", area)), quantity, Double.valueOf(intMoney), otherMoney.get(), oddNumber);
                logService.saveLog(log);
            } else {
                return false;
                return "false3";
            }
        }catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -374,7 +384,7 @@
            sysError.setError(e+Arrays.toString(e.getStackTrace()));
            sysError.setFunc("insertDelivery");
            sysErrorService.insert(sysError);
            saveState = false;
            saveState = "false4";
        }
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -502,13 +502,15 @@
                                          ogds.order_number,
                                          GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                          ogds.glass_child                                  AS concatenated_glass_child,
                                          process                                           AS processed_part
                                          process                                           AS processed_part,
                                          ogds.child_width,
                                          ogds.child_height
                                   from sd.order_glass_detail as ogds
                                   where ogds.order_id = #{orderId}
                                   GROUP BY order_id, order_number, ogds.glass_child,process) as ogdss
                                   GROUP BY order_id, order_number, ogds.glass_child,process,ogds.child_width,ogds.child_height) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id, ogdss.concatenated_glass_child,ogdss.processed_part
               GROUP BY fc.process_id, ogdss.concatenated_glass_child,ogdss.processed_part,ogdss.child_width,ogdss.child_height
               order by fc.process_id, ogdss.technology_number)
              UNION
@@ -639,7 +641,7 @@
    <select id="getDetailList">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               od.quantity,
               fc.quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
@@ -660,7 +662,7 @@
            and fcs.process=#{process}
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number
        group by fc.process_id, fc.order_number,fc.technology_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
@@ -1104,7 +1106,7 @@
    <select id="getDetailListLike">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               od.quantity,
               fc.quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -151,6 +151,10 @@
        select sum(quantity) from sd.order_detail where  order_id=#{orderId}
    </select>
    <select id="selectOrderDetailDeliveryCount">
        SELECT * FROM sd.order_detail where order_id=#{orderDetail.orderId} and order_number=#{orderDetail.orderNumber}
    </select>
    <insert id="insertDeliveryDetail"  useGeneratedKeys="true" >
        insert into sd.delivery_detail (delivery_id,delivery_number,order_number,