2
0
hr 4 лет назад
Родитель
Сommit
5370ebfaaf

+ 17 - 0
src/main/java/com/imed/costaccount/model/ProductDTO.java

@@ -0,0 +1,17 @@
+package com.imed.costaccount.model;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel
+public class ProductDTO {
+
+    @NotNull(message = "成本代码不能为空")
+    private String productCode;
+
+    @NotNull(message = "成本名称不能为空")
+    private String productName;
+}

+ 8 - 0
src/main/java/com/imed/costaccount/service/ProductService.java

@@ -3,6 +3,7 @@ package com.imed.costaccount.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.Product;
+import com.imed.costaccount.model.ProductDTO;
 import com.imed.costaccount.model.User;
 
 /**
@@ -23,5 +24,12 @@ public interface ProductService extends IService<Product> {
      * @return
      */
     PageUtils selectList(Integer page, Integer pageSize, String name, User user);
+
+    /**
+     * 保存成本项目
+     * @param productDTO
+     * @param user
+     */
+    void saveProduct(ProductDTO productDTO, User user);
 }
 

+ 9 - 1
src/main/java/com/imed/costaccount/service/impl/AccountingServiceImpl.java

@@ -148,7 +148,15 @@ public class AccountingServiceImpl extends ServiceImpl<AccountingMapper, Account
             return Collections.emptyList();
         }
         // 所有的
-        List<SelectAccountingVO> all = list.stream().map(i -> BeanUtil.convertObj(i, SelectAccountingVO.class)).collect(Collectors.toList());
+        List<SelectAccountingVO> all = list.stream().map(i ->{
+            SelectAccountingVO vo = new SelectAccountingVO();
+            vo.setValue(i.getId());
+            vo.setLabel(i.getAccountingName());
+            vo.setChildren(null);
+            vo.setParentId(i.getParentId());
+            vo.setAllParentIds(i.getAllParentIds());
+            return vo;
+        }).collect(Collectors.toList());
         // 顶层的
         List<SelectAccountingVO> parents = all.stream().filter(i -> i.getParentId() == 0).collect(Collectors.toList());
         List<SelectAccountingVO> accountVOS = new ArrayList<>();

+ 29 - 1
src/main/java/com/imed/costaccount/service/impl/ProductServiceImpl.java

@@ -1,13 +1,15 @@
 package com.imed.costaccount.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.model.ProductDTO;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.vo.ProductVO;
 import com.imed.costaccount.utils.BeanUtil;
-import org.apache.commons.beanutils.BeanUtilsBean;
+import io.swagger.models.auth.In;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,6 +19,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.imed.costaccount.mapper.ProductMapper;
 import com.imed.costaccount.model.Product;
 import com.imed.costaccount.service.ProductService;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 
 @Service("productService")
@@ -46,4 +50,28 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
         pageUtils.setList(list);
         return pageUtils;
     }
+
+    /**
+     * 保存成本项目
+     *
+     * @param productDTO
+     * @param user
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void saveProduct(ProductDTO productDTO, User user) {
+        // 校验code
+
+    }
+
+    private void checkProductCode(Integer code, Integer hospId) {
+        List<Product> list = this.list(
+                new LambdaQueryWrapper<Product>()
+                        .eq(Product::getProductCode, code)
+                        .eq(Product::getHospId, hospId)
+        );
+        if (CollUtil.isNotEmpty(list)) {
+            
+        }
+    }
 }

+ 7 - 16
src/main/java/com/imed/costaccount/web/ProductController.java

@@ -3,6 +3,7 @@ package com.imed.costaccount.web;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.Product;
+import com.imed.costaccount.model.ProductDTO;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.service.ProductService;
 import io.swagger.annotations.Api;
@@ -11,6 +12,7 @@ import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 import java.util.Arrays;
 
 
@@ -44,22 +46,11 @@ public class ProductController {
         return Result.ok(pageUtils);
     }
 
-
-    /**
-     * 信息
-     */
-    @RequestMapping("/info/{id}")
-    public Result info(@PathVariable("id") Integer id){
-		Product product = productService.getById(id);
-        return Result.ok(product);
-    }
-
-    /**
-     * 保存
-     */
-    @RequestMapping("/save")
-    public Result save(@RequestBody Product product){
-		productService.save(product);
+    @ApiOperation("新增成本项目")
+    @PostMapping("/save")
+    public Result save(@RequestBody @Valid ProductDTO productDTO){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+		productService.saveProduct(productDTO,user);
         return Result.ok();
     }