wuyouming666
2025-03-25 4377218307f9f02073665b349e6f3cca8bbed4e1
Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
25个文件已修改
4个文件已添加
546 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet2.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ar.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ru.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/router/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/config/AppConfig.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/dto/pp/OrderNumberTransferDTO.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkTransfer.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkTransferMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java 243 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue
@@ -192,7 +192,7 @@
              </thead>
              <tr>
                <td style="font-size: 15px;text-align: left" colspan="4">产品名称:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                <td v-if="company.showDeliveryCreator" style="font-size: 15px;text-align: left" colspan="2">对方单号:</td>
                <td v-if="company.showDeliveryCreator" style="font-size: 15px;text-align: left" colspan="2">订货日期:<span>{{item.DeliveryDetail.order.contractId}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
              </tr>
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet2.vue
@@ -147,7 +147,7 @@
              </thead>
              <tr>
                <td style="font-size: 15px;text-align: left" colspan="4">产品名称:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="2">对方单号:</td>
                <td style="font-size: 15px;text-align: left" colspan="2">订货日期:<span>{{item.DeliveryDetail.order.contractId}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
              </tr>
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue
@@ -39,9 +39,7 @@
      productIdData.value=deepClone(res.data.data)
      produceList.value = deepClone(res.data.data)
      delivery.value=deepClone(res.data.delivery)
      console.log(delivery.value)
      money.value=deepClone(res.data.money)
      produceList.value.forEach(item => {
        sumMoney+=item.DeliveryDetail.grossAmount
@@ -221,7 +219,7 @@
            <span v-if="company.productName!=='product_abbreviation'">{{item.productName}}</span>
            <span v-else >{{item.remarks}}</span>
          </td>
          <td v-if="company.showDeliveryCreator" style="font-size: 15px;font-weight: bold;text-align: left" colspan="2">对方单号:</td>
          <td v-if="company.showDeliveryCreator" style="font-size: 15px;font-weight: bold;text-align: left" colspan="2">订货日期:<span>{{delivery.contractId}}</span></td>
          <td v-else style="font-size: 15px;font-weight: bold;text-align: left" colspan="2"></td>
          <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderId}}</span></td>
        </tr>
north-glass-erp/northglass-erp/src/lang/ar.js
@@ -248,6 +248,7 @@
        oneClickReturn:'一键退回',
        quantityMount:'数量金额',
        allAmount:'面积金额(总金额)',
        msg:{
            productCheck:'الرجاء اختيار منتج',
north-glass-erp/northglass-erp/src/lang/en.js
@@ -248,6 +248,7 @@
        oneClickReturn:'一键退回',
        quantityMount:'Quantity and Amount',
        allAmount:'面积金额(总金额)',
        msg:{
            productCheck:'Please select a product',
north-glass-erp/northglass-erp/src/lang/ru.js
@@ -248,6 +248,7 @@
        oneClickReturn:'一键退回',
        quantityMount:'数量金额',
        allAmount:'面积金额(总金额)',
        msg:{
            productCheck:'Пожалуйста, выберите продукт',
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -248,6 +248,7 @@
        oneClickReturn:'一键退回',
        quantityMount:'数量金额',
        allAmount:'面积金额(总金额)',
        msg:{
            productCheck:'请选择产品',
north-glass-erp/northglass-erp/src/router/index.js
@@ -1236,8 +1236,8 @@
      component: () => import('../views/RegisterView.vue')
    },
    {
      path: '/appDownLoad',
      name: 'appDownLoad',
      path: '/app',
      name: 'app',
      component: () => import('../views/system/app/appDownload.vue')
    }
    
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -314,6 +314,7 @@
      path: '/main/processCard/AddProcessCard',
      query: {orderId: orderId,
        productionId: productionId,
        quantity: orderQuantity,
        random:Math.random()
      }
    })
@@ -947,19 +948,22 @@
let quantit = ref('')
let weight = ref('')
const handleCheckboxChange = ({row}) => {
  const $grid = xGrid.value
  //获取右边表格checkbox选中的数据
  const checkedList = $grid.getCheckboxRecords()
const handleCheckboxChange = ({ row }) => {
  const $grid = xGrid.value;
  // 获取右边表格 checkbox 选中的数据
  const checkedList = $grid.getCheckboxRecords();
  let quantitySum = 0;
  let weightsum = 0;
  checkedList.forEach(item => {
    quantitySum += item.baiscQuantity;
    quantitySum += Number(item.baiscQuantity) || 0; // 确保转换为数字
    weightsum += weightSum(item);
  });
  quantit.value = quantitySum;
  quantit.value = Number(quantitySum) || 0; // 确保最终值是数字
  weight.value = parseFloat(weightsum.toFixed(2));
}
};
</script>
<template>
@@ -1017,8 +1021,8 @@
        <div height="100%" style="margin: 5px" width="11%">
          <el-main style="">
            <div>
              <span><el-input v-model="quantit" style="width: 80px;"/></span>
              <span><el-input v-model="weight" style="width: 80px;"/></span>
              <span><el-input :readonly="true" v-model="quantit" style="width: 80px;"/></span>
              <span><el-input :readonly="true" v-model="weight" style="width: 80px;"/></span>
            </div>
            <span>{{ $t('processCard.selectedQuantity') }}:<el-input id="checkedNum" v-model="checkedNum" clearable
                                                                     type="number"></el-input></span><br>
@@ -1050,6 +1054,7 @@
                v-bind="gridOptions"
                v-on="gridEventsRight"
                @checkbox-change="handleCheckboxChange"
                @checkbox-all="handleCheckboxChange"
            >
              <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
              <!--      下拉显示所有信息插槽-->
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -224,6 +224,20 @@
      filterMethod: filterChanged
    },
    {
      field: 'glass_thickness',
      title: t('order.totalThickness'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'glass_type',
      title: t('ingredients.films'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'glass_total',
      title: t('order.quantity'),
      filters: [{data: ''}],
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -258,6 +258,8 @@
    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
    {field: 'orderId', title: t('order.orderId'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 110},
    {field: 'order.customerName', title: t('processCard.customerName'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 110},
    {field: 'order.batch', title: t('order.batch'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 110},
    {
      field: 'processId',
      width: 140,
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -330,7 +330,7 @@
    {field: 'deliveryDetail.money',width:120,  title: t('order.grossAmount'),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},
    {field: 'area',width:120,   title: t('productStock.singlePieceArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'grossArea',width:120,   title: t('productStock.totalArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'computeArea',width:120,  title: t('order.computeArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'computeGrossArea',width:120,  title: t('order.computeGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -99,8 +99,8 @@
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true,gt:0 },//开启虚拟滚动
  scrollX:{ enabled: true,gt:0 },//开启虚拟滚动
  virtualXConfig:{ enabled: true,gt:0 },//开启虚拟滚动
  virtualYConfig:{ enabled: true,gt:0 },//开启虚拟滚动
  showOverflow:true,
  menuConfig: {
    body: {
@@ -934,6 +934,8 @@
    if(titleUploadData.value.calculateType===3){
      item.grossAmount=multiply(item.price,item.quantity)
    }else if(titleUploadData.value.calculateType===4){
      item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
    }else{
      item.grossAmount=multiply(item.price,item.computeGrossArea)
    }
@@ -1220,7 +1222,11 @@
  // 获取保留面积,
  const decValue = company.decValue
  switch (titleUploadData.value.calculateType){
    case 2:{
    case 2 :{
      areaSum = parseFloat(divideAuto(row.width * row.height* row.quantity,1000000,company.decValue))
      break
    }
    case 4:{
      areaSum = parseFloat(divideAuto(row.width * row.height* row.quantity,1000000,company.decValue))
      break
    }
@@ -1283,6 +1289,8 @@
      }
      if(titleUploadData.value.calculateType===3){
        item.grossAmount=multiply(item.price , item.quantity)
      }else if(titleUploadData.value.calculateType===4){
        item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
      }else{
        item.grossAmount=multiply(item.price * 1 , item.computeGrossArea)
      }
@@ -1344,6 +1352,8 @@
     }
     if(titleUploadData.value.calculateType===3){
       row.grossAmount=multiply(row.price ,row.quantity)
     }else if(titleUploadData.value.calculateType===4){
       row.grossAmount=parseFloat(divideAuto(row.width * row.height* row.quantity*row.price,1000000,company.decValue))
     }else{
       row.grossAmount=multiply(row.price , row.computeGrossArea)
     }
@@ -1443,10 +1453,24 @@
    if( !isNaN(item.computeArea*1) && item.computeArea != null ){
      if(titleUploadData.value.calculateType===3){
        item.grossAmount=parseFloat(multiply(item.price , item.quantity))
      }else if(titleUploadData.value.calculateType===4){
        if(titleUploadData.value?.orderReview!==2){
          item.grossArea = countArea(item)
          item.computeGrossArea = item.grossArea
          item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
        }else{
          item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
        }
      }else{
        item.grossArea = countArea(item)
        item.computeGrossArea = item.grossArea
        item.grossAmount=parseFloat(multiply(item.price , item.computeGrossArea))
        if(titleUploadData.value?.orderReview!==2){
          item.grossArea = countArea(item)
          item.computeGrossArea = item.grossArea
          item.grossAmount=parseFloat(multiply(item.price , item.computeGrossArea))
        }else{
          item.grossAmount=parseFloat(multiply(item.price , item.computeGrossArea))
        }
      }
    }
  })
@@ -1657,6 +1681,7 @@
            <el-option :value="1" :label="t('order.areaAmountPerPiece')"/>
            <el-option :value="2" :label="t('order.areaAmountAge')"/>
            <el-option :value="3" :label="t('order.quantityMount')"/>
            <el-option :value="4" :label="t('order.allAmount')"/>
          </el-select>
        </el-col>
        <el-col  :span="2"><el-text>*{{$t('order.salesman')}}:</el-text></el-col>
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -622,14 +622,14 @@
        </el-row>
        <el-row>
          <el-col :span="4">{{$t('craft.xMargin')}}:</el-col>
          <el-col :span="4">{{$t('order.width')}}:</el-col>
          <el-col :span="6">
            <el-input-number v-model="trademarkAttr.xMargin"/>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="4">{{$t('craft.yMargin')}}:</el-col>
          <el-col :span="4">{{$t('order.height')}}:</el-col>
          <el-col :span="6">
            <el-input-number v-model="trademarkAttr.yMargin"/>
          </el-col>
@@ -726,8 +726,8 @@
          </el-row>
        </div>
        <div style="position: absolute;left: 405px;top: 115px;color: red">{{$t('order.width')}}</div>
        <div style="position: absolute;left: 200px;top: 250px;color: red">{{$t('order.height')}}</div>
        <div style="position: absolute;left: 405px;top: 115px;color: red">{{$t('order.height')}}</div>
        <div style="position: absolute;left: 200px;top: 250px;color: red">{{$t('order.width')}}</div>
      </div>
north-glass-erp/src/main/java/com/example/erp/config/AppConfig.java
New file
@@ -0,0 +1,13 @@
package com.example.erp.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class AppConfig {
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
@@ -157,4 +157,10 @@
        return  Result.seccess(reportingWorkService.SaveReportingWorkSv(reportingWork));
    }
    @ApiOperation("报工转移")
    @PostMapping  ("/reportingWorkTransfer")
    public Result reportingWorkTransfer(@RequestBody Map<String,String> reportingWork)  {
        return  Result.seccess(reportingWorkService.reportingWorkTransferSv(reportingWork));
    }
}
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -255,8 +255,15 @@
    @ApiOperation("手机扫码玻璃信息")
    @PostMapping("/scannerGlassInfo/{projectNo}")
    public Result scannerGlassInfo(@PathVariable String projectNo)  {
        System.out.println("123123");
        return  Result.seccess(orderService.scannerGlassInfo(projectNo));
    }
    @PostMapping("/test")
    public Result scannerGlassInfo()  {
        System.out.println("123123");
        return  Result.seccess(null);
    }
}
north-glass-erp/src/main/java/com/example/erp/dto/pp/OrderNumberTransferDTO.java
New file
@@ -0,0 +1,45 @@
package com.example.erp.dto.pp;
import lombok.Data;
/**
 * 订单序号报工转换变更传输类
 */
@Data
public class OrderNumberTransferDTO {
    /**
     * 旧流程卡号
     */
    private String oldProcessId;
    /**
     * 旧序号
     */
    private String oldOrderNumber;
    /**
     * 旧层号
     */
    private Integer oldTechnologyNumber;
    /**
     * 信流程卡号
     */
    private String newProcessId;
    /**
     * 新序号
     */
    private String newOrderNumber;
    /**
     * 新层号
     */
    private Integer newTechnologyNumber;
    /**
     * 变更数量
     */
    private Integer changeNumber;
}
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
@@ -62,6 +62,10 @@
    private Integer sort;
    //架号
    private String rack;
    //订单转移导入数量
    private Integer importNumber;
    //订单转移导出数量
    private Integer exportNumber;
    //建立时间
    private LocalDate createTime;
    //修改时间
north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkTransfer.java
New file
@@ -0,0 +1,28 @@
package com.example.erp.entity.pp;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDate;
@Data
public class ReportingWorkTransfer {
    @TableId(type = IdType.AUTO)
    private Long  id;
    //被转移订单号
    private String  oldOrder;
    //被转移序号
    private Integer  oldOrderNumber;
    //被转移内容(sd报工流程表)
    private String  oldReportContent;
    //新订单
    private String  newOrder;
    //新订单序号
    private Integer  newOrderNumber;
    //新转移内容
    private String  newReportContent;
    //建立时间
    private LocalDate createTime;
}
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.erp.entity.mm.FinishedGoodsInventory;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -13,6 +14,7 @@
import java.util.List;
@Data
@TableName("sd.`order_detail`")
public class OrderDetail {
    @TableId(type = IdType.AUTO)
    private Long id;
@@ -74,6 +76,6 @@
    @TableField(exist= false,select = false)
    private Integer landingSequence;
    @TableField(exist= false,select = false)
    private Integer thickness;
    private Double thickness;
}
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkTransferMapper.java
New file
@@ -0,0 +1,9 @@
package com.example.erp.mapper.pp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.erp.entity.pp.ReportingWorkTransfer;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ReportingWorkTransferMapper extends BaseMapper<ReportingWorkTransfer> {
}
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -1189,6 +1189,7 @@
                    newOrderDetail.setLandingSequence(flowCardNo);
                    orderDetailList.add(newOrderDetail);
                    orderDetail.setQuantity(orderDetail.getQuantity() - shelfQuantity);
                    orderDetail.setBaiscQuantity(String.valueOf(Integer.valueOf(orderDetail.getBaiscQuantity())-shelfQuantity));
                    flowCardNo += 1;
                    shelfQuantity = shelfQuantity - shelfQuantity;
                } else {
@@ -1199,6 +1200,7 @@
                    newOrderDetail.setOrderNumber(orderDetail.getOrderNumber());
                    newOrderDetail.setShape(orderDetail.getShape());
                    newOrderDetail.setLandingSequence(flowCardNo);
                    newOrderDetail.setBaiscQuantity(String.valueOf(orderDetail.getBaiscQuantity()));
                    orderDetailList.add(newOrderDetail);
                    //当前架子剩余数量
                    shelfQuantity = shelfQuantity - Math.toIntExact(orderDetail.getQuantity());
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -4,19 +4,22 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.common.Constants;
import com.example.erp.entity.pp.DamageDetails;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.pp.ReportingWork;
import com.example.erp.entity.pp.ReportingWorkDetail;
import com.example.erp.dto.pp.OrderNumberTransferDTO;
import com.example.erp.entity.pp.*;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.SysError;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.mm.FinishedOperateLogMapper;
import com.example.erp.mapper.pp.*;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.mapper.sd.OrderDetailMapper;
import com.example.erp.mapper.sd.OrderGlassDetailMapper;
import com.example.erp.mapper.sd.OrderMapper;
import com.example.erp.mapper.sd.OrderProcessDetailMapper;
@@ -25,9 +28,15 @@
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.client.RestTemplate;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -36,36 +45,31 @@
@Service
@DS("pp")
@RequiredArgsConstructor
public class ReportingWorkService {
    final
    ReportingWorkMapper reportingWorkMapper;
    final
    BasicDateProduceMapper basicDateProduceMapper;
    final
    DamageDetailsMapper damageDetailsMapper;
    final
    OrderProcessDetailMapper orderProcessDetailMapper;
    final
    ReportingWorkDetailMapper
            reportingWorkDetailMapper;
    final OrderMapper
            orderMapper;
    private final ReportingWorkTransferMapper reportingWorkTransferMapper;
    private final ReportingWorkMapper reportingWorkMapper;
    private final BasicDateProduceMapper basicDateProduceMapper;
    private final DamageDetailsMapper damageDetailsMapper;
    private final OrderProcessDetailMapper orderProcessDetailMapper;
    private final ReportingWorkDetailMapper reportingWorkDetailMapper;
    private final OrderMapper  orderMapper;
    private final OrderDetailMapper orderDetailMapper;
    final
    FlowCardMapper flowCardMapper;
    private final FlowCardMapper flowCardMapper;
    final
    OrderProcessDetailService orderProcessDetailService;
    private final OrderProcessDetailService orderProcessDetailService;
    final
    LogService logService;
    private final LogService logService;
    final LogMapper logMapper;
    private final LogMapper logMapper;
    private final OrderGlassDetailMapper orderGlassDetailMapper;
    private final SysErrorService sysErrorService;
    private final FinishedOperateLogMapper finishedOperateLogMapper;
    private final RestTemplate restTemplate;
    public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService) {
    /*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) {
        this.reportingWorkMapper = reportingWorkMapper;
        this.basicDateProduceMapper = basicDateProduceMapper;
        this.damageDetailsMapper = damageDetailsMapper;
@@ -78,7 +82,10 @@
        this.logMapper = logMapper;
        this.orderGlassDetailMapper = orderGlassDetailMapper;
        this.sysErrorService = sysErrorService;
    }
        this.orderDetailMapper = orderDetailMapper;
        this.finishedOperateLogMapper = finishedOperateLogMapper;
        this.reportingWorkTransferMapper = reportingWorkTransferMapper;
    }*/
    public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process, String reportType) {
        Map<String, Object> map = new HashMap<>();
@@ -819,4 +826,188 @@
        }
    }
    @Transactional(rollbackFor = Exception.class)
    public Object reportingWorkTransferSv(Map<String, String> reportingWork) {
        Order oldOrder = orderMapper.selectOrderId(reportingWork.get("oldOrderId"));
        OrderDetail oldOrderDetail = orderDetailMapper.selectOne(
                new QueryWrapper<OrderDetail>()
                        .eq("order_id", reportingWork.get("oldOrderId"))
                        .eq("order_number", reportingWork.get("oldOrderNumber"))
        );
        Order newOrder = orderMapper.selectOrderId(reportingWork.get("newOrderId"));
        OrderDetail newOrderDetail = orderDetailMapper.selectOne(
                new QueryWrapper<OrderDetail>()
                        .eq("order_id", reportingWork.get("newOrderId"))
                        .eq("order_number", reportingWork.get("newOrderNumber"))
        );
        if(!Objects.equals(oldOrder.getCustomerId(), newOrder.getCustomerId())){
            return "新旧订单客户不一致";
        }
        if(!Objects.equals(oldOrderDetail.getProductId(), newOrderDetail.getProductId())){
            return "新旧订单产品不一致";
        }
        if (!Objects.equals(oldOrderDetail.getWidth(), newOrderDetail.getWidth())
                || !Objects.equals(oldOrderDetail.getHeight(), newOrderDetail.getHeight())){
            return "新旧订单尺寸不一致";
        }
        //获取旧订单是否流程卡是否存在
        List<OrderProcessDetail> oldOrderProcessDetailList = orderProcessDetailMapper
                .selectList(new QueryWrapper<OrderProcessDetail>()
                        .eq("order_id", reportingWork.get("oldOrderId"))
                        .eq("order_number", reportingWork.get("oldOrderNumber"))
                );
        if(oldOrderProcessDetailList.isEmpty()){
            return "旧订单未分流程卡";
        }
        //获取新订单是否流程卡是否存在
        List<OrderProcessDetail> newOrderProcessDetailList = orderProcessDetailMapper
                .selectList(new QueryWrapper<OrderProcessDetail>()
                        .eq("order_id", reportingWork.get("newOrderId"))
                        .eq("order_number", reportingWork.get("newOrderNumber"))
                );
        if(newOrderProcessDetailList.isEmpty()){
            return "新订单未分流程卡";
        }
        //新订单是否存在已经排版序号
        List<FlowCard> newFlowCardLayoutStatus = flowCardMapper.selectList(new QueryWrapper<FlowCard>()
                .eq("order_id", reportingWork.get("newOrderId"))
                .eq("order_number", reportingWork.get("newOrderNumber"))
                .gt("layout_status",0)
        );
        if(!newFlowCardLayoutStatus.isEmpty()){
            return "新订单此序号存在排版";
        }
        //获取旧订单报工数据汇总
        List<OrderProcessDetail> oldOrderProcessDetailForReport = orderProcessDetailMapper
                .selectList(new QueryWrapper<OrderProcessDetail>()
                        .eq( "order_id", reportingWork.get("oldOrderId"))
                        .eq("order_number", reportingWork.get("oldOrderNumber"))
                        .gt("reporting_work_num",0)
        );
        Map<String,Object> log = new HashMap<>();
        log.put("oldOrderBeforeChange",oldOrderProcessDetailForReport);
        Map<String,Object> newOrderLog = new HashMap<>();
        newOrderLog.put("newOrderBeforeChange",newOrderProcessDetailList);
        //传给mes流程卡数量集合
        List<OrderNumberTransferDTO> orderNumberTransferList = new ArrayList<>();
        oldOrderProcessDetailForReport.forEach(oldOrderProcessDetail -> {
            int maxNum = 0;
            for(OrderProcessDetail newOrderProcessDetail : newOrderProcessDetailList){
                if(oldOrderProcessDetail.getReportingWorkNum() == 0){
                    break;
                }
                //判断小片是否一致,工序是否一致
                if(newOrderProcessDetail.getProcess().equals(oldOrderProcessDetail.getProcess()) &&
                        Objects.equals(newOrderProcessDetail.getTechnologyNumber(), oldOrderProcessDetail.getTechnologyNumber())){
                    //判断是否为第一道工序,给可转移最大值赋值
                    if(oldOrderProcessDetail.getProcess().equals("切割")){
                        FlowCard  thisFlowCard = flowCardMapper.selectOne(new QueryWrapper<FlowCard>()
                                .eq("process_id", newOrderProcessDetail.getProcessId())
                                .eq("order_number", newOrderProcessDetail.getOrderNumber())
                                .eq("technology_number",newOrderProcessDetail.getTechnologyNumber())
                        );
                        maxNum = thisFlowCard.getQuantity();
                    }else{
                        //当不是第一道工序则,拿上一道工序作为最大值
                        maxNum = orderProcessDetailMapper.selectById(newOrderProcessDetail.getId()-1).getReportingWorkNum();
                    }
                    //判断被转移的数量是否大于可转移的数量最大值
                    int transferNum = 0;
                    if(oldOrderProcessDetail.getReportingWorkNum() > maxNum){
                        transferNum = maxNum;
                        oldOrderProcessDetail.setReportingWorkNum(oldOrderProcessDetail.getReportingWorkNum()-maxNum);
                        oldOrderProcessDetail.setReportingWorkNumCount(oldOrderProcessDetail.getReportingWorkNumCount()-maxNum);
                    }else{
                        transferNum = oldOrderProcessDetail.getReportingWorkNum();
                        oldOrderProcessDetail.setReportingWorkNum(0);
                        oldOrderProcessDetail.setReportingWorkNumCount(0);
                    }
                    //更新旧订单小片流程表的报工数量
                    orderProcessDetailMapper.update(null,new UpdateWrapper<OrderProcessDetail>()
                            .set("reporting_work_num",oldOrderProcessDetail.getReportingWorkNum())
                            .set("reporting_work_num_count",oldOrderProcessDetail.getReportingWorkNumCount())
                            .eq("id",oldOrderProcessDetail.getId())
                    );
                    //更新新订单小片流程表的报工数量
                    orderProcessDetailMapper.update(null,new UpdateWrapper<OrderProcessDetail>()
                            .set("reporting_work_num",transferNum)
                            .set("reporting_work_num_count",transferNum)
                            .eq("id",newOrderProcessDetail.getId())
                    );
                    if(oldOrderProcessDetail.getProcess().equals("切割")){
                        //更新旧订单流程卡转出数量
                        flowCardMapper.update(null,new UpdateWrapper<FlowCard>()
                                .setSql("export_number = export_number + "+transferNum)
                                .eq("process_id", oldOrderProcessDetail.getProcessId())
                                .eq("order_number", oldOrderProcessDetail.getOrderNumber())
                                .eq("technology_number",oldOrderProcessDetail.getTechnologyNumber())
                        );
                        //更新新订单流程卡转出数量
                        flowCardMapper.update(null,new UpdateWrapper<FlowCard>()
                                .setSql("import_number = import_number + "+transferNum)
                                .eq("process_id", newOrderProcessDetail.getProcessId())
                                .eq("order_number", newOrderProcessDetail.getOrderNumber())
                                .eq("technology_number",newOrderProcessDetail.getTechnologyNumber())
                        );
                        //传给mes数据赋值
                        OrderNumberTransferDTO orderNumberTransfer = new OrderNumberTransferDTO();
                        orderNumberTransfer.setChangeNumber(transferNum);
                        orderNumberTransfer.setOldProcessId(oldOrderProcessDetail.getProcessId());
                        orderNumberTransfer.setNewProcessId(newOrderProcessDetail.getProcessId());
                        orderNumberTransfer.setOldOrderNumber(oldOrderProcessDetail.getOrderNumber());
                        orderNumberTransfer.setNewOrderNumber(newOrderProcessDetail.getOrderNumber());
                        orderNumberTransfer.setOldTechnologyNumber(oldOrderProcessDetail.getTechnologyNumber());
                        orderNumberTransfer.setNewTechnologyNumber(newOrderProcessDetail.getTechnologyNumber());
                        orderNumberTransferList.add(orderNumberTransfer);
                    }
                }
            }
        });
        //把旧订单数据和新订单数据传到日志表当中
        log.put("oldOrderChange",JSON.toJSONString(oldOrderProcessDetailForReport));
        newOrderLog.put("newOrderChange",orderProcessDetailMapper
                .selectList(new QueryWrapper<OrderProcessDetail>()
                        .eq("order_id", reportingWork.get("newOrderId"))
                        .eq("order_number", reportingWork.get("newOrderNumber"))
                ));
        //旧订单信息传入日志
        ReportingWorkTransfer reportingWorkTransfer = new ReportingWorkTransfer();
        reportingWorkTransfer.setOldOrder(reportingWork.get("oldOrderId"));
        reportingWorkTransfer.setOldOrderNumber(Integer.valueOf(reportingWork.get("oldOrderNumber")));
        reportingWorkTransfer.setOldReportContent(JSON.toJSONString(log));
        //新订单信息传入日志
        reportingWorkTransfer.setNewOrder(reportingWork.get("newOrderId"));
        reportingWorkTransfer.setNewOrderNumber(Integer.valueOf(reportingWork.get("newOrderNumber")));
        reportingWorkTransfer.setNewReportContent(JSON.toJSONString(newOrderLog));
        reportingWorkTransferMapper.insert(reportingWorkTransfer);
        //restTemplate.postForObject("http://localhost:8086/order/test",orderNumberTransferList,String.class);
        //向mes发送http请求
        ResponseEntity<String> response =restTemplate.exchange(
                "http://localhost:88/api/loadGlass/order/order/orderChange",
                HttpMethod.POST,
                new HttpEntity<>(orderNumberTransferList),
                String.class);
        if(response.getStatusCode() == HttpStatus.OK){
            return true;
        }else{
            return "mes响应超时";
        }
    }
}
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -502,9 +502,21 @@
        BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
        BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getQuantity());
        BigDecimal getComputeGrossArea= BigDecimal.valueOf(orderDetail.getComputeGrossArea());
        BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
        BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth());
        BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight());
        if (calculateType == 3) {
            orderDetail.setGrossAmount(getPrice.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
        } else {
        }else if (calculateType == 4) {
            if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())&&Objects.equals(orderDetail.getGrossArea(), orderDetail.getComputeGrossArea())){
                orderDetail.setGrossAmount(getWidth.multiply(getHeight).multiply(getQuantity).multiply(getPrice).
                        divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue());
            }else{
                orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
            }
        }else if (calculateType == 1){
            orderDetail.setGrossAmount(getPrice.multiply(getComputeArea).multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
        }else{
            orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
        }
        return orderDetail;
@@ -896,11 +908,18 @@
    }
    public Object scannerGlassInfo(String projectNo) {
        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);
        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;
        }
    }
}
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -68,7 +68,8 @@
        b.customer_name,
        if(a.layout_status=0,'不可排版',if(a.layout_status=1,'可排版','已排版')) as layout_status,
        a.merge,
        a.rack
        a.rack,
        b.batch
        from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card
        group by process_Id,order_number) as a
        left join sd.`order` as b on a.order_Id=b.order_id
