From 862028f5d3433aecec6bf0cfd8bd015dc722b9df Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期五, 06 六月 2025 14:09:50 +0800 Subject: [PATCH] 销售合同号/部门新增编号 --- src/main/resources/mapper/sales/SalesLedgerMapper.xml | 4 ++-- src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 3 ++- src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 14 ++++++++------ src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 16 ++++++++++++++-- src/main/java/com/ruoyi/project/system/domain/SysDept.java | 11 +++++++++++ src/main/resources/mapper/system/SysDeptMapper.xml | 6 +++++- 6 files changed, 42 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ruoyi/project/system/domain/SysDept.java b/src/main/java/com/ruoyi/project/system/domain/SysDept.java index 0e9e75e..e2c6b2b 100644 --- a/src/main/java/com/ruoyi/project/system/domain/SysDept.java +++ b/src/main/java/com/ruoyi/project/system/domain/SysDept.java @@ -51,6 +51,9 @@ /** 鐖堕儴闂ㄥ悕绉� */ private String parentName; + + /** 閮ㄩ棬缂栧彿 */ + private String deptNick; /** 瀛愰儴闂� */ private List<SysDept> children = new ArrayList<SysDept>(); @@ -181,6 +184,14 @@ this.children = children; } + public String getDeptNick() { + return deptNick; + } + + public void setDeptNick(String deptNick) { + this.deptNick = deptNick; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java index db32be5..3fb150a 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.ProductMapper; @@ -11,7 +12,9 @@ import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.basic.pojo.SupplierManage; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.security.LoginUser; import com.ruoyi.other.mapper.TempFileMapper; import com.ruoyi.other.pojo.TempFile; import com.ruoyi.project.system.domain.SysUser; @@ -97,10 +100,6 @@ public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException { SalesLedger salesLedger = salesLedgerMapper.selectById(purchaseLedgerDto.getSalesLedgerId()); - - if (salesLedger == null) { - throw new BaseException("閿�鍞彴璐︿笉瀛樺湪"); - } //褰曞叆浜� SysUser sysUser = userMapper.selectUserById(purchaseLedgerDto.getRecorderId()); @@ -109,8 +108,11 @@ // DTO杞珽ntity PurchaseLedger purchaseLedger = new PurchaseLedger(); BeanUtils.copyProperties(purchaseLedgerDto, purchaseLedger); - purchaseLedger.setTenantId(salesLedger.getTenantId()); - purchaseLedger.setSalesContractNo(salesLedger.getSalesContractNo()); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if(ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) { + purchaseLedger.setTenantId(loginUser.getTenantId().longValue()); + } + purchaseLedger.setSalesContractNo(ObjectUtils.isNotEmpty(salesLedger) ? salesLedger.getSalesContractNo() : null); purchaseLedger.setSupplierName(supplierManage.getSupplierName()); purchaseLedger.setRecorderId(purchaseLedgerDto.getRecorderId()); purchaseLedger.setRecorderName(sysUser.getNickName()); diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java index c7b7ccf..4b3aaf6 100644 --- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java +++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java @@ -1,5 +1,6 @@ package com.ruoyi.sales.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; @@ -44,7 +45,7 @@ * 鏌ヨ閿�鍞彴璐﹀垪琛� */ @GetMapping("/list") - public TableDataInfo list(SalesLedgerDto salesLedgerDto) { + public TableDataInfo list(Page page, SalesLedgerDto salesLedgerDto) { startPage(); List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); // 璁$畻宸插紑绁ㄩ噾棰�/鏈紑绁ㄩ噾棰�(宸插~鍐欏彂绁ㄩ噾棰濅负鍑�) diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java index 837245e..4256f17 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java @@ -3,14 +3,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.CustomerMapper; import com.ruoyi.basic.pojo.Customer; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.other.mapper.TempFileMapper; import com.ruoyi.other.pojo.TempFile; +import com.ruoyi.project.system.domain.SysDept; +import com.ruoyi.project.system.mapper.SysDeptMapper; import com.ruoyi.sales.dto.MonthlyAmountDto; import com.ruoyi.sales.dto.SalesLedgerDto; import com.ruoyi.sales.mapper.*; @@ -69,7 +73,7 @@ private final InvoiceLedgerMapper invoiceLedgerMapper; @Autowired - private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; + private SysDeptMapper sysDeptMapper; @Value("${file.upload-dir}") private String uploadDir; @@ -492,7 +496,15 @@ throw new RuntimeException("鑾峰彇鍚堝悓缂栧彿鐢熸垚閿佸け璐ワ細瓒呮椂"); } - // 2. 鏌ヨ褰撳ぉ宸插瓨鍦ㄧ殑搴忓垪鍙凤紙涓庡師閫昏緫涓�鑷达級 + // 2. 鏌ヨ褰撳ぉ/鍏徃宸插瓨鍦ㄧ殑搴忓垪鍙凤紙涓庡師閫昏緫涓�鑷达級 + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + if(null != tenantId){ + //鑾峰彇鍏徃缂栧彿 + SysDept sysDept = sysDeptMapper.selectDeptById(tenantId.longValue()); + if(!ObjectUtils.isEmpty(sysDept)){ + datePart = (StringUtils.isEmpty(sysDept.getDeptNick()) ? "" : sysDept.getDeptNick()) + datePart; + } + } List<Integer> existingSequences = salesLedgerMapper.selectSequencesByDate(datePart); int nextSequence = findFirstMissingSequence(existingSequences); diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml index b2b8889..bd80e3f 100644 --- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml +++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml @@ -5,9 +5,9 @@ <mapper namespace="com.ruoyi.sales.mapper.SalesLedgerMapper"> <select id="selectSequencesByDate" resultType="java.lang.Integer"> - SELECT CAST(SUBSTR(sales_contract_no, 9, 3) AS SIGNED) + SELECT CAST(SUBSTR(sales_contract_no,LENGTH(#{datePart})+1 , 3) AS SIGNED) FROM sales_ledger - WHERE SUBSTR(sales_contract_no, 1, 8) = #{datePart} + WHERE sales_contract_no LIKE CONCAT('%',#{datePart},'%') </select> <select id="getSalesNo" resultType="com.ruoyi.sales.pojo.SalesLedger"> diff --git a/src/main/resources/mapper/system/SysDeptMapper.xml b/src/main/resources/mapper/system/SysDeptMapper.xml index 5a7052d..efebac7 100644 --- a/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/src/main/resources/mapper/system/SysDeptMapper.xml @@ -60,7 +60,8 @@ <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult"> select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, - (select dept_name from sys_dept where dept_id = d.parent_id) parent_name + (select dept_name from sys_dept where dept_id = d.parent_id) parent_name, + d.dept_nick from sys_dept d where d.dept_id = #{deptId} </select> @@ -97,6 +98,7 @@ <if test="leader != null and leader != ''">leader,</if> <if test="phone != null and phone != ''">phone,</if> <if test="email != null and email != ''">email,</if> + <if test="deptNick != null and deptNick != ''">dept_nick,</if> <if test="status != null">status,</if> <if test="createBy != null and createBy != ''">create_by,</if> create_time @@ -109,6 +111,7 @@ <if test="leader != null and leader != ''">#{leader},</if> <if test="phone != null and phone != ''">#{phone},</if> <if test="email != null and email != ''">#{email},</if> + <if test="deptNick != null and deptNick != '' ">#{deptNick},</if> <if test="status != null">#{status},</if> <if test="createBy != null and createBy != ''">#{createBy},</if> sysdate() @@ -125,6 +128,7 @@ <if test="leader != null">leader = #{leader},</if> <if test="phone != null">phone = #{phone},</if> <if test="email != null">email = #{email},</if> + <if test="deptNick != null and deptNick != '' ">dept_nick = #{deptNick},</if> <if test="status != null and status != ''">status = #{status},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> update_time = sysdate() -- Gitblit v1.9.3