chenlu
2024-09-06 d809ecd16cbb23f5aad86a6844f51ffea0455fe8
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
12个文件已修改
246 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet2.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/LoginView.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/RegisterView.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliveryDetailDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliveryDetailProductDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java 171 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue
@@ -485,11 +485,7 @@
  margin: 0;
  padding: 0;
}
@media print {
  @page {
    margin: 8mm 16mm 8mm 16mm;
  }
}
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet2.vue
@@ -278,13 +278,6 @@
  color: black;
}
@media print {
  @page {
    size: auto;
    margin: 8mm 16mm 20mm 16mm;
  }
}
north-glass-erp/northglass-erp/src/lang/index.js
@@ -5,13 +5,13 @@
import ru from "./ru"
let messages = {
    zh:zh,
    en: en,
    'zh-CN':zh,
    'en-US': en,
    ru: ru
}
const i18n = createI18n({
    locale: localStorage.getItem('lang') || 'zh', // 设置当前语言类型
    locale: localStorage.getItem('lang') || 'zh-CN', // 设置当前语言类型
    legacy: false, // 如果要支持compositionAPI,此项必须设置为false;
    globalInjection: true, // 全局注册$t方法
    messages
north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -25,6 +25,8 @@
  pass: ''
})
let registerState = ref(true)
if (typeof(route.query.id) != "undefined"){
  userForm.userId = <string>route.query.id
}
@@ -73,6 +75,8 @@
        ElMessage.error(t('login.connectErr'))
        loginLoadings.value=false
        return false
      }).then(() => {
        userForm.pass = atob(userForm.pass)
      })
    }
  })
@@ -104,6 +108,15 @@
  localStorage.setItem('lang',language.value)
  location.reload()
}
//注册按钮的显示
const changeRegister = ()=>{
  if(userForm.pass=='admin'){
    registerState.value =false
  }else {
    registerState.value =true
  }
}
</script>
<template>
@@ -118,8 +131,8 @@
            v-model="language"
            placeholder=" "
            style="float: right;width: 6rem">
          <el-option value="zh"  label="中文" />
          <el-option value="en"  label="English" />
          <el-option value="zh-CN"  label="中文" />
          <el-option value="en-US"  label="English" />
          <el-option value="ru"  label="Русский язык" />
        </el-select>
        <h2>{{$t('login.SysName')}}</h2>
@@ -142,6 +155,7 @@
          <el-form-item :label="$t('login.password')+':'" prop="pass">
            <el-input
                v-model="userForm.pass"
                @blur="changeRegister"
                type="password"
                autocomplete="off"
                :prefix-icon="Lock"
@@ -151,6 +165,7 @@
          <el-form-item id="submitForm">
            <el-button
                :loading="registerLoadings"
                :disabled="registerState"
                type="primary"
                @click="register"
            >{{$t('login.register')}}
north-glass-erp/northglass-erp/src/views/RegisterView.vue
@@ -97,6 +97,8 @@
          ElMessage.error("服务器连接失败")
          loginLoadings.value=false
          return false
        }).then(() => {
          register.password = atob(register.password)
        })
      }
    })
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -14,6 +14,7 @@
import footSum from "@/hook/footSum";
import {changeFilterEvent,filterChanged} from "@/hook"
import companyInfo from "@/stores/sd/companyInfo";
import {multiply} from "@/utils/decimal";
//语言获取
const { t } = useI18n()
@@ -211,7 +212,6 @@
        pageTotal.value=res.data.total
        titleUploadData.value=deepClone(res.data.delivery)
        titleUploadData.value.deliveryId=str
        console.log(titleUploadData.value)
        //根据审核状态显示审核按钮或者是反审按钮
