yzc 1 рік тому
батько
коміт
4643a0f1f0

+ 20 - 0
hx-account/src/main/java/com/fjhx/account/controller/calculate/CalculateItemController.java

@@ -0,0 +1,20 @@
+package com.fjhx.account.controller.calculate;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 核算项目 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-03-25
+ */
+@RestController
+@RequestMapping("/calculateItem")
+public class CalculateItemController {
+
+
+}

+ 17 - 0
hx-account/src/main/java/com/fjhx/account/entity/calculate/dto/CalculateItemDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.account.entity.calculate.dto;
+
+import com.fjhx.account.entity.calculate.po.CalculateItem;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 核算项目新增编辑入参实体
+ *
+ * @author
+ * @since 2024-03-25
+ */
+@Getter
+@Setter
+public class CalculateItemDto extends CalculateItem {
+
+}

+ 17 - 0
hx-account/src/main/java/com/fjhx/account/entity/calculate/dto/CalculateItemSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.account.entity.calculate.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 核算项目列表查询入参实体
+ *
+ * @author
+ * @since 2024-03-25
+ */
+@Getter
+@Setter
+public class CalculateItemSelectDto extends BaseSelectDto {
+
+}

+ 36 - 0
hx-account/src/main/java/com/fjhx/account/entity/calculate/po/CalculateItem.java

@@ -0,0 +1,36 @@
+package com.fjhx.account.entity.calculate.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 核算项目
+ * </p>
+ *
+ * @author
+ * @since 2024-03-25
+ */
+@Getter
+@Setter
+@TableName("calculate_item")
+public class CalculateItem extends BasePo {
+
+    /**
+     * 费控明细id
+     */
+    private Long costControlDetailId;
+
+    /**
+     * 核算类型 字典(accounting_subjects)
+     */
+    private String type;
+
+    /**
+     * 业务id
+     */
+    private Long businessId;
+
+}

+ 17 - 0
hx-account/src/main/java/com/fjhx/account/entity/calculate/vo/CalculateItemVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.account.entity.calculate.vo;
+
+import com.fjhx.account.entity.calculate.po.CalculateItem;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 核算项目列表查询返回值实体
+ *
+ * @author
+ * @since 2024-03-25
+ */
+@Getter
+@Setter
+public class CalculateItemVo extends CalculateItem {
+
+}

+ 6 - 0
hx-account/src/main/java/com/fjhx/account/entity/cost/dto/CostControlDetailDto.java

@@ -1,5 +1,6 @@
 package com.fjhx.account.entity.cost.dto;
 
+import com.fjhx.account.entity.calculate.po.CalculateItem;
 import com.fjhx.account.entity.cost.po.CostControlDetail;
 import com.fjhx.file.entity.ObsFile;
 import lombok.Getter;
@@ -25,4 +26,9 @@ public class CostControlDetailDto extends CostControlDetail {
      * 发票附件 类型10
      */
     private List<ObsFile> invoiceFileList;
+
+    /**
+     * 核算项目列表
+     */
+    private List<CalculateItem> calculateItemList;
 }

+ 6 - 0
hx-account/src/main/java/com/fjhx/account/entity/cost/vo/CostControlDetailVo.java

@@ -1,5 +1,6 @@
 package com.fjhx.account.entity.cost.vo;
 
+import com.fjhx.account.entity.calculate.po.CalculateItem;
 import com.fjhx.account.entity.cost.po.CostControlDetail;
 import com.fjhx.common.controller.Label;
 import com.fjhx.file.entity.ObsFile;
@@ -74,4 +75,9 @@ public class CostControlDetailVo extends CostControlDetail {
      */
     @Label("发票附件")
     private List<ObsFile> invoiceFileList;
+
+    /**
+     * 核算项目列表
+     */
+    private List<CalculateItem> calculateItemList;
 }

+ 17 - 0
hx-account/src/main/java/com/fjhx/account/mapper/calculate/CalculateItemMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.account.mapper.calculate;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.account.entity.calculate.po.CalculateItem;
+
+
+/**
+ * <p>
+ * 核算项目 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-03-25
+ */
+public interface CalculateItemMapper extends BaseMapper<CalculateItem> {
+
+}

