From 8728ffc397a5301d92d68f5b536746df33fecbbc Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Thu, 2 Jan 2025 17:22:11 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[fix]=20=E5=B7=A5=E7=A8=8B=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20=E4=BF=AE=E6=94=B9bom=E7=9A=84=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E5=8E=BB=E6=8E=89params=20=E4=BF=AE=E6=94=B9bom?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E4=BD=93=E7=B1=BB=EF=BC=8CtoString=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98=20bom=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E6=96=B0=E5=A2=9E=E5=8F=8D=E5=90=91BOM=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=92=8C=E6=96=B9=E6=B3=95=20BOM=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=8D=E5=90=91bom=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=AE=9E=E7=8E=B0=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E5=8A=A0=E5=89=8D=E7=AB=AF=E4=BC=A0=E5=85=A5=E7=9A=84=E5=87=BD?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E6=9F=A5=E8=AF=A2=E5=85=B6=E6=9C=AC=E8=BA=AB?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=B8=BABOM=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E6=98=AF=E5=88=99=E6=94=B6=E9=9B=86=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=EF=BC=8C=E6=8C=89=E7=85=A7=E4=B8=80=E5=AE=9A?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E7=BB=A7=E7=BB=AD=E5=90=91=E4=B8=8A=E6=9F=A5?= =?UTF-8?q?=E6=89=BE=EF=BC=8C=E6=8A=8A=E6=9F=A5=E6=89=BE=E5=88=B0=E7=9A=84?= =?UTF-8?q?bom=E6=95=B0=E6=8D=AE=E9=83=BD=E6=94=B6=E9=9B=86=E8=B5=B7?= =?UTF-8?q?=E6=9D=A5=EF=BC=8C=E7=9B=B4=E5=88=B0=E6=B2=A1=E6=9C=89=E7=88=B6?= =?UTF-8?q?=E9=98=B6=E4=B8=BA=E6=AD=A2=EF=BC=8C=E5=B9=B6=E4=B8=94=E4=BD=BF?= =?UTF-8?q?=E7=94=A8set=E9=9B=86=E5=90=88=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E9=87=8D=E9=87=8D=E5=A4=8D=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=B0=81=E8=A3=85=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=87=BD=E6=95=B0=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?=E5=8F=8D=E5=90=91BOM=E6=9F=A5=E8=AF=A2=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E6=9F=A5=E8=AF=A2=E5=87=BD=E6=95=B0=E7=9A=84=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=8F=B7=E3=80=81bom=E5=8F=B7=E7=AD=89=E9=83=BD?= =?UTF-8?q?=E4=B8=BA=E7=B2=BE=E7=A1=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/ErpBomController.java | 20 +- .../java/com/ruoyi/erp/domain/ErpBomVo.java | 5 +- .../com/ruoyi/erp/mapper/ErpBomMapper.java | 5 + .../com/ruoyi/erp/service/IErpBomService.java | 8 +- .../erp/service/impl/ErpBomServiceImpl.java | 212 ++++++++++++++---- .../resources/mapper/erp/ErpBomMapper.xml | 63 +++++- .../main/resources/templates/erp/bom/bom.html | 93 ++------ .../templates/erp/material/material.html | 1 - 8 files changed, 269 insertions(+), 138 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpBomController.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpBomController.java index bf676f8f..cac41a3f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpBomController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpBomController.java @@ -77,6 +77,7 @@ public class ErpBomController extends BaseController @ResponseBody public TableDataInfo list(ErpBomVo erpBomVo,HttpServletRequest request) { + erpBomVo.setParentId(0L); SysUser curUser = ShiroUtils.getSysUser(); Long userId = curUser.getUserId(); Set roleKeys = roleService.selectRoleKeys(userId); @@ -88,21 +89,10 @@ public class ErpBomController extends BaseController @RequiresPermissions("erp:bom:list") @PostMapping("/reverseList") @ResponseBody - public TableDataInfo selectErpBomVoReverse(ErpBomVo erpBomVo,HttpServletRequest request) { - Map map = new HashMap<>(); - String materialNo = String.valueOf(request.getSession().getAttribute("materialNo")); - map.put("materialNo", materialNo); - List materialList = erpBomService.selectErpBomByMaterialNos(erpBomVo.getMaterialNo()); - //将返回结果根据父节点进行排序 - List parentIds = erpBomService.getAllParentIds(materialList); - Map map2 = new HashMap<>(); - map2.put("parentIds", parentIds); - //查询所有上述父节点的值 - List list1 = erpBomService.selectSubBomsByParentMaterialNo(map2); - - //转换为页面需要的格式数据 - startPage(); - List list = erpBomService.selectErpBomListReverse(list1); + public TableDataInfo selectErpBomVoReverse(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, + ErpBomVo erpBomVo, HttpServletRequest request) { + List list = erpBomService.selectReverseErpBomList(erpBomVo, pageNum, pageSize); return getDataTable(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpBomVo.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpBomVo.java index 156ba28d..d011067c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpBomVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpBomVo.java @@ -107,7 +107,7 @@ public class ErpBomVo extends ErpBom{ @Override public String toString() { - return "ErpMaterialVo{" + + return "ErpBomVo{" + "applyUserName='" + applyUserName + '\'' + ", taskId='" + taskId + '\'' + ", taskName='" + taskName + '\'' + @@ -117,7 +117,6 @@ public class ErpBomVo extends ErpBom{ ", todoUserId='" + todoUserId + '\'' + ", instanceTypeName='" + instanceTypeName + '\'' + ", keyword='" + keyword + '\'' + - "} " + super.toString(); + '}'; } - } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java index 680e1209..5101f5b4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java @@ -28,6 +28,11 @@ public interface ErpBomMapper public List selectErpBomList(ErpBomVo erpBomVo); + /** + * 反向BOM查询 + * */ + public List selectReverseErpBomList(ErpBomVo erpBomVo); + /** * 查询bom列表 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpBomService.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpBomService.java index e6dad27f..af14cb1a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpBomService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpBomService.java @@ -54,9 +54,6 @@ public interface IErpBomService void collectParentIdsRecursively(List parents, Long currentId); - List selectErpBomListReverse(List erpBomVoList); - - List selectErpBomByMaterialNos(String materialNo); List selectErpBomlist(); @@ -135,4 +132,9 @@ public interface IErpBomService ErpBom selectErpBomByOneMaterialNo(String materialNo); List selectSubBomsByParentMaterialNo(Map params); + + /** + * 查询反向BOM列表 + * */ + List selectReverseErpBomList(ErpBomVo erpBomVo,Integer pageNum,Integer pageSize); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpBomServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpBomServiceImpl.java index 797ba421..7f43ee5c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpBomServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpBomServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.erp.service.impl; import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.PageDomain; import com.ruoyi.common.core.page.TableSupport; @@ -32,8 +34,11 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.*; +import java.util.stream.Collectors; /** * bomService业务层处理 @@ -369,55 +374,184 @@ private ISysAttachService attachService; } } } + + + + /** + * 查询反向 BOM 列表并自动获取分页后的结果 + */ @Override - public List selectErpBomListReverse(List erpBomVoList) - { - List returnList = new ArrayList<>(); - for (ErpBomVo bomVo: erpBomVoList) { - SysUser sysUser = userMapper.selectUserByLoginName(bomVo.getCreateBy()); - if (sysUser != null) { - bomVo.setCreateUserName(sysUser.getUserName()); + public Page selectReverseErpBomList(ErpBomVo erpBomVo, Integer pageNum, Integer pageSize) { + // 设置分页参数 + PageHelper.startPage(pageNum, pageSize); + + // 执行查询并自动获取分页后的结果 + List allBoms = erpBomMapper.selectReverseErpBomList(erpBomVo); + PageInfo pageInfo = new PageInfo<>(allBoms); + + // 创建一个映射来存储 BOM 和它的直接子项 + Map bomMap = allBoms.stream() + .collect(Collectors.toMap(ErpBomVo::getId, bom -> bom)); + + // 使用 Set 来防止重复添加和避免无限循环 + Set visited = new HashSet<>(); + + // 构建返回的结果列表 + List resultList = new ArrayList<>(); + + for (ErpBomVo bom : allBoms) { + if (!visited.contains(bom.getId())) { + ErpBomVo topParent = findTopMostParentBom(bom, bomMap, visited); + if (topParent != null && !resultList.contains(topParent)) { + resultList.add(topParent); + } } - SysUser sysUser2 = userMapper.selectUserByLoginName(bomVo.getApplyUser()); - if (sysUser2 != null) { - bomVo.setApplyUserName(sysUser2.getUserName()); + } + + // 对结果进行用户信息、任务状态等附加信息设置 + for (ErpBomVo bomVo : resultList) { + setAdditionalInfo(bomVo); + } + + // 创建一个新的分页对象来封装过滤后的结果 + Page returnPage = new Page<>(pageNum, pageSize); + returnPage.addAll(resultList); + returnPage.setTotal(pageInfo.getTotal()); // 设置总记录数 + + return returnPage; + } + + /** + * 查找最顶层的 BOM,即使不在初始 bomMap 中也会尝试查找 + */ + private ErpBomVo findTopMostParentBom(ErpBomVo bom, Map bomMap, Set visited) { + Long currentId = bom.getId(); + ErpBomVo currentBom = bomMap.get(currentId); + if (currentBom == null) { + // 如果当前 BOM 不在 bomMap 中,则尝试从数据库中加载 + currentBom = erpBomMapper.selectErpBomById(currentId); + if (currentBom != null) { + bomMap.put(currentId, currentBom); // 将新找到的 BOM 添加到 bomMap 中 + } else { + return null; // 如果找不到对应的 BOM,则停止查找 } - String instanceId = bomVo.getInstanceId(); - // 当前环节 - if (StringUtils.isNotBlank(instanceId)) { - List taskList = taskService.createTaskQuery() - .processInstanceId(instanceId) -// .singleResult(); - .list(); // 例如请假会签,会同时拥有多个任务 - if (!org.springframework.util.CollectionUtils.isEmpty(taskList)) { - TaskEntityImpl task = (TaskEntityImpl) taskList.get(0); - String taskId = task.getId(); - bomVo.setTaskId(taskId); - // 设置待办用户 - List todoUserList = todoItemMapper.selectUndealTodoUserList(taskId); - if(!org.springframework.util.CollectionUtils.isEmpty(taskList)){ - bomVo.setTodoUserId(String.join(",",todoUserList)); - } - if (task.getSuspensionState() == 2) { - bomVo.setTaskName("已挂起"); - bomVo.setSuspendState("2"); - } else { - bomVo.setTaskName(task.getName()); - bomVo.setSuspendState("1"); - } + } + + // 首先找到0阶 BOM + ErpBomVo zeroLevelBom = findTopZeroLevelBom(currentBom, bomMap, visited); + if (zeroLevelBom == null) { + return null; + } + + // 然后检查该0阶 BOM 是否为其他 BOM 的子项,如果是,继续向上追溯 + ErpBomVo topParent = traceToTopParent(zeroLevelBom, bomMap, visited); + return topParent != null ? topParent : zeroLevelBom; + } + + /** + * 查找最顶层的0阶 BOM,即使不在初始 bomMap 中也会尝试查找 + */ + private ErpBomVo findTopZeroLevelBom(ErpBomVo bom, Map bomMap, Set visited) { + Long currentId = bom.getId(); + while (currentId != null && !visited.contains(currentId)) { + visited.add(currentId); + ErpBomVo currentBom = bomMap.get(currentId); + if (currentBom == null) { + // 如果当前 BOM 不在 bomMap 中,则尝试从数据库中加载 + currentBom = erpBomMapper.selectErpBomById(currentId); + if (currentBom != null) { + bomMap.put(currentId, currentBom); // 将新找到的 BOM 添加到 bomMap 中 } else { - // 已办结或者已撤销 - bomVo.setTaskName("已结束"); + break; // 如果找不到对应的 BOM,则停止查找 } + } + + if (currentBom != null && StringUtils.isNotEmpty(currentBom.getBomNo()) && (currentBom.getLevel() == null || currentBom.getLevel() != 1)) { + return currentBom; // 满足条件,返回当前 BOM + } + currentId = currentBom != null ? currentBom.getParentId() : null; + } + return null; + } + + /** + * 追溯到最顶级的父级 BOM + */ + private ErpBomVo traceToTopParent(ErpBomVo bom, Map bomMap, Set visited) { + Long parentId = bom.getParentId(); + while (parentId != null && !visited.contains(parentId)) { + visited.add(parentId); + ErpBomVo parentBom = bomMap.get(parentId); + if (parentBom == null) { + // 如果父级 BOM 不在 bomMap 中,则尝试从数据库中加载 + parentBom = erpBomMapper.selectErpBomById(parentId); + if (parentBom != null) { + bomMap.put(parentId, parentBom); // 将新找到的 BOM 添加到 bomMap 中 + } else { + break; // 如果找不到对应的父级 BOM,则停止查找 + } + } + if (parentBom != null) { + bom = parentBom; + parentId = parentBom.getParentId(); } else { - bomVo.setTaskName("未启动"); + break; + } + } + return bom; + } + + /** + * 设置附加信息(用户信息、任务状态等) + */ + private void setAdditionalInfo(ErpBomVo bomVo) { + SysUser sysUser = userMapper.selectUserByLoginName(bomVo.getCreateBy()); + if (sysUser != null) { + bomVo.setCreateUserName(sysUser.getUserName()); + } + SysUser sysUser2 = userMapper.selectUserByLoginName(bomVo.getApplyUser()); + if (sysUser2 != null) { + bomVo.setApplyUserName(sysUser2.getUserName()); + } + String instanceId = bomVo.getInstanceId(); + // 当前环节 + if (StringUtils.isNotBlank(instanceId)) { + List taskList = taskService.createTaskQuery() + .processInstanceId(instanceId) + .list(); + if (!org.springframework.util.CollectionUtils.isEmpty(taskList)) { + TaskEntityImpl task = (TaskEntityImpl) taskList.get(0); + String taskId = task.getId(); + bomVo.setTaskId(taskId); + // 设置待办用户 + List todoUserList = todoItemMapper.selectUndealTodoUserList(taskId); + if(!org.springframework.util.CollectionUtils.isEmpty(todoUserList)){ + bomVo.setTodoUserId(String.join(",",todoUserList)); + } + if (task.getSuspensionState() == 2) { + bomVo.setTaskName("已挂起"); + bomVo.setSuspendState("2"); + } else { + bomVo.setTaskName(task.getName()); + bomVo.setSuspendState("1"); + } + } else { + // 已办结或者已撤销 + bomVo.setTaskName("已结束"); + } + } else { + bomVo.setTaskName("未启动"); + } + if (bomVo.getAuditStatus() != null) { + if ("1".equals(bomVo.getAuditStatus())) { + bomVo.setTaskName("审核通过"); + } else if ("2".equals(bomVo.getAuditStatus())) { + bomVo.setTaskName("审核拒绝"); } - returnList.add(bomVo); } - Integer total = erpBomVoList.size(); - return returnList; } + @Override public List selectErpBomByMaterialNos(String materialNo) { return erpBomMapper.selectErpBomByMaterialNos(materialNo); diff --git a/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml b/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml index 32bd8929..aab17e6a 100644 --- a/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml @@ -117,10 +117,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and erp.create_by = #{createBy} and erp.create_time between #{params.beginCreateTime} and #{params.endCreateTime} - and erp.material_no like concat('%', #{params.materialNo}, '%') - and erp.bom_no like concat('%', #{params.bomNo}, '%') - and erp.material_no = #{materialNo} - and erp.bom_no = #{bomNo} + and erp.material_no like concat('%', #{materialNo}, '%') + and erp.bom_no like concat('%', #{bomNo}, '%') + + and erp.material_name like concat('%', #{materialName}, '%') and erp.audit_status = #{auditStatus} and erp.use_status = #{useStatus} @@ -157,6 +157,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by erp.audit_status asc, erp.create_time desc + + + + + + + +
  • - +
  • - +
  • @@ -76,12 +76,10 @@ -
  • - -
  •  搜索  重置 - 反向BOM + 反向BOM
  • @@ -748,22 +746,27 @@ } }); } - function seachReverseBom(){ - var url = prefix + '/reverseList'; - //将获取的page类型数据放入bootstarpTable中 + + // 反向BOM搜索函数 + function searchReverseBom() { + var formData = $('#formId').serializeArray(); // 获取表单数据并序列化为数组 + // 获取当前表格的分页信息 + var tableOptions = $("#bootstrap-table").bootstrapTable('getOptions'); + formData.push({name: 'pageNum', value: tableOptions.pageNumber}); + formData.push({name: 'pageSize', value: tableOptions.pageSize}); $.ajax({ type: "POST", - url: url, - data: { - 'materialNo':$("#selectMaterialNo").val(), - 'materialName':$("#selectMaterialName").val() - }, + url: prefix + '/reverseList', + data: $.param(formData), // 将表单数据转换为字符串格式 + contentType: "application/x-www-form-urlencoded", // 设置请求的内容类型 success: function (result) { if (result.code == 0) { - $("#bootstrap-table").bootstrapTable('destroy'); - $("#bootstrap-table").bootstrapTable( 'load',result.rows); + // 使用 bootstrap-table 的 load 方法更新表格数据 + $("#bootstrap-table").bootstrapTable('load', result.rows); + // 更新分页信息(如果需要) + $("#bootstrap-table").bootstrapTable('load', { total: result.total-1 }); } - } + }, }); } // 导出 @@ -822,62 +825,6 @@ }); } }; - // 导入 - // function importExcel(formId, width, height) { - // table.set(); - // var currentId = $.common.isEmpty(formId) ? 'importTpl' : formId; - // var _width = $.common.isEmpty(width) ? "400" : width; - // var _height = $.common.isEmpty(height) ? "230" : height; - // layer.open({ - // type: 1, - // area: [_width + 'px', _height + 'px'], - // fix: false, - // // 不固定 - // maxmin: true, - // shade: 0.3, - // title: '导入' + table.options.modalName + '数据', - // content: $('#' + currentId).html(), - // btn: [' 导入', ' 取消'], - // // 弹层外区域关闭 - // shadeClose: true, - // btn1: function(index, layero){ - // var file = layero.find('#file').val(); - // if (file == '' || (!$.common.endWith(file, '.xls') && !$.common.endWith(file, '.xlsx'))) { - // $.modal.msgWarning("请选择后缀为 “xls”或“xlsx”的文件。"); - // return false; - // } - // var index = layer.load(2, {shade: false}); - // $.modal.disable(); - // - // // 获取CheckBox的状态 - // var updateSupport = layero.find('#updateSupport').is(':checked'); - // - // var formData = new FormData(layero.find('form')[0]); - // formData.append('updateSupport', updateSupport); // 添加CheckBox的状态到FormData - // - // $.ajax({ - // url: table.options.importUrl, - // data: formData, - // cache: false, - // contentType: false, - // processData: false, - // type: 'POST', - // success: function (result) { - // layer.close(index); - // $.modal.enable(); - // - // $.modal.closeAll(); - // $.modal.alertSuccess(result); - // $.table.refresh(); - // }, - // error: function (result){ - // layer.close(index); - // $.modal.alertError(result); - // } - // }); - // } - // }); - // } diff --git a/ruoyi-admin/src/main/resources/templates/erp/material/material.html b/ruoyi-admin/src/main/resources/templates/erp/material/material.html index ff1c24f4..16321cfb 100644 --- a/ruoyi-admin/src/main/resources/templates/erp/material/material.html +++ b/ruoyi-admin/src/main/resources/templates/erp/material/material.html @@ -342,7 +342,6 @@ $.modal.open("作废", url); }) } - \ No newline at end of file From 0ffd0b3ac4dc53dfe4ca69209dc2f89ebd4b6f72 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Fri, 3 Jan 2025 10:52:06 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[feat]=20=E9=94=80=E5=94=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20=E5=88=A0=E9=99=A4=E4=B9=8B=E5=89=8D=E7=9A=844?= =?UTF-8?q?=E4=B8=AA=E5=AE=A2=E6=88=B7=E6=8A=A5=E4=BB=B7=E7=9A=84=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=A8=A1=E6=9D=BF=EF=BC=8C=E6=8C=89=E7=85=A7=E4=B8=87?= =?UTF-8?q?=E6=9D=90=E6=8F=90=E4=BE=9B=E7=9A=844=E4=B8=AA=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E8=BF=9B=E8=A1=8C=E5=AF=BC=E5=87=BA=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=9E=8B=E5=8F=B7=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/Vo/ExportCustomerQuoteChildVo.java | 6 ++++ .../impl/SysCustomerQuoteServiceImpl.java | 28 +++++++++--------- .../static/attachments/Infinity-RMB.xlsx | Bin 22196 -> 0 bytes ...美元.xlsx => 中文Infinity-美元.xlsx} | Bin 22267 -> 22399 bytes ...k-美元.xlsx => 中文Vantritek-RMB.xlsx} | Bin 30965 -> 30812 bytes .../attachments/英文Infinity-美元.xlsx | Bin 0 -> 21020 bytes ...k-RMB.xlsx => 英文Vantritek-美元.xlsx} | Bin 30869 -> 29759 bytes .../system/customerQuote/customerQuote.html | 12 ++++---- 8 files changed, 26 insertions(+), 20 deletions(-) delete mode 100644 ruoyi-admin/src/main/resources/static/attachments/Infinity-RMB.xlsx rename ruoyi-admin/src/main/resources/static/attachments/{Infinity-美元.xlsx => 中文Infinity-美元.xlsx} (52%) rename ruoyi-admin/src/main/resources/static/attachments/{Vantritek-美元.xlsx => 中文Vantritek-RMB.xlsx} (53%) create mode 100644 ruoyi-admin/src/main/resources/static/attachments/英文Infinity-美元.xlsx rename ruoyi-admin/src/main/resources/static/attachments/{Vantritek-RMB.xlsx => 英文Vantritek-美元.xlsx} (55%) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportCustomerQuoteChildVo.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportCustomerQuoteChildVo.java index 6a08c03f..d368338e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportCustomerQuoteChildVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportCustomerQuoteChildVo.java @@ -18,6 +18,12 @@ public class ExportCustomerQuoteChildVo { /** 物料的数量 */ private Integer materialNum; + /** 物料的型号 */ + private String materialModel; + + + /** 物料图片*/ + private String photoUrl; /** 物料的含税单价 */ private BigDecimal materialTaxMoney; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java index dfbea659..3d44d48e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java @@ -486,7 +486,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { @Override public void exportCustomerQuoteOne(String supplierCode, HttpServletResponse response) { - String fileName = "Vantritek-RMB.xlsx"; + String fileName = "中文Vantritek-RMB.xlsx"; try { @@ -533,6 +533,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { ExportCustomerQuoteChildVo exportCustomerQuoteChildVo = new ExportCustomerQuoteChildVo(); exportCustomerQuoteChildVo.setDescribe(sysCustomerQuoteChild.getDescribe()); exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); + exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); @@ -557,7 +558,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { * */ @Override public void exportCustomerQuoteTwo(String supplierCode, HttpServletResponse response) { - String fileName = "Vantritek-美元.xlsx"; + String fileName = "英文Vantritek-美元.xlsx"; try { @@ -597,6 +598,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { ExportCustomerQuoteChildVo exportCustomerQuoteChildVo = new ExportCustomerQuoteChildVo(); exportCustomerQuoteChildVo.setDescribe(sysCustomerQuoteChild.getDescribe()); exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); + exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); @@ -620,7 +622,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { * */ @Override public void exportCustomerQuoteThree(String supplierCode, HttpServletResponse response) { - String fileName = "Infinity-RMB.xlsx"; + String fileName = "英文Infinity-美元.xlsx"; try { @@ -645,19 +647,11 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { String customerCode = sysCustomerQuote.getCustomerCode(); SysCustomerVo sysCustomerVo = sysCustomerMapper.selectSysCustomerByEnterpriseCode(customerCode); - - List companyInformations = companyInformationMapper.selectSysCompanyInformationAllList(); - //from - SysCompanyInformation sysCompanyInformation = companyInformations.get(0); - HashMap map = new HashMap<>(); String pricingDate = sysCustomerQuote.getPricingDate(); map.put("supplierCode", sysCustomerQuote.getSupplierCode()); map.put("pricingDate", pricingDate); - map.put("contacts", sysCompanyInformation.getContacts()); - map.put("contactNumberFrom", sysCompanyInformation.getContactNumber()); - map.put("companyEmail", sysCompanyInformation.getCompanyEmail()); map.put("customerContact", sysCustomerVo.getCustomerContact()); map.put("contactNumberTo", sysCustomerVo.getContactNumber()); map.put("customerEmail", sysCustomerVo.getCustomerEmail()); @@ -667,6 +661,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { ExportCustomerQuoteChildVo exportCustomerQuoteChildVo = new ExportCustomerQuoteChildVo(); exportCustomerQuoteChildVo.setDescribe(sysCustomerQuoteChild.getDescribe()); exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); + exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); @@ -690,7 +685,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { * */ @Override public void exportCustomerQuoteFour(String supplierCode, HttpServletResponse response) { - String fileName = "Infinity-美元.xlsx"; + String fileName = "中文Infinity-美元.xlsx"; try { @@ -715,13 +710,18 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { String customerCode = sysCustomerQuote.getCustomerCode(); SysCustomerVo sysCustomerVo = sysCustomerMapper.selectSysCustomerByEnterpriseCode(customerCode); - + List companyInformations = companyInformationMapper.selectSysCompanyInformationAllList(); + //from + SysCompanyInformation sysCompanyInformation = companyInformations.get(0); HashMap map = new HashMap<>(); String pricingDate = sysCustomerQuote.getPricingDate(); map.put("supplierCode", sysCustomerQuote.getSupplierCode()); map.put("pricingDate", pricingDate); + map.put("contacts", sysCompanyInformation.getContacts()); + map.put("contactNumberFrom", sysCompanyInformation.getContactNumber()); + map.put("companyEmail", sysCompanyInformation.getCompanyEmail()); map.put("customerContact", sysCustomerVo.getCustomerContact()); map.put("contactNumberTo", sysCustomerVo.getContactNumber()); map.put("customerEmail", sysCustomerVo.getCustomerEmail()); @@ -731,6 +731,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { ExportCustomerQuoteChildVo exportCustomerQuoteChildVo = new ExportCustomerQuoteChildVo(); exportCustomerQuoteChildVo.setDescribe(sysCustomerQuoteChild.getDescribe()); exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); + exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); @@ -742,7 +743,6 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { workBook.fill(map, sheet); workBook.fill(exportCustomerQuoteChildVos, fillConfig, sheet); workBook.finish(); - } catch (IOException e) { throw new RuntimeException("文件处理失败",e); } diff --git a/ruoyi-admin/src/main/resources/static/attachments/Infinity-RMB.xlsx b/ruoyi-admin/src/main/resources/static/attachments/Infinity-RMB.xlsx deleted file mode 100644 index eb838e98a08f4e3fd8430c1421ff3923ea4b67cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22196 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 diff --git a/ruoyi-admin/src/main/resources/static/attachments/Infinity-美元.xlsx b/ruoyi-admin/src/main/resources/static/attachments/中文Infinity-美元.xlsx similarity index 52% rename from ruoyi-admin/src/main/resources/static/attachments/Infinity-美元.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/中文Infinity-美元.xlsx index 6fdd93d92685adb56b2f11e687ea988ba3f5d3a7..24e075968c53787c7f975e9c8bff05437b706097 100644 GIT binary patch delta 8736 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 Avj6}9 delta 13064 zcmeHuWmH_t_Gcpjg1a^D7Tnz>1a~L6HSX59d*kjJAh>JL;1&oHG&lhgT!-Yo_rLGH zwPwD|hxsz6*E+qc&bIpPs@11q|?O zReco2g+9%j^=qatf#c&c&JeSUe*-TmkxN*yT>*n7`5sVI7;^9PRgf1g5Sc6*2iK*W z;-?z9a&5k*Cprk2GaCxlRS^s;aWuE)%;xtq3Z`ZwL5+v~@Y)V)u-5^}%O;!qVtuy% zAQjC44@eql?!M(`-dNbGYDh>-)Sk5TRaYV*AMy9eKm!06FTG|CrpnF^jxH>w4$kJxo*+BFBqezmHuS;Mpmp+{ zZiQJ9-F|l@FoTc|U2CBy(r6>fnwbP9=>BBlN3&b>78{3y|F3TezW%H@chID+Aj@c+M4GuyV2Qv6W5511OD_hIqqXPvEGqb1w*S08^i!H{ynCd+a=9$0t+i?%~x z+g?%jlhNDR)Yv*mzEkQUR~*S%0uZQr%OFb@NMaX5fh~TB56~7T;T7LsXdo#kiN1of zLk>Z~znzgjqj}()cK3c;v^`Vuj<&7YXM-)zR68EE9;zk~QK?5@S?e5IXMl+;7RQW;?udy;z7_m!mlqBt%EA>WB^Zq5i09N32TDY6WSVFNBkRNl)Mn2K$6zOw+jmlff*#(3dYM z-r?%t#mm@@$_yFuH--2t${fHdX0n+UHdKHN7T-P`FDY|M>Ey_*Pf>zPga*qeuOt;E*GG= z^SxskI*c)qCNJpjC{XH;2z`BriskBbQ>NfZSJ(EYDsNlDkO_e$*bRGK(mb~zAUx(A zW$HDO&eOYn2l0K^>R&7kXplZwLP$HT2r5Rgof^i=#ty{k#)5ZXEGf3lE=NWv6Xj@^3KYeRHClZ1@7B_IOUB zt3$aN4o?|%mcv<^i76iy2@PgP#ok6vud1uE$lo1)|5`+w%!}3zZQe+C(BydG`E=H2 zr>4{FjwFwsPyESL4tNR{NTrJ7DSYK&%wI602V4mnE;67=3FRu(OEI(NSJ1b7rCx*4 z&*F_n?D;Io;r6CY8~>>pXZc!|5!=&lh^yX(66Hxk4@q^->v*nqqC)vl^4HMPQ)P4M z$s7B5!5r%MBz-Zjtpsb2d=@vcg}!_kJ~EE;=*u&g(J{QBx)@9bN31RUv>3}1dGeW% z%iWV|$7i2pqrWAI=VSOUzxh* zp(-oJjN3--0e83EUu^!k8msj%GRm7XONh@9g2%6CK?ZL}aF?O%m+(5}Y>=#*MEn?T zM~NR6!q9r_ZmGHnUJZPerA@QU7+84hg@e(X-O~SyCS)G}4*DF*ZwjMLKz*s?NIb8X zyJ=7ghQm#Pn|kosDHdf|<5ghqzz|kkZqdQc#}TBrym0T(qDMJniI359+@2~}-@JxH zlqA0C4d^@UM~NCraI99aV)~+-`Jqlc5r^&lQ6EV%N$EUN98Qki^sI7o9Wr} zGn=6A_N~L838Mi|hB(qMHO7Vn0LZXI!0@DCJp;(r5RRXc#uLn-+D~KAh|^30yt^QU z&dKHNCP-&pentTgSJtg70*J$9!u{E|a5mLk1Mk{pi zryq{%zVuO##cRS$Mzbed)1R*n;^G9&Z{1a@3?7uI4$~($lFyc#HJOMUX^q z__3gAwGI)V%wb6}`s`BKY{g22DHF}31cvnI)u%NZg`)Bg4m$^PelCX!7V%y0A#uqd ze}l4Nn1^*b+&q#wg?6S{9EDVi?RcgYVP-sFCcZ=_-@*!M$`KF+_v=&mMFqkf7zJw1 zzoEclvW)5e!_qp2l8hXKPD;XHy*5~`?J}Ka{Zx0^6EimDqk9SRGhT`u-??Juo77w|=fi$@n7Fg^4N{*!UPTpu4)m8JX^KC!Q$6F-9N78$T6 zhTPAae1&Wn9HtM^WN?VNc(K>#!T8hQG3Wd?rT7C*m9)rxjR^1R&2o-o&rkkSq$u_~ z*>u({Y7IohoN) zUEo~eEqB=a0d*Y8N-b8S0GyoltW=PRfLIOlo;ZS&mEqTi&k;wWs_+(W#;5@rc;9ct z4IVX53&Cq~T72ahpUqVTwBh^t(H8<+QK{UFHQ{&NHge#6DR)Q-58NuD9?F6rHposh zhIub3TV{}|*td*Oe+DMnFDxpJn_fJOgJN=J;BN=TgxTX~elfPNd4v6362KfL7Z2fH zF}csqz#>b2w}{d}q`Cqj31M^j_ZMY$49L&PAgPF0sfg-Jg+Vp$7R$G}Q5}HDuKegn zDFZv!D>~FqvJr!Ty5aI@1!;pV_I=DOF}(Yj_9d%%YQ{W{s-f0^<&Ji(JW< z$3#hJMQL9G%~RV4GxIF`5&F#~DO(SP*&>G5fzmGiTQ&6xpv^u!2?QBdUgf3`ALSO^ zYM#M)+dRR59koIxUXPM+BEb%Z${rldJj%WQq9Mc#NVa&QT#wQ|0757K z3Mab?XOIM%eldqI+8ju+cp_U5a+TU@#=wwkez6!^^H=+inw@rHxn{AnRul@V6~J$A z|3}M+n?RCX@E<>aONphK0bL{i?FZFY?sl+=(@I3di`S7W(ppR}9sh2(*$@BQ{L2`) z_y1PoycS3OV&erb`({%o;Qk;eUffulORw7@({TK3o8Wj31SbvcJ1KIx|kMQ#F z=qlz#A;*i`>Hk84;01h(7nr$R8iZWda_d%JA`OR;1Pb_%SboiIv!D7adiSNOuJh((Qkdtq7Yk< zbe9r`k0hdUPZ$uhKxLO1s7&RaW>!C%DV=QV8&sgQU~`8<#pIXWA*&0fLS=VJ;G@uV zviWr0U%IsMxl~(;W-2+-s#3$=-PT@Hfq{pZN_+r}`Sz2q9G${~p1v`z`oW_5%YzhD zOg`Ch1dyQm_iMYYVjGG94)_d8layNS8H9?^i#xj>tYNz^5WE+FhIiM%Ka$(Z6XHfgy6dH(jT6OhieK$c9+ ziwPY!zfBQ4{~F=oOb-6;5jO{YQovZzG?(V5Rb+LcNaa)o7HG&l>kKpqo?J=V;5 z2#)>HrwPm2xn2e2mz!q?HcOT9fj+VgcKNgjG`b=UQ^NAvRir&5qQj0*RY9rO(le&C zhUGCvcB_t#Sx!omrOZ4E>umO&C{E0LZhQ& zU;%_eXCO#HXB>5ClW|-{itYllGej-4_mFSDht?RBb~0qgYSYzw3yrAO7Lcie@EgOWP)wxy=vh3*1$Ld5<(@9Oi5)BroL+m- z0n&VEbN!d`b?|g31zr@vVdji1(+KlhqoC|Jhs!Mk8_5>+(UsL>fy1#M>B8R8QCgel zr;}IFJ&K{|NL74~5Bp)KvRLy|L1o+wPeULcb`~KDb3`4zO_?b{$M?6*tuZ1U<-@sJ zmtPl0HZ&b{F5l+X(d8-C)W;LVFeUBkeC1rknM8~Oz&u-K1wWA@q3R-UKW|B!tP%bp zseCEx>|+N4mIgRcDtHN9_TG8g(7D=D!41%Sv3;%{Xy?L&F~R!f>|OLPiOVGSs(+KJ zj*NeVwFg{>z`ASvLx!YGdy~F)vQ7CkyfiFaGxFg<2M_#(FW^L+>TL6Epl5W6{KRyNM{1 ziMOK|mk^G%C*A1);%CwjbPAJeC*csSJI9~0Q_|`wU;VPDwo`=3B9>vj)A!zy?iG2J zpwX5Hfklt`C(AD0lAi0tqGYxAOVX#71FQm!EsJxdwNV-u5?_(M$bc+(1xL0| zxQTFFhPm#Tg}QnOlw|o`bFdMs+{6FCSXLx&R+G6gydAKla1dAWYu9f)l~_pDKe3tK z&-nGY#pl;ElDF6)VJa~-KG$&mCKJESpTFxNFSnFMCG$G3J}CDf&4cA)E-Ja1K;TW( zm7!WH&d;!RtKWJ872WTuN$ zFxAWm?a_iC2e@U{XhA~+%Ik*opW9ggEU{_ZOH#oa=H(Te0L=b7j}QwPvtMCFm%4s+ zhX#9%@tqrVD5|Qw#JVgMm@hZS^(L08pDLVsSY@`BMM|m}#v?Ihmz-o(fC!gINxDJi zOswF|EyWlgjGk$coz_pI>#S&&>{m(6iG**G9|)j(D!%nF!d-Ms!=OjQ0^feaYO^I5 zUkgqomw@MX2kTx)tG@H24f;iv`pXiaMBtp?-pPo`lhF?R64~FMhn3HZUbTfk zb)m4Fpf^Qm_1$m|@zP;I+2|*Ao~?+}4P50Bea*hPyE-3XR8-FKM)*ZeeW10~wvm_n zU`C!|u}=DQ$sz4zv#b-Y%a`GlkX8n-tHcJ}#NC}xANWR(aXI)W#m86{vP$vVt)C@1 zjBOH1h75!w)+v6id&SDfY4aR~U$hka+A%Mev{hE~UeKB}*@+pP5F%3zj zP3#Le>FCgiISnbM)Le)*4>?MXF~z3DU3q^Iz_93)<6ZWp0_TnsfD*n@S~ob;rdQjT z$@c|1Lni*mqU%1cV|8`Qlc zQ}gd*JT|MuRjA|$N4&y@tq>YPEPB#7KjN1dVwyIeyud_!5-lf&u37z6F&r+uS|p?1026Dd7T1= zV`gZ!zX9~MTy!vgOwC4uorN2mTG08ymlJE^6_Djgrr;VmUj{uk_i@1jx)iG*H71zL zSOvB#Pmg$X+L~drkql!~f>lZ}EDQ(PJF^XRYkF5%%#pEGOS0nS$cgiu{L%8MBW_{0 zL}l~{@0e55!;o{rOu6J6^(z(elK@h3g8P``iQDNRw~&x`O04E$mLZ{MqpLgMjoOrp zqiNv>Ymw4l15(a%rNTKf5p2M(7IT_0N#o%siJZ-Kq!IMW*so~c-E9nySEFB|dWjwk zxvrBh$z5MbI|BL3K(k3?hhs55&R!@S;XPe^#FQU8kX_x%jA*IWmOCeqPnX>(1vdut z1j898ys>_OmkL*`Qge;Vqb{kzhX&#Piv^!rx+NSczk|D3SoGLjt(yoqS3q62iVr@g zYz2+9d)TC}yB={r-o>=DmWN!3Vd25oF@?!!4CSx&Dey9w(NHXMVu%gF5}|#Ht(=GF zm$#1_-u2X})GD%K3lvW35Akk~6s}-aPaThRDKa!IOoEa}3O1%h@4YGjW27EQlPJPR zY$dX@rG0$-m}fLs<{5^R$DCZ{i2WSjT4Gg~2{+?A*hmz=1ATkLA zd5db^;?>M+eN$v=9xp$vZZrK6Zp^yT_R=IBVoVA)G&(uL&6?3fIb;Pcjc*LwPl_|V zuvJ$6Z+P|Rk9(APsFl__!7BEFY0PNno-yIG7NuN;t;UAGG(TC0W*G|dBf+^2Igsbu z&@(Jxhs#Lzp7#(!<;)}LYiTfgU9vKxI&ZeN#iBN35>^#o}+9Y%AL#ef0Zax`)OJ#%9#OQQ?1cF*pF0Nc^ z!|t;EHTh~sQwK?6d+d&ga`@2YnmX3WmfbjVe9A32X*F;+&q>KmWI9u@2+j^#svlQ`5Bxym-|B%DW= znh6**g0jUprQ2Lef**r~w3iua3!5!e^frA0jEVrmBJbbw7TS68s%ojGf0xu^>tEAn zCx1J)V7E2_8@+~9UN9*aL{5gQu#oJnVia}0gbB4C!5T$y2h)up!Dne2Woaa=ooe~R zNa;=nyhsz;a$y5M6xvd-k8>fp#)(p(A`+&Q>Xi0?)mr~*HaMhMlaen)0<9wd&`Ned zn>9-psxJFAozAgBI+;UcAvm78R4@e1vU=J2sMFou+xr`TZ3`gG6}#V#`&XH5!ENL? zfVmFQQR2f$vUMKE{duHV##V1i(0%%TRZ18>_`{d)CT$y0=WYF_1mc6NhlG^k>9pyZ z87eQCPm0J}4K7CFzBeT7i`-LuF1z&AONDUP*h|JiX+wm4%oW^d>ZACR>@j*-vE@0 zjckv zN;%Ug`hQIKMMS>a)wiR30Og<#;af{cDKgS)hZv;~EuQZw&2_0y^%VO`i;}s9$eU)q zCg*3=QMgp*ekWRzPzf%D6K|q!SBcqeHyfYFIVakSnomYrWqYSiimHPxXzG%2Vng#z zrchf7Wn_`sfite`Rqayg5yDJqTN&5BusXhmdY05A${6Lb1l{#97lv`MyF&doj=IG9 zIcwyUf-oI|T?=sX>W<4nqH&KR?VdI_i@iU0FRXX%dpCRc8x-(#TcGK|2r$YWRdhj@ zN;fgyotqhXby;s3syoxsaUS$THw>xq8V==&VC{2{XmC9T&y8i{dZn#A8GVt)Rel0j zb;Pt==QPDq->UVTZljuDKRC%ao7aCIMY%8KH&7>lsWywZga}^ z!7~);CYt&OTHdt_*l(*Wi(|P<9fNm!YRhTm|VTm-i<3RIvIV;G8E!KUm&fDha}bcTa_OMQPB3piy%Ziy45cr z^n7dR#YbhMl}4)=PWPu6>UFw~o!M~W23zFote<*|E1~U7v38)Pg}Ys4htI=zvfYiBm$jg{M~=VliD}FnU&h3dh?m=Azj-VbE1XMc;SS#x^D&Muj^iU)R%qMJNm}Bm^~iFT zN}=9$9Xp1OF*sP6Z9B~tC_8?OH@XLW<$Ezf8l!M;68KmE*6M6#9FFNzGzt^_L``vln*u@6Dv!Wq@fgj{??TvmX+mSp4fg^db zam(4VJvlT2Se;{+2I6u!oq1~Gg6Gfce^SxZ#9>arjO91=EGDmj zr0COtD43(7ttBVjU%b+MXZqT(;n%qGneiQ!ax2luw9_s^Sfg~$>Drwb+TaVS{h;z{J@6-P-#2`DwWOr|=pG0jS)1()B3p zJ>cT(S}wxa_I8!pMPN#OyZ61u$91|zAdotspjcty!J_$s;utN6V$D3R`^cyY$HfJeQo)eaJidr{_d=9q>(Bq#N1Z9!2a_U)Cbm%Xr<*P z?wlstX({A^qj(L;4S{{r+7e+^JX4lX)>f5>F85epxr7;Q50wEiVlXU&CiE)~C_rln z4TI*1$-%n-vM=n2V#iIwZ$FNgV=_YEihB8LPD3&4OfQK!su}@{S&A;l^hpLh$XXFEOOX*TOI8psYhp;+ zv5S8-?&a(18IO$^#imJfZ22LgcTPK_xLX{gB6)^49`aVzu52v~g}_zFt*;$h6H)8* zT-YUT%6XB1^pj&p(e?e}2;k;k$YI=o-1J8g$+8+khtTL1eLWbI=o@0ruty2BYzVGa zsCGC;gTF)PHa|!OxsIgPpb{P8g39B)p_*{o z{^9wtOb^t4xeTtwsTV&Xt!_@4)Z$FBrLE{NCG?#f zME%h>LvYfgmNj`Z1Npv-CK<`_mIq`Z;1HRIBf4FI1uL0MHN?9p&(H=DjV#M9v`Cwff|)e6J$;`RI1CgCvCz z2+H@csSi0v@O@E~#VcOuNnQ^RNEPBRU7M45jk1ZMvyiL3in#t_K-%qz7c0xJl}ls8 z-4^hv7~N<-`*SB%@Hm%f#(ForrC^UAn)Gj~N%Cx^z-`0a|DGh<=_Y%QaG37b%Jpxl z7ooA+6CdTF-*?u}4_89G+ZoqFQk`$7z8s%B`*{_7_dY0Z*>4w04(RA7;!1=|YrXqw zhNIULK6WsVlO^jC-<)$xc8#w9UY~t~qvC^6Xfcv%N#uad%lc+pNV`#@gRuXesF+lD zdDHC?;fmqo8d-q?8l9)r74oF><496a_&MzgBygjeyOS?Gjqct|&ya3&a=T#ZTj0QD ze=S~HN}@DQ!NH8NPc}5tUPb%@#U}!qm8G2uNydAx=D8Nf4Ai$jquoq8HxaY{GK*~<(P%ac(#v!U_&_g1# zxuro4Qs zA}mqq$3%J@BL`%tYchzGnGur(E43f=a0?hCCarAHCU@-*1#G~`3Dg+M7n(?D@$Qtn z=v%X~cNaLtKo~<$#pG4?NdK8SK}6B%Le1v-j+_kIzSYmtCWbeJILN>`* zFzL+DpXyoeCb*xYK@N%96b?LApCPnLilklfcgtOMGvQ?#bs9!wMzR~@(zdaE|mVq*fyBsLDJm7#DjG~O4iE&vwc&p zU}+kJm6gu|HC+4B2~>Wnrpifu66~VtR1&23cuBX{ISuzyr9IyJ%YlgkN$*b?5j?qW z9~$N$wUZ>-oi}HXbNPaeVA)*ZY$hw0yQ!Y+wZ~pA1WvFdG^-ir&e6qr9&OK)@m)v9 zT>R7F=R_e+|C<~<4cG)lk#3)>(Nlxh?TMt32%o@r`)UB5uFHrP>6XR&dJS@sbiUW= z1JZswWuf>*thR9pJT)p_alNOmuux7Rof%A?=**UK={zzB%x)X!55{N^6q=)puaBd| z@x%;DXiMN+27rv@5C2V_O#&z%DJcqCu(#9CUaU<%s2()Th<74gT#wtIM!VJ(f2`*E zKa|jp{VJq-hh5|=oBE^q5^~(RNj*{lUd{P-7jGM9?C54zJ=7QJgU%_#fnk=qgM`}3ynD=lfx(-ucwv+D}gPdV)Y z>hC~RvCN9FJw!WNtc~)4s?A%N`z}};?yZHhYz8DgYRBQKF-)Zo^$FUED(Cal25$b2 zUwsUMr0@uEj1=-aFn=<$GjtQ)gy@#nr^mgo@kBuj2~;E7u{2Znj2iu)eG(TmvZTHA1puW1?!q_UxoazK)dN*m&-0hK&F2g4+tt!DQD$$H`B} z!ch*zLE!sK^ViCRh8JZE;Ir{+#EifCRvFA|dfKqUuDHFZsr^VGJk9X_ZkM^-KUNmI zShDJ$Zx!w$ct^Tj7Bsd?t<`W8zCJ&|d08;Ts0D0)fV(MKrx}J7QwMPcY7_CUHMq zvO!H7;S`G8Fp&#<|D#1!_5H^=>^2h6zWSs`X7EMRG1$#%p6fGb9M7zh5Lw4h>~PgU zkz^qH?R5CgbC-bz*Q@UKttyEz9tx`S=`i>R{d+>4zPvbS%8`}xspui#N!^1nX{kU- zdg`8WZfeNpN6O9^lVoQ>2w&J`60*o7=_uLH&~1GRKKCy!tOq&oXZg~1CRz8mMyq<# zAE93o3y=X=yaqD|Vkktq&IQism%PF-932S^;T+( zZ(6!hvOe2tRn4u0jHTJhmxN4B!$9a~YVrv?_D5vxgKy>I`8Z~N7+Y1Wl9MTr#|=Se z-MmweuYm_)5^n+pX~N!)k*5@katZ2)M}P^tGp;S<@is2b++^hZoVQ?$ILa*TLE2xq zWx}QyYl6~ej-rpUzI=sc9KNiotFrh!s0yom%2s^Vz%c`ljwl~sRq6Zb9$iLX-O(vv z`9jpWc#721PpIc&c~^8}JoLQGWjne>p?Xi+%16@QPg1r_Df5>{m)Eg1xamBS=!6dm z@26JW%Jc5Vr9=7sD`j~oXl%gWmGgfG>-TBdUl$aB?1gZJC_0Nm`9k8IIS})00RSUs zb2}Fnh?6Th#1Rt~lI@NNxpyZ1`wtBeau+V(e;4BaR`{2?1c;Lh74T1q_{-e*UF-Z$ zb6Aj%E}~E%$hiwE?>XpCGU6|b|LyVL%MJh_{H_1x`pX19M8{PIDh^WM$_F(9S#cGC zzOjQ4xp4viSzY~~BCQZRHz}xXNWB|3G$IA$(2bht@6<5h4^DsU?ewJcQIk z5c(MoV&K6KB@apW5QFlAEPHSR|E>rAT|oYyIvF91p2U!F7gYAY3mX2LCkgY9yB-eC zwk}rY=B_R*f4mFZ1XnY4qP>f6mgCKx!56n;`080`W z2uK422ng`sVFvd0wC*<6*$I7;pbUT?*MZjnN4o_yM2a;Og+VQ~O3#>%1{-}g=rLyt z9}pi%I$W?D@T5RHrMVIMj>vWuxh>P%&$qiN0Iwzr2SuNUiL>zQCN4=Hav~*9^vT*m zS%X-(Sh-R<7965ZU@1{u*N~AJHM{bTMA$5E0h2J7@gx}&dC@h51|$hnbsV}Tn+fTJ zGDs+C`uDteIL|H}2w1Re!Sy=5fJO=Il&9_4MPk%kzFcY>Ahfq$6xFk0c}}H_hMAOW zt<0aohO4^TgQdpW$O-p%`<_jn9c@RImpdc)KPLtiIq2NO2au4MW87U(ZJF{86g|sK zMH`c3C87;nO{_B7r>n%sbaSs(=vuDb5VF9#Jbq3zH|hMunX7@zUu9MWh7$v@LX*Kb z{obcef&T=$Y6-CV0nyUOk&abKcL!Ui%lYjUai;q-_zCEL@?K$#U*-PA`_LEfi2t2; zBRfZvzr_0_=vejBqla8Wz9JAjvRIs#Bw?;$_v;5vUIlH29H+{Z8-m_ohH4A zcGS$O-vtsXnBbaDPt^IaWgN_2_amZ1SN?=vd%1a!7yB{-otF0*MqKcero7i_jE77{ z-?&}aJ1VIll3B0W8ng&sUJ!hp3+d7Dw(wq`>ajFGJBxzq@R8J+b1%nC$^qT=EL$nt zzGL&D*&-70$>^5XOS4ghs5nyxx|ceY5E-qthK4HVS{Lv8oOeQEL(LR~)YTg`wO2X+ z*0qKL(P9P=LCkChR)biXvef99oeQ$QL1Bj8$e!vP&cMCR1}LaF%2R{T#=-$jHaCjW zq+keffddKx45ryBec_)%;I7{d$d|t;F9jgf5=8sb{$Q!~_}SwS$Q8sCaJs&ICu*~x zH`kmcK1Tomn5s5Ziebe^j4*H?s~Hk9yJin5US38z)HO@J;pg#xl9-t%%f zkUi3j>~^?_aH)zO%iB6c->q&26Jdl2zLKIuPO}x^ks=UF$?s7k?r`_phGuSJel?AC1Vwv zCMXMV)Id;ooYFe`i&0jaN3bv^`|q|vtq?}Xk%YJaJENJ&Yd*Y(hpTxB=e=Q=D#@&0 zgXj)J&NPd4gLr)0o$W)ToE4UoO?xE1M`+tBbb8iwO$25gY*0YsNbD)CF4bfT#u^h` zmUhlFsP0%coM$`cF$y*(7_-??^X$4}&1_lA&4<4(ArWvrK7|)#h|ssK9@_TD;lu|> zTxO$eMC`~g-(%M~DN(8gbFV6|+mg73G;IJiAscH*1Ke+y=nLqZaC6cVlv|>{{9E6^ z=(kv8Tr%zEy>liNQT5g^~9l1L}pGk3MEaSyuXt>q*Sv>DX5Jb zP3MmPwCE;a|T@Kiw?Dv1_>0v5x?;wK*Ph)f8mp9Db zjcMX73YdNLe>~a74(P~xyS2XdDma)&U!^8#x0o#+GzdlK5%Mu$>lT-M8X|z$Vy2BC zoM12n#C_LLILMC#U%)!ob=oAba)?l&U+xGvx0YxM^IPF#0)x@cVXM0F7m5@Mh+-F8Ph zJ=i31vG2~>@p^6{LG!cfVG^POe*mlez8SX(d!qaGX5sY2d-7aLAxEv64ZTg)cPpi1 z@2%Bw`y>6M);?P*G23mej{BJE(aG1ruk-UEv%^ZmuNC{Y(*eK#x!w^$Mu{eLVB#Sz zw|*k8@|MZFf$m&sx%YE9c0fwycum%o6DRb;oEa;pe($0JYT_jY{m@s>`mXgCZ}zQI zVc_C3gH`Y6p}g{UoXdr)688?y4#DbmggW$}cI)n2!OvW%8||G*ucoy$azZB2W*Fas zWOGVsU>BJ*N-IBpE58E;P>EmpI8bNIFzVQl+ev4g-*dLAruIEV(T;+7+!<^M%cYiZ z4{0Q}J-Q|IW_r5&wNUA!fqRxtKT^3}(y;Z&nbLX_ZM>-*tiV2RSkylvJTq*wKEtC$ zo_kYFEDW%69U&N!ye0V1=3>rS98T*Kgp=HMQ}aO`qB^68*O|C67&hBP#Cjy*#Zo;c z9}h6T_AnECK!6S`1HWr^NF3ICDsgpq=knlWmT`AexlS1zLR2q*kk{}X4(;ay|5QSB z)WXf@dt2c^HLUBHrg$ahtEr%44jTG+hC27&Ms-S93*4b^ie5Ee~51+frgYMpa3g_3QkJFvpwVS9;7S!|0=f~!*l3OkU+E(SeneRS| zAQ#JP!%d*Epl75=UfftQKHBxWj*c!4xwSr7>q{R$arL~7flw4BvQ|P%R$szK1iaM= zaD?`TB9sk*BFIx<@As3(8((L(H*#tHDD@VAl?0fKH33OKpt9N5ApcFOrvRVR_Y2yu zO)I@i+8i>7rby^~(I<)WP!cp2*>DOjz?C}-{zkJtC!`f-P4EvuYn7b9T6#5+kdFF4Li!vhryp#)k~W@H7?)fUAe;5TS&dJY@A*iDGbCtK=;t zqV7)i%eXCx@A@&({}xMe<Ai)oQDYc(igSc6EO44_B`P>#7qt4p+7fk}}NbCEU! zXzD`DPyI(zB%x9z#Z%V>I~PGgN|2CBngI-TAz@#ZG)bs*N%8b`!O2C?z>)+~8BcrQqUjb8Iss8VP)Y}00m?Of`XC+Q5)-!u#D9`7VKL>c#boGf|6EejF8S~$*NFv z#;V}rAX?2~+;^u@h0w5!^}T!Svp~{jW=lg@1!OJp3?!j>;RyCKsIL>m0@6W3VHuL> z_0%zpM&s1=ss$-k&P|8+58 z8S9&OF46f#G%*~ae=dd)mLd7?JKp97hVD@&!*=PXTMFOmnc7PKT_NkPLKc=G3sz8~aaSSh ztdfWr&+<$Xhi{d@Qgarp<`VeDD9RTL6g6kcYE5;?gjR-BBFn?7<3BkMRk8{HX_!`L zg_6$FV9HkS6sANxOWn{vHpfMZuhzM%l(tud)BJD7&yv(!#uZBcGOp4!r($Dm!)$3} z74+3^xSF%St5}!7;^6WRwR=%Dmb&7v8~=5oO4sh!TE_NOO>oh;VGZAs#KqQV7h53b zq1UF`hZv~k!rd9jt+ilo!ma)27f?oIB3NskT`YL#RUQ8->)bI2qLN_=v9v__{1_~} zma(oqn$_`=+amB(h>1s3$uwsg5(9~;WPef;B~GZlB_Z}pLrvC*^u`^igDe>7?s7x6 z+IGfDvjkU-ba*nOMJy;1p)+>>FNx4vQQLGOhYOoEEUkxi(kh;k!Lr^wo0LS`v?7~= zfg8RsBbpYC1aZIxC@s+zIk^6)Zj~$mTPx1U#jUZ57(}l5J6fxK^bapDke)P$ zzwEhRXg8C^nO)9H*b!SzNO)nT_g`0ImO;fAH|_py97yM!3%FKg*_ zH{l9CV?$Pp9>JhHP#h`t7b{B{t;Rn*BG~EqL0Zu5ZeL&jc)bz|wCz6AeAezZ`aGf{ zS!CM)_OWsaEs3wb4U=L>O^8{X;@6SPZ}xly@$>eApiGdXBj{G~%wMI<%i8gX8S|H@ zvo(3>EFyAYl2@BIV|rR&AiA>}Qi^ZKNb>>CB{v|-0G2!&6RH$S7bBApJ2TCzE}Sv7 zf4!!W6FD>OWyP=-X5tSw^-p*n%RM*caq@99!@9#f6$@$)#Vw9_{U zVT5kF*_(4f7xMe%YlrGEg**;{ zByaKup4im8sdy_ZTjmtL3HLtxbV4pa4WqjrN~G!t9`Dop*c>5iUxc@iavTI>4PL>y zZ)(o=e!Z!VsR?HZX?)ikcS^(|at|P`S<3u2TRe_?x1#Z`o<%p!usskJ3t?o3G%3o& z2jx8jsomt6?e902q@wrwXaZWJ6J|&1OEU-(!e-#;Uc`>+-e=8#6CHHp z&747}KeCZZ@|3XK$d2Km?YX0zv@Qu*r!Dx*J=PX?Gr3tUuwTG66^EM{o`S!WL0-n2K_KEQ5@{l0#+ z>etJXY!2kN4Y$Cn&;QSZ+h2j>YXaeHZenBd9|FhYW&UqB$gjx({=a5${|ELD_@BqM zOAR?YED@9*q8l7hFFPYLS4%OMiq$$S^99jxt;KzJw~K63SF>~svKzQ2F=Aq2fi8Rk zT5N!Pc`|>2cScfyVv#TS*5pOC+aAmF0u&fAq?zjj+x4f{o$13_Q&3nw4>-S;N510Ncz@s@ z1I&pDZUTl*EJs8G@L0n}08}S}Gf{J`dO0Xb6zH3J)n?K0|>Wi*^lU=42{2tBJB z7tRUzEq`iX4~XrKdF|>pcTgCNXg9Oj_53bfNuJPe92?{zY(QIOMZYOv3J79prwm7p zSm>4sy>laRftceAM2w0^p)m~c`dfnv1M<|Fda1y^Z>>`3O-ozoioXPsRvdQa>Wha{ zbg|9!c-_5Gc;3B@?FN~JBKUH9KmGpQhmexeU=KP{xYxh3?fo*6ikH8g>wEt)cYNrs zG5GoNK0@dFT!{^Z!JK?@_+8G|>*3&VUryKOwG6DA^miWA^+K4qbL2Q_z#Fn#rb zF}`d|0iNMmWiP=jEy1QrK4>RPU*)$I((0Ql7;;>b-t+y}m`bjEbSlmMXHj&HUYTi) z%t%GhU$dPsXjifO3LH)hw0q4ATU7g-eRccmSL^{5>EOjiud?FU3@zv}sJQWI7%Ww9oSSUMNirG%OOi@LBvBwCj0@PbP{bOs(s6Q%5?BN0rj&F7?NR z1O)U{h~08&M#JasmG;V_^|3^%%uh0v{fq=|r2TYz?TP`VV!;lJaA8R%R<^LSEjxd( z(9cxLH`vyQ9peS(HW@S67>-2_IJYl@*(JwoxtQT2S04{(gULm;w3GYT+A;}VFy8$4 z+pfB$!uPNCVf%169fdO>!hD&~)>GxnvR|;~o@yc(3gx41zGC)yluFJwwFY0b`uXe9GkInre^$^F{P(T*7 zm0Tc`TBQ!el|FMh3KqW=QbOvdr@4Z+C9c&70#n12N4*MW55Vm>vmhi&Pr#K(vWGU~ zV$zY++Rv9$doWgCF@w-TAXd%fu3eDwiLNf2zfMa)xyy^F77yrSI zUmn}I)xcYUNoG=KNDGSZD(PJ`<1wOM)mv3Q)(zg0$X-5L%^Iq6)YWpMh}Ne>ciPF5 z5JOE%N)|ciJ7Kl_{T%n!VgB}qePxJ2lK)Dv?HfH--(g%$Fx;zA;+paEV&;@I0~>UO zy^_HtZ(*$xBoe_AXG%UC+#MwxFq)OD>c9>NSY?WvI1YcYDw3*hxB(2(AENwo8f`)mG zhXE(hl24KTgCkU#aix<&ECrn&Mj1whO!eS@fw;WFVy|(1i3>xpD8nK#;opZ7&G*PL zmDeZE#xdmWWGUYLxQ_kQ!G)JOnU|y$DkGG*#`nF>Sgq-N>PuFjp)Amo-l)_}LG7)q zMP*)S81A%&yS$#Zs zM0@&xNMYN8eSLDm_Y{QClis9O3C$gS1TOi}&@oD8X!=Z+r8Oi!>Lr){DaTGom7&2a z@=;OtNzo61EI1L&P*#ZD@6sSW0MFqGcM-^J@StW9G+P(StMzFzI>-mtOT+lk@BwZ> zq|RYh3PKGOZw#nWV%$z17UU6p)8Wu>hxr8(ZbIM-YA{zc9!BvH3NC0Q>q0EaC$he( z^#D*@>E6EI9?F|PatZc(`^=buRcjjr+}?K4Vf81sB6p!QZKzpyoXQyy*5TIl~p?&({V5@oCQMk0*64@%=NL|2q+}Zg;pg z`X%DgeJOx{OTWfxCvyWw6JsT3$G@82Ujc7Zbz5$O9^jkX__>=T;kA}g1dcj7Ut1jl zZIMS9@p3_0Qg^VL?$_wN^zo>ZK+BIwimNYlE<}<$}iPHX9 zv?2;!yCS62NkpPRNm6FGE9d&LD~f)XpSp@3v~|PQyj9I@tNtnQ3@IIyMZt~k!&-qL44+$jxmF*z9l$*d2AND3I3N$E|x^?m&Wnzuw zd;3vgA^NO!ASI3@`cby9QeaWFino##FJkm1NszyHYqvR0@Lb>#;A39IeDUfgPqdkY zK-H^MX*VJY6IJ%?jnaX$@><>XQ8XAY9S!+f+Cp-|1#4#2iyNej|9JJFjP6wJG@+s>&$zaHq@`>Yoao!;pd+q# zh^cD$2wI4{o4>9gSyT(j<<1%#6`iHFA#V6K(qe1dsK>>>62fr!jj!H{U$TC@MQ>FT z9zd+aA3(`0@N-dFBcpgj=^%hYH9FdQ!8qe#(~V!8$tA;`|7iMn`~7;FzJnL-muLQ0 zz=IrovoThPA597`1@hS(4x*@UBp@WwhQZ9sRW3aL{ob)AP;rc>$g2ee;N)*(D2}a@ zb<_m#B$1%jCQ7IPKubLP+m(}wI7=5%usfQ4LSXyBETOy42I4e^k=o-VROAgb!wRy{ z<7%8#Em5W!hfk}kMhQ(k=;3Z$J_dTw9s_x?{Fq)}`U_|}eU$}X4?lw!s6vBgF6>QF zVj&5Hr)I+$R`C}D)E!1=`NpCJ`Q}`bsq}0kEr9>~GIR@{qr$h92kq7iWu3zE0C`-9V8Cc0WjUwWb<>fX--VLOah4=1Dk#mP=60EbWmdzZuGdssH_u9z z(^OLkaS1~-1^?$SoV4LjrnIAR=8_1DYH6d2|2%}*zImUPqJ?972kW0C8JC6%00IH< zS1S+W#By3bHq1yvLfYxv2N+*AL^EsL?k4lR;+XT^NCq7G^Yef+E;9myCYvf7Yh7tR z=RZwq-gH6wUc#PPA#B>ex7&U84zWAd+~lSm!~yXW|YA`hiExa!aLV!{N0vm_kMXcfz?#$cBMPP`w(v(ia{a(0T$1=YnYh> z1xmh%UqGPuIia`hw#%1tOTRBuvvGH^FyEJ-o9!0BbC*@>&y1KSFRTRCM4v_cTFL3Q ze0w-xh1==0L?)@=C|BH?*B367rEZ^wj3;3Lrkzx#@yI)Y=KV4tx#cyLyw>wR$Pu1_ ztPCm=0gpnHMo2CN_XqbbNL32xTt#)tykupF*_N_QBfF>GmGr?F07eE+B zUJgi4qcVZ=$ByDJLCeO%o+pOQ&$@cA5VHIDZT7;-lREE+AEDIGf=UOZ)Cxu7yr6@y zjNoVE65B;!#0ErC%IS6y9FhI~dV$i8OpWooveJIvTj$q8+hu zJ9mf0B$L5^epb&Z$?PBt$rovLbuo+8p@k|5jRi(REbQn@76Kaz_ML`YXLki(2f;Jbn8gU92!nDMd7l@Oj4L2B-2$c8yGl!S!Fm14+SMGID(p{j?i5%Z7 zAr2fSFD$}cjL8m=5tdB%J88$`@mM?N9$2h`5eCDT;FmzQF(;wjbi2}mf6y!!D*{f& zN5yASV7Hf!0|HGGB~}<02&~ViN5z~V@H#rfGE_6kg`E*wuX2_pU$@kNi3tk}!vqhC zA?f`-lPtmEW*H6&rf58*Rb?eiomoDI(eUi__0lFk#om!%tiUKH3Y-QBB{q`zyNC&R zQCP)!lw?!di-@({V)FIcszeGy2>mT}; zVgw|DCbZnioS6(g)EUhbSP|YH_NY>HI`Aa7!h5ZM?~W{MJK0R_>3a-!|J*VwwhSFv z8$&fCEFw&hC8+k12g{iCMuEu}t@|eKpHS}4uiL(#%ICLIak%2scg>wTCuS#^!H+Kq zt`E{wqNZ5iYd8(rPh_>c?fcs7PG!wOOlT^oZc_S=#!i~fDW6;t244VfB?d;oKO3wd z0ggJI6{j${;HCa!HPOV1_9JUi@=mqei=1MqAcG0n9V$v0edn73elRGia{X*2Qj83S zfOv-vw4opgQYoc>7%2cXqXPLlh{G^}Y?zo*F_{@;x`+~21~w8Z%rJIAPS@$ZB~k2} z0utm5L#x^pB2u0OVhXa`ZDCl;k8?jvh{S2}MJQGKhYVKMVD)~?8OOmAWpHiNb+$G^ zvW!iC-r(w5NCgg10=~Wkac}2gnR?1E$Ja|L-p-3NKWWoxhZLX!d|>2$ae(y)c-=9j zs9dViMdRmE>_aAG4U?_ngi~<2@i?8We0JKcBp))ZwD8bwU zFtrjKxyk*u&uwnweAjD4;+^7Ss`x}DCs;x zMRH+feWR#MAYuXVpcc|<8^967Q50C2eou*dId^rSHR{pb z916k|gx~0GRsunEFdBiCTYpFGKXSaVtfSdCa**wJH-8e+lV~?F`^klI(i^_f%b-Gp z&jz!anV$s6dC$8Q({Vl9Xi!K<=oyiDUp3M`G$;dxaNS!Bf zpBIl8%m>&uD=nWd+N5SYS~QW6T2FRJ@70#4P;Xuq+g#rsR1 zI%^l|j}lP^pXAJKG#%5Lr5_uUguLJFgT&SL5J198 zUv%Yk3d!x@Vo?mlN+mxzhzNr!!T>ljBd$0KI+&x-h%w=_+{{YHC5+R%PqFzbRa0xe zx2RSHhPY`>HWvVj%Op6E?@qiH1bkj6o$3ZUaN3TSNt0AL$q6*8vFm%%LF1oC=VIz9 z=8P4YMJQwwQK0mNimgFTOrx2W`CfNA=w>yWUR^>{Pbn-3@wtO#MH`ntYCKY1^~z`I zwXWBa@xzJ0m)k3Z@WU;6sqD1b zE)+Md`rer2T*4nSS#;$a0rW@4==AO8OqsEWx(`M1Te(H zy8=8P#n;ts7gSp%FP-(-RKTSLWfPlFN7vsezO{uxcK39zzYV`Iazd6+%%nqXhrv;~Rlv`QU zB%2j+-3t{57p-Y?>55l7_u>m?$J^<8otjiWKYy=GYLqS`3Z4osfyNJmcZ&6PQS)ki2e$0Z4@8i!V6>sh53g5O{Z=WHih+}+FozC4R zY&an=8F>*hO-IPJ&#?^Oi(UtJSGDjDheADeA6(8b#cu1*%^1EI#&iiRJSHdVHz7o< z*oUGgV=Pj5HWW#F@ldMhVWyvSH7Ol#e%oB<#mYNU5N4A}>59=3y-ow5nYnL5hB!9MkQ-+s-jt0WO=3v3tO-y1RCGi!_&_?#a{bLQX)d*bS+<}bKUmpqUp3R zd&$Kqmbch}111v2skU1R=C<`9I5BNVW+KhixT%$xwH2pG;O%_hu2nlSHV$>jOf2Mf zy^+ce$LqYZmciirD9-!B$=SdQlSO z*{E=Ywg+N=weRtS`dm&dJ;NFi9_dk(bL=8<+m@0vLlILp z4=TrL+v!(UOQ-72Fx@K)9?g-SHPEA@H;U??IWC2@uU6~Y-wqO0p|94Yg-?r}WIpV5&oW~S2MFAq|B$R-rX*Uoc zRrU#Zdd}!&zegQDj`PWZ>Ndhvslg^30a!ew2oI9oaAtg~;|O4Q(fX7ik`?W*S8bZD z)h2&sTWuPU(}!W%rwnR0i+0D0vL6ImSMzn=CcY9cah`AT`=iqz?1GbUrmwcR2ts9r z6$;PwNm@+zO$f&U0CgoInCEBebfo~M4t#|o>#{(sLB|ox*}3T!kxu_O4&ubLEzgddaYh=d~}f-mo72f^A- zO48p4Kta1)VCSP4H`UjqkZ}|ETg)qmS6lC!w?A*{7|DEaKfQOtVm|{Ln{~7?WQ+KI z(EqesJBz&5xW763LAE*AMHnYao&cQd!uQ%3&;}CBs!y@3{oF;y`zdlbIB~--6cQ&n zNLuq+{oy`SFa#nG97abO@v(SQkP&XY=f-*3x^C~Yu*3#)u31?a13Lmm9H+QwU}Bhm z{b#vjDr|~<_Y$J(_n!0UYKM+3lTfEK2G(3wlcp-fdLhVBBAGFZ zWSsLZMy=v^M9ljm1FWVb1Kw#QWBYKmFj8>`h%-XnKu7d?2}4sBmr2SPWtrNcI7cLx z{d#M7w#4t5EqwUsbl%|^KpvM79uP!Za#M`RWOr!Y_)uDSC`eOy3T{0G)TPhRAPJHCyZr~=+IbQ>cYtE}A{c0kIuOL+2-F-2E_fCTGe*ebj8w{sh3sLM z690DNXAOATW#e7FTULQZIl1B{t^#)X=p@FgoBG?D+^3_{*3~w+>xh} zLf^SGS4_9Fy!-P|XZQQvtgAyvA&VU|JKO8x{++1L)bsb@m*L3~&8;?EDj8QH3ZP_W zMUZIpm#s@Iy7zi%4;fkUWXqMdQl^`*QSOCHeOR#w#c!hG^GyQ@bUMy*MrqrhbEZ>N zbqkS{{au0hiP9Z@zER7B(Qn&1kZ0iIL*W2!4W#yhI@Vm=9c>_L?{@T z$pKKWO84_>J6`j%hHe7Erh5H&et{Bl!u; z`P$9%Ng{c~2+ow_?DuJJ^NAN&z7cO&b`3xYN)Wk0#E9?H0^io}s&c+U442RroV#&Q z_<*tD;7$M3=4xA|$zK$(!n+(^EAQ3q2Wn(l3$5?6e2n*U__9`$&x#T0Vsf?+li4&< zBUO5xX>Fh-@yf(YseU_~2zD6WX9+c`4Pz-@V&mUJ0Bq`XHmgNSF;};eD>*ejQ%8!5 zXvD#W9fe0|fDpBFDJNGg$IW9q9t)BCD=(C6kC`53Yb-SwJUW=9JeLe3$gwW=2=kS< zSRZ;@=<{xG6&6f$#7ZEI*JqJBNoVID9Cm&}pSx1V#F2a-iS_{bGSYa>O&eR66`i2g zL3zR*-JN<-&Zn@Ggfm<(nw~2uKCa!#^>>8$^dP`XDhGm%(4=;6uW2%iMYcl$F(E)W zNZAWb_bFZv&Q`Cm6PB<82*mXETL@S12Wqpyy}4LnPm~xR@IcH$HVE(S{F=Gb3qXNZKEAx7}{*7#+4)Ev3!N z&70z{+T0zkvo`gja^!%HQ#%b$@AaOR!l@F-aA#Q9o#>{7FC!ytvV$`20~3W*fXVZl za*Fj{7InUcNLJ^Api+~Wx{I!kK3i!fe_{wr+ZM6<(CMAVovkyb@q7gMV5{XCZ}huOmC zbB*H!18`OV7)XKsrkkC|ZDeZXs<2a>CQ81f#pBFp)dKchm%QkW2b>3rC0JStg5Jk? zjjrQN2d})>OL-4<2GD9mdvTkNAXxu2PRhD;DXKvVr#K?c=&0(lY9=yZH!zYUo#VXs z=jZ9Mofe|)YdRA-aadBAHuD`}49q0&esotT&Ag#T=}u_Wq@u_y29r~QTDvJ;C-wzn zKxR@sh(cLEg>zB8<+tFBvT}I?nwtVa{2_=MG@NvBGlc|4@t-wbmkCmI?Vpv8schB& z(Gb%;YzE9pRz1*wxt{4{OK==^q;WPQ-Iygeqj?!9X?)3;Z?hHA zN-PNr3KC^8v$exx6b5$+%IMW!k6aKM;&mJa!HHplB5KR?m$5h;P{cyOO1P$ZcFw45 zxekf_MnL_+4GgCh0)b2sn?Fh)d0(Ti8)M9spUPrJlTn-q&tJ?sP4CHcny{vDN|7Um zOl_huwS&Kgw}6w^>^L~B%lX`|#JnJLu~cD5 z3RZnLF1n$~e`6bYVGTy*Lm{G6Aj%)jQ@0TS$Z%;W9(*Jfrb}jCD@b6<42NW;!Mr@o)aI#4ltK=r7fP_Ut#kO}&{=>=m}d))(kB8TB%PLu20~NkaJ`cB zn(zA5bnY9FXUIQ~Rw(xUQ#F}^1&9^c_?oZE^)`>4qwWp;<3P;hC1aeoG|ZBYFO=0% zpjjO2CvlbvjGP;bG^S@Ca)Q705ko3cY*~N`o1oOYtJgLO&xA3azF#26#_zs>9{UL1 z1!$JBfl<4rCD2O*DZPYmCDIe8gri~gf)9y)3j`z-Wu&khsE`Is#k3)_{uIx(^M^AG zK`H?K2J(^;G}$D8ERIqr+V3)~nm8oT$0E%{z$9P{--qrI4xL^k zA9YD?BOK8tlGyd2`w%^G&HnLc3ldKPG^u`!q5v#eEz9k!Un$n&vJ`U?LqDU>o8ym4 z0*>dK>0T#TQr4E1Twc#oFB-f0_}`4Pyyg|#`B&i`Mqkc z-0wvm(KK>7pQpsulF&rneNLgGNFqUG5%p>CP3{GPxu%41_}NIl2)6`$EgVj*)QZDOUjc-t*o%sB>U3C1qF^XMTCu}R#;e? zDm*KI%%5&+RnHQlE|$#IZp1AF8y5U4p46zd6qu;DGc}W>2FR}ceK%36{VFH9EDL@ zhRDJ--1eZex%(LcnAnq!b9^u%L-F1Z%qBdD!KTF^QST79ipUcp_P-oQE$JWt1^~qo z-3|d`pM6~4);Q^Z4$2e$DVjqvA9Bf65D_xfmv|iP8fC{9=EXv z&YA&S2Xl^p;&l%S8fnqcW*aNPeJJ3kSbo;y0Ngi#C5!RTQy_*vM%f_E4ZGo{bBL&qlFdCAh; zWoQrIR8!0aAo};|c?)Tr1?}`FPm$?dd?ua9+lO};WoU#P!Hd}j}9lYeFJbv|RU#85wR!aog~C{RV%n^(3I z??SSWrIImG;*|w0D;9FPy0z*bGVVFMs03k(2;@qR%nXmO zdUmEJeLWhu&UO4Y;W(PiY96~DJ+6IBw=O2#ZO{7+w&QFqmc`j1W!l`E@uk-Dj9l;g ze3g7(J-O6Ui{q={+bay<8%w;4q7Ps<^gh>@M|l|=tspZ@rSc5vEyp37dAL(&VmTo- z^>DITLf3(KPt#TPns%$2a`E73WG-XEGRiuQ0p{ zEiFGf3$?_S(Q2HzO?S2N(bKrh0F{NR4lI466RLRi9AOkQo#BP8xHYXQb!!Cl8?xA0 zv^XPW|LE*uL4Vxv@gjDayy>+aSGi6Y{Yd!#v?Y?;ZT$f7}U zt+~=&o67D%>=wTAd=E8R;LSDaq1Cpx-J0?-V{oIfKF%99JS<+)NQ!_OK*D#+e-@`D%JgQArPi63Vj0>XZuh3#j^Cfjt+9Z%Kk zRkU3}B-<8%tV;Lbp8lJio>z32eew$@k*)sA9Xwe}i|0{qX^A4JZ35MXR^el@Rt4~& zGC6KjP2FSSzFxQcgTMAUcG)r%CSymHGU>{#blSTg0`19fy`+lBlxj=@nUJ^~lS62D zIkEUMJol@~Xafz8v#qy>Is_Ovml0-ZsrrY<495-~@+8UVAH6IVBl28qW02bI{Q|=f zfgEy}MGP>^-~;q$LDjBh@v^oKv_s{zDjvtjc@%PRw3WoQA^gLpRwXWz7L-0X6)*v) zmZ&*noKxSXir~NjFYoi*zV^$Dcuv`q%1z4sIEe_UA`4&e7N$F;-RE$93@6ZPyew+LjIuDdN!}xbF6(g zOr^qFBBGwS2b1C8dCB@_)fDEHS-WIeN3aWFO=0u27Nz%{>cEVtS#xRPa`|v-6~uIr z)$IIM)@YO4xgBNw$FjJTmXe*vXR z(s?KP7w&Q_Tnv&`997{BsLypbwip|8;1Cj0y8ZZlH;&@CRWq95&J#AYbaXb^AS;0B z?xdv%CDfZjz}HKx@p?h1Dlulwj9siV={@8mK~4xE_U=b034i1Kse4q!E03&e5k&t* zKDgEK^H`p%I*kHH zUDWNIGGiX?As$I=xgs@wzicsjywR+ThiJAHC~FL=9cb&FpY8jua?Ld7ZA)FSM&xZj zvU}XFl;1*+1raC2LqZc1BP57pZfo!+kl-|TCoGB)$4`n8$IXfnGt|WDIDO-?BL7mvxo4u6G&5sVDs9M3x84BC3-rTYaQdN?ok0QzKDv7;y9^bwcs&xb zup<&S!x)BE57*VTg=(g)`5zAnwC*=Irv_IqDVK1W2ZMFb(2J!&Rk>j`q1c@S16SLG zY__E1=KAybT~a!hqdk z1jMb$z*hKv;t=TvT+?7|2?DAbTx0x7`f+-UtTc41BU=s-!o|r-{@@haD8fGr8lh>s zxIpYDqNwaUZkqC}rot{$*2F|CrCNcNuX*C%GjS=I@pt5lF)5X|2$IQ_XPZjVD8X+J zNCCQp%ClZG{7XlcyPgsy!b{zR&MO*yVG%fu(0nls8-3HAGm=u#UMR|2dEv$=#FX~4 z#*8pX$?Wq>CMYD77$WAvH9(T)q8K9KOw&9o#uXt(Nx#Sml*k$A+CZ{3lC+1WQ6#f& zE>v-&7(0p~?-)CpAoGa_S}q<_je#Cv@+NIB`!Hs{e#jfNyyWG;wl&>R-Ju<(%+LQ_ zOi%Y^1B@%WS|NZ@Sj?8T@MF0AnaQ3VpO{%Ci%(sr?q6dNRWYvMku493QF?! zkyKM91*_xizhucuW(U;~Ysc&Lim%KJl{*&+Oq60J7*nKfHjJibWxqs}L5jG8nM0O_>p*m5>bqKV zFg4heBiavD=&*6Vat-8EW^itm%Z*L11VLs~zV#aloPUBnW3jamHaF4iJ0XTA z%s936HOiJt6|h4bF^@VC`PdEt#wbBTekpUX@rTdjpT4`(8r(M59blBPT4XX%U77Bu zw}YpiQiNDN-#>j4^0@0b31-Kh5C^57Zxg3o2s%N==>u}#FXRJ7Q3Rh4W)k)M*xxt1 zPDlJ)4oCYz6ABw*1lmr?9%cF7yQl=*_y`aUp5$=-Aa+Vx@a~pR{#PSc0uEK%hV9#r zP@~0HmPs1PPJD=BG}*VJ5LqfqMl*~hlr2jMUztdj5Pcz1S+ggDv9ypqS+kTSYZ(7I zrVJLk@)l zTCwncwyvI{?gtU#=-V8fBPP8I7-)Uw!S%?y~K{mtO^vX32 zH3i3JNqybZv)9b9E~QjloEZD5FEMV)y39yaNX^db?qx-u9)fM8Lf*9>y~Epe1BUzr z`YZa=#dJwNjB-akrY5G}hwJ)G7U-H5w%qdKlC^p?!G;j3H>$+axAf38)lJ&Flgb2Q zRJ3Kzu{9!0u5mu*%0 zlg0LFsQ|m`)z~F!wjayRXvb|!Blb$Jj;$Yyx5ehH{9sYir6G)Ux}GYvZ8t(1&RUcr zZ|D17VHxhO@s+krM~4kBWcG*n#p|o;?&J%4Sv1sxy;oC^{xvu4dfa{8ZwFQg1BwRG zZeeBZbEa^)6b2tnYfW^ma^WjO2eZP?)0mkG9VKH?yC}2d94x{Zk%tpCw?D$7@o>gE zk$U0%fg$#r163q1)Wb-0w(=Dki;su#jbW_wa5#SZ86ks@OAgw*i_bqx5~X%@Cb|kJ zPm!i;XIECKIyNUFU;u7vEHJi?(9ZCya=2G3z<-~B9drL#n1WOxFY=*~F+65rF!qy|O%YEQ-#LlY+pqjw z_5D=P1YC*!gqOQXmmeylxS7_&$hm^9Xk^N2F~EON@ou~5{z!8#gC@x!1;ib@x5Gwy zDhUcQ$TWFnYq-B`v6G%t?UeePgnfG2idEgh!B>kIuE+(xT0osua!y77? zSihk1{{2uzdE{Hu7j>w=0|b*sSN2O*zwXC-9F?&^VWtkJyZw3NA{Y4vagEerv$%?h zd?(}s^Y#NA9Pmx&uP1m|jdx)9F?(7GR^(h@cljj?ht!*TweC3xUq?+0)p-ZSRO_}@ z9h8%W>Jhdbg&$Uy=9*rVR%x3Te292m_LxymM7DshyKKS5-GlZNPe}4%W}bX(;PTRv zwD**HX86b+4AA%5T-JWp=R^i>0Cg&j_%2p33YD2qWqn`~89(W|3uodZW$9!2Bw0%D zwiBIe;gAz4Ar3ESLPE`QooVM~VSQGl5D_|bLB-+L7|n8jaziim5Hqh&Z0Y~*ZrdzA z1jjba7!a32An$-pp5P5Pc^b$|@M{P0&otDwuN3D91j2HRSb~qk8))=9YVdcoC|!?u zgAX~(Tt8i%m*vcVg)fB%O^0SEo~uW7bT!Hai)npe%t{p2;P|4QT|BjFU~#$KwCJqaW-44NOD* z)JKdTF2-A-VJXGlRByE;gjUA)w&xz1=OPXT$BU_qCERBqpIRe0=eAelmCr4!JIkgGl8EU-E zqW@*CoXIpaTGY?4=kmpS%NJ7HmDBV)5mP;JHw?J>2)ogYAMNs`tDCv$gj~2!jH4>G zSQkAD9ydr^)#`R`^F^l0wKS#ez-c@iwmXhL8c}zzrJC6g|ICoO9;RS0n$-GuzUKOm zn+ToLs)}t~YEnUCO9@{)aN;f#gR+sD$|85e<_YzZT-GN}`rjSjTN-3ANJt#f@IIAc zvGM7RnBy$=8sKssJ$bvZsVdsZ#n#Ei!pOtf7HbY}M$f!k<5VHO134Gi6PCZ{DF4v|jsZuig z9pZAe;NqU*fpC$^gBe_5&-HQy`FN($XwT$Fj6~GsXEv_4NFms}GP`^Ozgya+V#!Or_itF5k<@u{;k9$IWsr&WYc`qnC)IUc;nM~c@*b7zm&d}?ya(O9{vFT@36 z99vz>pxS)WXW?M^;*$J=;d2ixzvg?$%r294rWj%*@Ye+x0dhC z@l9vEq#Ygs_a>Efj1D}?lRa@AyYs-O2JNTavMcUp)LE0tq0PQU&+q+h;w?cxoojgD!UVYW@HRP{z?#6Y7)_M?6_TbH?_}?l& zG$c@7D2l*Qh%4(wZROU+_2}BW>ejE$i;dnudoL);>GrLIQ93c8)s1FsP~ftGK6A_OlI$OFW(oP=UGPhaRo11N!!RydYbg$O$ya+-~|Uh^=X3N{tHq5WTXH9 literal 0 HcmV?d00001 diff --git a/ruoyi-admin/src/main/resources/static/attachments/Vantritek-RMB.xlsx b/ruoyi-admin/src/main/resources/static/attachments/英文Vantritek-美元.xlsx similarity index 55% rename from ruoyi-admin/src/main/resources/static/attachments/Vantritek-RMB.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/英文Vantritek-美元.xlsx index b5154dbdc4381191ba64f21234dd95e97aa31e9a..395502130766c6226fd693621691936e5c1a653c 100644 GIT binary patch delta 11135 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 YOpoBde5e0AJtL5*I|DSd-Cvpi4_@No1^@s6 delta 12294 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 导出 - 导出Vantritek-RMB + 导出中文Vantritek-RMB - 导出Vantritek-美元 + 导出英文Vantritek-美元 - 导出Infinity-RMB + 导出英文Infinity-美元 - 导出Infinity-美元 + 导出中文Infinity-美元
    @@ -433,7 +433,7 @@ // 检查是否已审核 if (row.auditStatus === AUDIT_STATUS_APPROVED) { - if (row.commonCurrency === '1'){ + if (row.commonCurrency === '2'){ // 使用 $.modal.confirm 显示确认对话框 $.modal.confirm("确定导出这条数据的客户报价吗?", function() { // 如果用户点击确定,继续导出 @@ -442,7 +442,7 @@ $('#bootstrap-table').bootstrapTable('refresh'); // 刷新表格 }); }else { - showWarning("请选择报价币种为RMB的数据进行导出"); + showWarning("请选择报价币种为美元的数据进行导出"); } } else { showWarning("请先审核"); From 6165f25b5e2403eaffa3bda24ba7083038a8b571 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Fri, 3 Jan 2025 11:04:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[fix]=20=E9=94=80=E5=94=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20=E4=BF=AE=E6=94=B9=E5=AE=A2=E6=88=B7=E6=8A=A5?= =?UTF-8?q?=E4=BB=B7=E7=9A=844=E4=B8=AA=E5=AF=BC=E5=87=BA=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=B8=81=E7=A7=8D?= =?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD=E7=9A=84=E5=80=BC=E6=9D=A5=E8=87=AA?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E6=8A=A5=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysCustomerQuoteServiceImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java index 3d44d48e..1f0043b9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerQuoteServiceImpl.java @@ -535,7 +535,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 - setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); + setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerQuote, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); } @@ -600,7 +600,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 - setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); + setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerQuote, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); } @@ -663,7 +663,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 - setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); + setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerQuote, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); } @@ -733,7 +733,7 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { exportCustomerQuoteChildVo.setMaterialNum(sysCustomerQuoteChild.getMaterialNum()); exportCustomerQuoteChildVo.setMaterialModel(sysCustomerQuoteChild.getMaterialModel()); //区分币种 - setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerVo, sysCustomerQuoteChild); + setMaterialPrice(exportCustomerQuoteChildVo, sysCustomerQuote, sysCustomerQuoteChild); exportCustomerQuoteChildVos.add(exportCustomerQuoteChildVo); } @@ -749,8 +749,8 @@ public class SysCustomerQuoteServiceImpl implements ISysCustomerQuoteService { } //区分不同币种的金额 - private void setMaterialPrice(ExportCustomerQuoteChildVo vo, SysCustomerVo sysCustomerVo, SysCustomerQuoteChild child) { - if (RMB.equals(sysCustomerVo.getCommonCurrency())) { + private void setMaterialPrice(ExportCustomerQuoteChildVo vo, SysCustomerQuote sysCustomerQuote, SysCustomerQuoteChild child) { + if (RMB.equals(sysCustomerQuote.getCommonCurrency())) { // RMB BigDecimal noTax = child.getMaterialNoRmb() != null ? child.getMaterialNoRmb() : BigDecimal.ZERO; BigDecimal tax = child.getMaterialRmb() != null ? child.getMaterialRmb() : BigDecimal.ZERO;