@@ -298,6 +298,7 @@
  customConfig: {
    storage: true
  },
  checkboxConfig:{checkAll:true},
  mouseConfig:{selected: true},//鼠标选中
  keyboardConfig:{isArrow: true, isDel: true, isEnter: true, isTab: true, isEdit: true, isChecked: true},
  editConfig: {
@@ -511,6 +512,10 @@
            }
            dataList.forEach((item,index) =>{
              if(index>=result.start && index<=result.end){
                //取消选中
                if(parseInt(firstVal)<=0){
                  xGrid.value.setCheckboxRow(item, false);
                }
                if(result.cell.indexOf('.')>-1){
                  const  columnArr = result.cell.split('.')
                  item[columnArr[0]][columnArr[1]]  = firstVal
@@ -563,7 +568,7 @@
            return new Error(t('delivery.theShipmentQuantityCannotBeGreaterThanTheInventoryQuantity'))
          }else if (e.row.deliveryDetail.quantity ==="") {
            return new Error(t('delivery.theShipmentQuantityCannotBeEmptyOr0'))
         }
          }
         const regex = /^[1-9]\d*$/g
         if ( !regex.test(e.row.deliveryDetail.quantity) ) {
           return new Error(t('productStock.pleaseEnterAPositiveInteger'))
@@ -584,6 +589,16 @@
  ],
})
const editClosedEvent = ({ row, column }) => {
  if (['deliveryDetail.quantity'].includes(column.property)) {
    if(parseInt(row.deliveryDetail.quantity)===0){
      xGrid.value.setCheckboxRow(row, false);
    }
  }
}
</script>
@@ -678,6 +693,7 @@
          v-bind="gridOptions"
          v-on="gridEvents"
          :edit-rules="validRules"
          @edit-closed="editClosedEvent"
      >
        <template #num1_filter="{ column, $panel }">
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -256,8 +256,8 @@
          const projectArray=[];
          for (let i=0;i<selectRecords.length;i++){
            customerIdArray.push(selectRecords[i].customerId)
            if(selectRecords[i].project.trim.length===0){
              projectArray.push(selectRecords[i].project.trim)
            if(selectRecords[i].project.trim().length===0){
              projectArray.push(selectRecords[i].project.trim())
            }else{
              projectArray.push(selectRecords[i].project)
            }
north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java
@@ -25,7 +25,7 @@
    @ExcelProperty("面积")
    private Double area;
    @ExcelProperty("单价")
    private Integer price;
    private Double price;
    @ExcelProperty("金额")
    private Double money;
north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliveryDetailDTO.java
@@ -29,7 +29,7 @@
    @ExcelProperty("数量")
    private Integer quantity;
    @ExcelProperty("单价")
    private Integer price;
    private Double price;
    @ExcelProperty("面积")
    private Double area;
    @ExcelProperty("其他金额")
north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliveryDetailProductDTO.java
@@ -28,7 +28,7 @@
    @ExcelProperty("数量")
    private Integer quantity;
    @ExcelProperty("单价")
    private Integer price;
    private Double price;
    @ExcelProperty("面积")
    private Double area;
    @ExcelProperty("其他金额")
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -239,48 +239,49 @@
            //获取对象集合循环进行新增修改
            if (!orderDetaillist.isEmpty()) {
                for (OrderDetail orderDetail : orderDetaillist) {
                    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.getDeliveryDetail().getQuantity()>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;
                        double deliveryDetailArea = 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();
                            deliveryDetailArea=getComputeArea.multiply(getQuantity).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();
                                deliveryDetailArea=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue();
                            if (orderDetail.getOrder().getOrderId()==null){
                                Order order=deliveryMapper.selectOrderId(orderDetail.getOrderId());
                                calculateType=order.getCalculateType();
                            }else{
                                calculateType=orderDetail.getOrder().getCalculateType();
                            }
                            double deliveryDetailMoney = 0.0;
                            double deliveryDetailArea = 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();
                                deliveryDetailArea=getComputeArea.multiply(getQuantity).doubleValue();
                            }
                        }else if (calculateType==3){
                            deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
                            deliveryDetailArea=getComputeArea.multiply(getQuantity).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();
                                    deliveryDetailArea=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue();
                                }else{
                                    deliveryDetailMoney=singlePieceArea.doubleValue();
                                    deliveryDetailArea=getComputeArea.multiply(getQuantity).doubleValue();
                                }
                            }else if (calculateType==3){
                                deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
                                deliveryDetailArea=getComputeArea.multiply(getQuantity).doubleValue();
                            }
                    /*if (calculateType==1){
                        deliveryDetailMoney=Double.parseDouble(String.format("%.2f",Double.parseDouble(
                                String.format("%.2f", orderDetail.getComputeArea()*orderDetail.getDeliveryDetail().getQuantity())
@@ -302,60 +303,60 @@
                        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";
                            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 += deliveryDetailArea;
                            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,deliveryDetailArea);
                            //修改订单明细
                            deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail);
                            //修改库存表出库数量
                            finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getDeliveryDetail().getQuantity());
                        }else{
                            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
                            return "false2";
                        }
                        //对循环明细的数据进行累加
                        quantity += orderDetail.getDeliveryDetail().getQuantity();
                        area += deliveryDetailArea;
                        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,deliveryDetailArea);
                        //修改订单明细
                        deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail);
                        //修改库存表出库数量
                        finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getDeliveryDetail().getQuantity());
                    }else{
                        TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
                        return "false2";
                    }
                }
                //往订单其他金额副表传入数据
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -130,7 +130,10 @@
    /*----------------新版本登陆*/
    public UserDTO doLogin(UserDTO userDTO) {
        User user = userMapper.selectOne(new QueryWrapper<User>().
                eq("login_name", userDTO.getUserId()).eq("password", userDTO.getPass()));
                eq("login_name", userDTO.getUserId())
                .eq("password", userDTO.getPass())
                .eq("state",1)
        );
        if(user!=null){
            //检查是让有登录,有登录直接退出
            StpUtil.logout(user.getId());