+ 17 - 0
hx-account/src/main/java/com/fjhx/account/service/calculate/CalculateItemService.java

@@ -0,0 +1,17 @@
+package com.fjhx.account.service.calculate;
+
+import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 核算项目 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-03-25
+ */
+public interface CalculateItemService extends BaseService<CalculateItem> {
+
+}

+ 21 - 0
hx-account/src/main/java/com/fjhx/account/service/calculate/impl/CalculateItemServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.account.service.calculate.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.fjhx.account.mapper.calculate.CalculateItemMapper;
+import com.fjhx.account.service.calculate.CalculateItemService;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 核算项目 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-03-25
+ */
+@Service
+public class CalculateItemServiceImpl extends ServiceImpl<CalculateItemMapper, CalculateItem> implements CalculateItemService {
+
+}

+ 20 - 0
hx-account/src/main/java/com/fjhx/account/service/cost/impl/CostControlServiceImpl.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.account.entity.calculate.po.CalculateItem;
 import com.fjhx.account.entity.cost.dto.CostControlDetailDto;
 import com.fjhx.account.entity.cost.dto.CostControlDto;
 import com.fjhx.account.entity.cost.dto.CostControlSelectDto;
@@ -14,6 +15,7 @@ import com.fjhx.account.entity.cost.po.CostControlDetail;
 import com.fjhx.account.entity.cost.vo.CostControlDetailVo;
 import com.fjhx.account.entity.cost.vo.CostControlVo;
 import com.fjhx.account.mapper.cost.CostControlMapper;
+import com.fjhx.account.service.calculate.CalculateItemService;
 import com.fjhx.account.service.cost.CostControlDetailService;
 import com.fjhx.account.service.cost.CostControlService;
 import com.fjhx.account.service.payment.PaymentTypeService;
@@ -64,6 +66,8 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
     private PaymentTypeService paymentTypeService;
     @Autowired
     private StockJournalDetailsService stockJournalDetailsService;
+    @Autowired
+    private CalculateItemService calculateItemService;
 
     @Override
     public Page<CostControlVo> getPage(CostControlSelectDto dto) {
@@ -102,8 +106,19 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
 
         //赋值明细列表
         List<CostControlDetailVo> costControlDetailVos = costControlDetailService.getList(IWrapper.getWrapper().eq(CostControlDetail::getCostControlId, result.getId()));
+        if (costControlDetailVos == null) {
+            costControlDetailVos = new ArrayList<>();
+        }
+        //赋值核算项目
+        List<Long> ccdIds = costControlDetailVos.stream().map(CostControlDetail::getId).collect(Collectors.toList());
+        Map<Long, List<CalculateItem>> ciMap = calculateItemService.mapKGroup(CalculateItem::getCostControlDetailId, q -> q.in(CalculateItem::getCostControlDetailId, ccdIds));
+        for (CostControlDetailVo costControlDetailVo : costControlDetailVos) {
+            costControlDetailVo.setCalculateItemList(ciMap.getOrDefault(costControlDetailVo.getId(), new ArrayList<>()));
+        }
+
         result.setCostControlDetailList(costControlDetailVos);
 
+
         return result;
     }
 
@@ -162,6 +177,11 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
             //保存发票附件
             ObsFileUtil.editFile(costControlDetailDto.getInvoiceFileList(), costControlDetailDto.getId(), 10);
 
+            //保存核算项目
+            List<CalculateItem> calculateItemList = costControlDetailDto.getCalculateItemList();
+            calculateItemList.forEach(item -> item.setCostControlDetailId(costControlDetailDto.getId()));
+            calculateItemService.editLinked(calculateItemList, CalculateItem::getCostControlDetailId, costControlDetailDto.getId());
+
             //标记流水为结算中
             String stockJournalDetailsIds = costControlDetailDto.getStockJournalDetailsIds();
             if (ObjectUtil.isNotEmpty(stockJournalDetailsIds)) {

+ 4 - 0
hx-account/src/main/resources/mapper/calculate/CalculateItemMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.account.mapper.calculate.CalculateItemMapper">
+</mapper>