he2802 преди 2 години
родител
ревизия
89352a5726

+ 1 - 1
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/financial/TopCostTpController.java

@@ -37,7 +37,7 @@ import io.swagger.annotations.ApiOperation;
 @Api(value = "成本模板控制器", tags = {"成本模板管理"})
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
-@RequestMapping("/system/tp")
+@RequestMapping("/financial/tp")
 public class TopCostTpController extends BaseController {
 
     private final ITopCostTpService iTopCostTpService;

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/financial/bo/TopCostTpAddBo.java

@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -30,4 +30,6 @@ public class TopCostTpAddBo {
     /** 修改时间 */
     @ApiModelProperty("修改时间")
     private Long updateTime;
+    @ApiModelProperty("子项数组")
+    private List<TopCostTpItemAddBo> itemList;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/financial/bo/TopCostTpEditBo.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -33,4 +34,6 @@ public class TopCostTpEditBo {
     @ApiModelProperty("修改时间")
     private Long updateTime;
 
+    @ApiModelProperty("子项数组")
+    private List<TopCostTpItemAddBo> itemList;
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/financial/service/impl/TopCostTpItemServiceImpl.java

@@ -1,7 +1,9 @@
 package com.zhongzheng.modules.financial.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.financial.bo.TopCostTpItemAddBo;
 import com.zhongzheng.modules.financial.bo.TopCostTpItemEditBo;
@@ -71,6 +73,9 @@ public class TopCostTpItemServiceImpl extends ServiceImpl<TopCostTpItemMapper, T
 
     @Override
     public Boolean insertByAddBo(TopCostTpItemAddBo bo) {
+        if(Validator.isEmpty(bo.getTpId())||Validator.isEmpty(bo.getItemName())){
+            throw new CustomException("参数缺少");
+        }
         TopCostTpItem add = BeanUtil.toBean(bo, TopCostTpItem.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());

+ 51 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/financial/service/impl/TopCostTpServiceImpl.java

@@ -1,20 +1,29 @@
 package com.zhongzheng.modules.financial.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.financial.bo.TopCostTpAddBo;
-import com.zhongzheng.modules.financial.bo.TopCostTpEditBo;
-import com.zhongzheng.modules.financial.bo.TopCostTpQueryBo;
+import com.zhongzheng.modules.course.bo.CourseChapterBusinessAddBo;
+import com.zhongzheng.modules.course.domain.CourseChapterBusiness;
+import com.zhongzheng.modules.financial.bo.*;
 import com.zhongzheng.modules.financial.domain.TopCostTp;
+import com.zhongzheng.modules.financial.domain.TopCostTpItem;
 import com.zhongzheng.modules.financial.mapper.TopCostTpMapper;
+import com.zhongzheng.modules.financial.service.ITopCostTpItemService;
 import com.zhongzheng.modules.financial.service.ITopCostTpService;
+import com.zhongzheng.modules.financial.vo.TopCostTpItemVo;
 import com.zhongzheng.modules.financial.vo.TopCostTpVo;
+import com.zhongzheng.modules.sdk.domain.TopNuoMplatformLog;
+import com.zhongzheng.modules.sdk.service.NuonuoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -30,10 +39,18 @@ import java.util.stream.Collectors;
 @Service
 public class TopCostTpServiceImpl extends ServiceImpl<TopCostTpMapper, TopCostTp> implements ITopCostTpService {
 
+    @Autowired
+    private ITopCostTpItemService iTopCostTpItemService;
+
     @Override
     public TopCostTpVo queryById(Long tpId){
         TopCostTp db = this.baseMapper.selectById(tpId);
-        return BeanUtil.toBean(db, TopCostTpVo.class);
+        TopCostTpItemQueryBo itemQueryBo = new TopCostTpItemQueryBo();
+        itemQueryBo.setTpId(db.getTpId());
+        List<TopCostTpItemVo> itemList = iTopCostTpItemService.queryList(itemQueryBo);
+        TopCostTpVo vo = BeanUtil.toBean(db, TopCostTpVo.class);
+        vo.setItemList(itemList);
+        return vo;
     }
 
     @Override
@@ -41,7 +58,14 @@ public class TopCostTpServiceImpl extends ServiceImpl<TopCostTpMapper, TopCostTp
         LambdaQueryWrapper<TopCostTp> lqw = Wrappers.lambdaQuery();
         lqw.like(StrUtil.isNotBlank(bo.getTpName()), TopCostTp::getTpName, bo.getTpName());
         lqw.eq(bo.getStatus() != null, TopCostTp::getStatus, bo.getStatus());
-        return entity2Vo(this.list(lqw));
+        List<TopCostTpVo> list = entity2Vo(this.list(lqw));
+        for(TopCostTpVo vo:list){
+            TopCostTpItemQueryBo itemQueryBo = new TopCostTpItemQueryBo();
+            itemQueryBo.setTpId(vo.getTpId());
+            List<TopCostTpItemVo> itemList = iTopCostTpItemService.queryList(itemQueryBo);
+            vo.setItemList(itemList);
+        }
+        return list;
     }
 
     /**
@@ -65,19 +89,40 @@ public class TopCostTpServiceImpl extends ServiceImpl<TopCostTpMapper, TopCostTp
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean insertByAddBo(TopCostTpAddBo bo) {
+        if(Validator.isEmpty(bo.getTpName())){
+            throw new CustomException("参数缺少");
+        }
+        TopCostTp mplatformLog = getOne(new LambdaQueryWrapper<TopCostTp>()
+                .eq(TopCostTp::getTpName,bo.getTpName()).ne(TopCostTp::getStatus,-1).last("limit 1"));
+        if(Validator.isNotEmpty(mplatformLog)){
+            throw new CustomException("该模板名称已存在");
+        }
         TopCostTp add = BeanUtil.toBean(bo, TopCostTp.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
+        if(this.save(add)){
+            for(TopCostTpItemAddBo itemBo : bo.getItemList()){
+                itemBo.setTpId(add.getTpId());
+                iTopCostTpItemService.insertByAddBo(itemBo);
+            }
+        }
+        return true;
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByEditBo(TopCostTpEditBo bo) {
         TopCostTp update = BeanUtil.toBean(bo, TopCostTp.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
+        iTopCostTpItemService.remove(new LambdaQueryWrapper<TopCostTpItem>().eq(TopCostTpItem::getTpId, bo.getTpId()));
+        for(TopCostTpItemAddBo itemBo : bo.getItemList()){
+            itemBo.setTpId(bo.getTpId());
+            iTopCostTpItemService.insertByAddBo(itemBo);
+        }
         return this.updateById(update);
     }
 

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/financial/vo/TopCostTpVo.java

@@ -2,11 +2,12 @@ package com.zhongzheng.modules.financial.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.financial.bo.TopCostTpItemAddBo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -32,4 +33,6 @@ public class TopCostTpVo {
 	@Excel(name = "0 禁用 1启用")
 	@ApiModelProperty("0 禁用 1启用")
 	private Integer status;
+	@ApiModelProperty("子项数组")
+	private List<TopCostTpItemVo> itemList;
 }