@@ -530,7 +531,7 @@
    </select>
    <select id="selectPrintFlowCard">
        select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum
        select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum,glass_type,glass_thickness
        from pp.optimize_project as op
                 left join pp.flow_card as fc on op.project_no=fc.project_no
                 left join sd.`order` as o on o.order_id=fc.order_id
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -137,8 +137,8 @@
            ogd.child_width,
            ogd.child_height,
            if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape,
            fc.quantity + ifnull(patch.patch_num,0) -odpd.reporting_work_num -odpd.broken_num   as quantity,
            fc.quantity + ifnull(patch.patch_num,0) -odpd.reporting_work_num -odpd.broken_num   as completedQuantity,
            fc.quantity -fc.export_number + ifnull(patch.patch_num,0) -odpd.reporting_work_num -odpd.broken_num   as quantity,
            fc.quantity -fc.export_number + ifnull(patch.patch_num,0) -odpd.reporting_work_num -odpd.broken_num   as completedQuantity,
            odpd.reporting_work_num as completed,
            odpd.broken_num as onceBroken,
            if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 判断是否已经完成,已经完成不序号和同序号数量相同才能提交
@@ -215,7 +215,7 @@
        LEFT JOIN sd.order_glass_detail AS ogd
                ON od.order_id = ogd.order_id
                AND od.order_number = ogd.order_number
        <if test="process == '夹胶' or (process == '打胶和粘框')">
        <if test="process == '夹胶'">
            AND ogd.`group` = (select `group`
                               from sd.order_glass_detail
                               where order_id = ogd.order_id
@@ -528,12 +528,10 @@
               rw.notes,
               rw.reviewed
        # (IF(rw.reviewed_state = 0, '未审核', IF(rw.reviewed_state = 1, '审核通过', '审核不通过'))) as reviewed_state
        from sd.order as o
                 left join sd.order_glass_detail as ogd on ogd.order_id = o.order_id
                 left join reporting_work as rw on rw.order_id = ogd.order_id and rw.production_id = ogd.production_id
                 left join reporting_work_detail as rwd
                           on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and
                              rwd.technology_number = ogd.technology_number
        from
            reporting_work as rw left join reporting_work_detail as rwd on rw.reporting_work_id=rwd.reporting_work_id
            left join sd.order_glass_detail as ogd on ogd.order_id=rw.order_id and ogd.order_number=rwd.order_number and ogd.technology_number=rwd.technology_number
            left join sd.`order` as o on o.order_id=rw.order_id
        where rw.reviewed_state != 2
          and rw.reporting_work_time >= #{selectTime1}
    AND rw.reporting_work_time &lt;  #{selectTime2}
@@ -572,12 +570,9 @@
    <select id="getPageTotal">
        select CEILING(count(rw.reporting_work_id)/#{pageSize}) as 'pageTotal',
               count(distinct rw.reporting_work_id) as 'total'
             from sd.order as o
                 left join sd.order_glass_detail as ogd on ogd.order_id = o.order_id
                 left join reporting_work as rw on rw.order_id = ogd.order_id and rw.production_id = ogd.production_id
                 left join reporting_work_detail as rwd
                           on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and
                              rwd.technology_number = ogd.technology_number
             from reporting_work as rw left join reporting_work_detail as rwd on rw.reporting_work_id=rwd.reporting_work_id
        left join sd.order_glass_detail as ogd on ogd.order_id=rw.order_id and ogd.order_number=rwd.order_number and ogd.technology_number=rwd.technology_number
        left join sd.`order` as o on o.order_id=rw.order_id
        where rw.reviewed_state != 2
          and rw.reporting_work_time >= #{selectTime1}
        AND rw.reporting_work_time &lt;  #{selectTime2} and position(#{orderId} in rw.order_id)
@@ -1027,12 +1022,9 @@
                     MAX(rw.this_worn_quantity) AS this_worn_quantity,
                     MAX(ogd.child_width) AS child_width,
                     MAX(ogd.child_height) AS child_height
                 FROM sd.order AS o
                          LEFT JOIN sd.order_glass_detail AS ogd
                                    ON ogd.order_id = o.order_id
                          LEFT JOIN reporting_work AS rw
                                    ON rw.order_id = ogd.order_id
                                        AND rw.production_id = ogd.production_id
                 FROM reporting_work as rw left join reporting_work_detail as rwd on rw.reporting_work_id=rwd.reporting_work_id
        left join sd.order_glass_detail as ogd on ogd.order_id=rw.order_id and ogd.order_number=rwd.order_number and ogd.technology_number=rwd.technology_number
        left join sd.`order` as o on o.order_id=rw.order_id
                 WHERE rw.reviewed_state != 2
      and rw.reporting_work_time >= #{selectTime1}
                   AND rw.reporting_work_time &lt;  #{selectTime2}
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -114,6 +114,8 @@
        <result column="product_name" property="orderDetail.productName"/>
        <result column="order_id" property="orderDetail.orderId"/>
        <result column="contract_id" property="order.contractId"/>
@@ -190,7 +192,7 @@
               od.area,
               od.gross_area,
               od.compute_area,
               od.compute_gross_area,
               dd.area as compute_gross_area,
               od.processing_note,
               od.edging_type,
               od.perimeter,
@@ -974,10 +976,11 @@
    </select>
    <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
        select dd.delivery_id,od.order_id,od.product_id,IF(#{type}='product_abbreviation',pt.remarks,od.product_name) as product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from
        select dd.delivery_id,od.order_id,od.product_id,IF(#{type}='product_abbreviation',pt.remarks,od.product_name) as product_name,sum(dd.area) as area,
               sum(dd.money) as money,sum(dd.quantity) as quantity,o.contract_id from
        delivery_detail dd left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                                            left join product pt on pt.id=od.product_id
                                                            left join sd.`order` o on o.order_id=dd.order_id
                where dd.delivery_id like concat('%',#{deliveryId},'%')
north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
@@ -250,7 +250,7 @@
        select
        d.order_id,d.quantity,round(d.money,0) as money ,d.area,d.project,
        d.customer_id,d.customer_name,d.creator,d.salesman,d.salesman_id,
        d.processing_note
        d.processing_note,d.contract_id
        from sd.`order` d
        <where>
            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">