Forráskód Böngészése

汇款明细调整

yzc 11 hónapja
szülő
commit
7728f83d5c

+ 9 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRunningWater.java

@@ -154,4 +154,13 @@ public class AccountRunningWater extends BasePo {
 
     private Long claimId;
 
+    /**
+     * 对方科目
+     */
+    private String oppositeSubjectName;
+    /**
+     * 销售组费用类别
+     */
+    private String saleExpenseCategory;
+
 }

+ 4 - 0
hx-account/src/main/java/com/fjhx/account/entity/calculate/po/CostCalculateItem.java

@@ -32,6 +32,10 @@ public class CostCalculateItem extends BasePo {
      * 业务id
      */
     private Long businessId;
+    /**
+     * 排序
+     */
+    private Integer sort;
     private String businessName;
     private String businessCode;
 

+ 7 - 0
hx-form/src/main/java/com/fjhx/form/controller/FinanceReportController.java

@@ -1,6 +1,7 @@
 package com.fjhx.form.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
 import com.fjhx.form.entity.RemitDetailSelectDto;
 import com.fjhx.form.entity.RemitDetailVo;
 import com.fjhx.form.entity.SubjectBalanceBo;
@@ -39,4 +40,10 @@ public class FinanceReportController {
     void remitDetailExcelExport(@RequestBody RemitDetailSelectDto dto, HttpServletResponse httpServletResponse) {
         financeReportService.remitDetailExcelExport(dto, httpServletResponse);
     }
+
+    @Log(title = "汇款明细", businessType = BusinessType.UPDATE)
+    @PostMapping("/remitDetail/edit")
+    public void editRemitDetail(@RequestBody AccountRunningWaterDto dto) {
+        financeReportService.editRemitDetail(dto);
+    }
 }

+ 1 - 0
hx-form/src/main/java/com/fjhx/form/entity/RemitDetailVo.java

@@ -13,6 +13,7 @@ import java.util.Date;
 @Setter
 @ExcelIgnoreUnannotated
 public class RemitDetailVo {
+    private Long id;
     @ColumnWidth(20)
     @ExcelProperty("交易时间")
     private Date transactionTime;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
hx-form/src/main/java/com/fjhx/form/mapper/FinanceReportMapper.java


+ 6 - 0
hx-form/src/main/java/com/fjhx/form/service/FinanceReportService.java

@@ -1,6 +1,7 @@
 package com.fjhx.form.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
 import com.fjhx.form.entity.RemitDetailSelectDto;
 import com.fjhx.form.entity.RemitDetailVo;
 import com.fjhx.form.entity.SubjectBalanceBo;
@@ -18,4 +19,9 @@ public interface FinanceReportService {
     Page<RemitDetailVo> getRemitDetailPage(RemitDetailSelectDto dto);
 
     void remitDetailExcelExport(RemitDetailSelectDto dto, HttpServletResponse httpServletResponse);
+
+    /**
+     * 汇款明细数据修改
+     */
+    void editRemitDetail(AccountRunningWaterDto dto);
 }

+ 19 - 0
hx-form/src/main/java/com/fjhx/form/service/impl/FinanceReportServiceImpl.java

@@ -3,8 +3,12 @@ package com.fjhx.form.service.impl;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.common.utils.excel.util.ExcelUtil;
@@ -35,6 +39,8 @@ public class FinanceReportServiceImpl implements FinanceReportService {
     private FinanceReportMapper financeReportMapper;
     @Resource
     private CalculateItemBalanceService calculateItemBalanceService;
+    @Resource
+    private AccountRunningWaterService accountRunningWaterService;
 
     @Override
     public List<SubjectBalanceBo> subjectBalance(SubjectBalanceSelectDto dto) {
@@ -191,4 +197,17 @@ public class FinanceReportServiceImpl implements FinanceReportService {
         //导出Excel
         ExcelUtil.export(httpServletResponse, records, RemitDetailVo.class);
     }
+
+    @DSTransactional
+    @Override
+    public void editRemitDetail(AccountRunningWaterDto dto) {
+        Assert.notEmpty(dto.getId(), "id不能为空!");
+        accountRunningWaterService.update(q -> q
+                .eq(AccountRunningWater::getId, dto.getId())
+                .set(AccountRunningWater::getOppositeSubjectName, dto.getOppositeSubjectName())
+                .set(AccountRunningWater::getSaleExpenseCategory, dto.getSaleExpenseCategory())
+                .set(AccountRunningWater::getUpdateTime, new Date())
+                .set(AccountRunningWater::getUpdateUser, SecurityUtils.getUserId())
+        );
+    }
 }

+ 58 - 37
hx-form/src/main/resources/mapper/FinanceReportMapper.xml

@@ -58,49 +58,68 @@
         ORDER BY t1.sort ASC
     </select>
     <select id="getRemitDetailPage" resultType="com.fjhx.form.entity.RemitDetailVo">
-        SELECT arw.transaction_time                 AS transactionTime,
-               am.`alias`                           AS accountAliasName,
-               t1.contract_remarks                  AS remark,
-               NULL                                 AS oppositeSubjectName1,
-               NULL                                 AS saleGroupExpenseCategory,
-               IF(arw.`status` = 10, arw.amount, 0) AS incomeAmount,
-               IF(arw.`status` = 20, arw.amount, 0) AS expenditureAmount,
-               arw.account_remainder                AS balanceAmount,
-               t2.supplier_names             AS supplierName,
-               t1.customerShortName          AS customerShortName,
-               t1.contract_codes             AS contractCode,
-               t2.subject_name               AS subjectName,
-               t2.calculate_item_type1       AS calculateItemType1,
-               t2.calculate_item_type2       AS calculateItemType2,
-               t2.calculate_item_name1       AS calculateItemName1,
-               t2.calculate_item_name2       AS calculateItemName2,
-               t2.opposite_subject_code      AS oppositeSubjectCode,
-               t2.opposite_subject_name      AS oppositeSubjectName,
-               t2.calculate_item_str         AS calculateItemStr,
-               am.jd_subject_code            AS bankSubjectCode,
-               am.jd_subject_name            AS bankSubjectName,
-               t2.subject_calculate_item_str AS subjectCalculateItemStr,
-               cc.voucher_no                 AS voucherNo,
-               t1.belongType                 AS belongType
+        SELECT arw.id,
+               arw.transaction_time                               AS transactionTime,
+               am.`alias`                                         AS accountAliasName,
+               IF(NOT t1.remarks IS NULL, t1.remarks, t2.remarks) AS remark,
+               arw.opposite_subject_name                          AS oppositeSubjectName1,
+               arw.sale_expense_category                          AS saleGroupExpenseCategory,
+               IF(arw.`status` = 10, arw.amount, 0)               AS incomeAmount,
+               IF(arw.`status` = 20, arw.amount, 0)               AS expenditureAmount,
+               arw.account_remainder                              AS balanceAmount,
+               t2.supplier_names                                  AS supplierName,
+               t1.customerShortName                               AS customerShortName,
+               t1.contract_codes                                  AS contractCode,
+               t2.subject_name                                    AS subjectName,
+               t2.calculate_item_type1                            AS calculateItemType1,
+               t2.calculate_item_type2                            AS calculateItemType2,
+               t2.calculate_item_name1                            AS calculateItemName1,
+               t2.calculate_item_name2                            AS calculateItemName2,
+               t2.opposite_subject_code                           AS oppositeSubjectCode,
+               t2.opposite_subject_name                           AS oppositeSubjectName,
+               t2.calculate_item_str                              AS calculateItemStr,
+               am.jd_subject_code                                 AS bankSubjectCode,
+               am.jd_subject_name                                 AS bankSubjectName,
+               t2.subject_calculate_item_str                      AS subjectCalculateItemStr,
+               cc.voucher_no                                      AS voucherNo,
+               t1.belongType                                      AS belongType
         FROM account_running_water arw
                  JOIN account_management am ON arw.account_management_id = am.id
                  LEFT JOIN cost_control cc ON arw.cost_control_id = cc.id
                  LEFT JOIN (SELECT cod.cost_control_id,
-                                   GROUP_CONCAT(DISTINCT sui.`name` )                        AS supplier_names,
-                                   GROUP_CONCAT(asj.jd_subject_code)                         AS opposite_subject_code,
-                                   GROUP_CONCAT(asj.jd_subject_name)                         AS opposite_subject_name,
-                                   GROUP_CONCAT(asj.subjects_name)                           AS subject_name,
-                                   GROUP_CONCAT(cod.calculate_item_type1)                    AS calculate_item_type1,
-                                   GROUP_CONCAT(cod.calculate_item_name1)                    AS calculate_item_name1,
-                                   GROUP_CONCAT(cod.calculate_item_type2)                    AS calculate_item_type2,
-                                   GROUP_CONCAT(cod.calculate_item_name2)                    AS calculate_item_name2,
-                                   GROUP_CONCAT(cod.calculate_item_str)                      AS calculate_item_str,
-                                   GROUP_CONCAT(asj.subjects_name, CONCAT(' - ', cod.calculate_item_name1),
-                                                IF(cod.calculate_item_name2 is null, '',
-                                                   CONCAT(' - ', cod.calculate_item_name2))) AS subject_calculate_item_str
+                                   GROUP_CONCAT(DISTINCT sui.`name` )                                                      AS supplier_names,
+                                   GROUP_CONCAT(DISTINCT asj.jd_subject_code)                                              AS opposite_subject_code,
+                                   GROUP_CONCAT(DISTINCT asj.jd_subject_name)                                              AS opposite_subject_name,
+                                   GROUP_CONCAT(DISTINCT asj.subjects_name)                                                AS subject_name,
+                                   GROUP_CONCAT(DISTINCT cci_1.calculate_item_type1)                                       AS calculate_item_type1,
+                                   GROUP_CONCAT(DISTINCT cci_1.calculate_item_name1)                                       AS calculate_item_name1,
+                                   GROUP_CONCAT(DISTINCT cci_1.calculate_item_type2)                                       AS calculate_item_type2,
+                                   GROUP_CONCAT(DISTINCT cci_1.calculate_item_name2)                                       AS calculate_item_name2,
+                                   GROUP_CONCAT(DISTINCT cci_1.calculate_item_str)                                         AS calculate_item_str,
+                                   GROUP_CONCAT(DISTINCT asj.subjects_name, CONCAT(' - ', cci_1.calculate_item_name1),
+                                                                            IF(cci_1.calculate_item_name2 is null, '',
+                                                                               CONCAT(' - ', cci_1.calculate_item_name2))) AS subject_calculate_item_str,
+                                   GROUP_CONCAT(cod.remark)                                                                AS remarks
                             FROM cost_control_detail cod
                                      LEFT JOIN supplier_info sui ON cod.supplier_id = sui.id
                                      LEFT JOIN account_subjects asj ON cod.account_subjects_id = asj.id
+                                     LEFT JOIN (SELECT cci.cost_control_detail_id,
+                                                       GROUP_CONCAT(CONCAT_WS('---', cci.type,
+                                                                              IFNULL(civ.calculate_item_code, ''),
+                                                                              civ.calculate_item_name) SEPARATOR '||')       AS calculate_item_str,
+                                                       GROUP_CONCAT(CASE WHEN cci.sort = 1 THEN cci.business_id END)         AS calculate_item_id1,
+                                                       GROUP_CONCAT(CASE WHEN cci.sort = 1 THEN cci.type END)                AS calculate_item_type1,
+                                                       GROUP_CONCAT(CASE WHEN cci.sort = 1 THEN civ.calculate_item_name END) AS calculate_item_name1,
+                                                       GROUP_CONCAT(CASE WHEN cci.sort = 2 THEN cci.business_id END)         AS calculate_item_id2,
+                                                       GROUP_CONCAT(CASE WHEN cci.sort = 2 THEN cci.type END)                AS calculate_item_type2,
+                                                       GROUP_CONCAT(CASE WHEN cci.sort = 2 THEN civ.calculate_item_name END) AS calculate_item_name2
+                                                FROM cost_calculate_item cci
+                                                         LEFT JOIN calculate_item_view civ
+                                                                   ON cci.business_id = civ.calculate_item_id
+                                                                       AND
+                                                                      FIND_IN_SET(cci.type, civ.calculate_item_type)
+                                                GROUP BY cci.cost_control_detail_id) cci_1
+                                               on cci_1.cost_control_detail_id = cod.id
                             GROUP BY cod.cost_control_id) t2 ON t2.cost_control_id = cc.id
                  LEFT JOIN (SELECT cl.business_id,
                                    cl.amount,
@@ -109,7 +128,9 @@
                                    cu.short_name                                                      AS customerShortName,
                                    GROUP_CONCAT(c.remark)                                             AS contract_remarks,
                                    GROUP_CONCAT(IF(c.belong_type = 1, "归属工厂",
-                                                   IF(c.belong_type = 2, "归属业务", c.belong_type))) AS belongType
+                                                   IF(c.belong_type = 2, "归属业务", c.belong_type))) AS belongType,
+                                   GROUP_CONCAT(cu.`name`, ' 订单号:', c.`code`, ' 订单金额:', c.currency, ' ',
+                                                c.amount)                                             AS remarks
                             FROM claim cl
                                      JOIN claim_contract clo ON clo.claim_id = cl.id
                                      LEFT JOIN contract c ON clo.contract_id = c.id

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott