瀏覽代碼

07 28 07 add product codes

hr 4 年之前
父節點
當前提交
cc0d3ef678

+ 16 - 0
src/main/java/com/imed/costaccount/mapper/ProductMapper.java

@@ -0,0 +1,16 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.Product;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 成本管理表
+ * 
+ * @author huangrui
+ * @date 2021-07-28 18:44:20
+ */
+@Mapper
+public interface ProductMapper extends BaseMapper<Product> {
+	
+}

+ 57 - 0
src/main/java/com/imed/costaccount/model/Product.java

@@ -0,0 +1,57 @@
+package com.imed.costaccount.model;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * 成本管理表
+ * 
+ * @author huangrui
+ * @email 
+ * @date 2021-07-28 18:44:20
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_product")
+public class Product implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 成本/收入项目名称
+	 */
+	private String productName;
+	/**
+	 * 成本/收入项目代码
+	 */
+	private String productCode;
+	/**
+	 * 医院Id
+	 */
+	private Integer hospId;
+	/**
+	 * 创建时间13位时间戳
+	 */
+	private Long createTime;
+	/**
+	 * 删除时间,如果存在表示已删除13位时间戳
+	 */
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
+	private Long deleteTime;
+
+}

+ 13 - 0
src/main/java/com/imed/costaccount/model/vo/ProductVO.java

@@ -0,0 +1,13 @@
+package com.imed.costaccount.model.vo;
+
+import lombok.Data;
+
+@Data
+public class ProductVO {
+    private Integer id;
+
+    private String productCode;
+
+    private String productName;
+
+}

+ 4 - 3
src/main/java/com/imed/costaccount/model/vo/SelectAccountingVO.java

@@ -9,14 +9,15 @@ import java.util.List;
 @Data
 public class SelectAccountingVO {
 
-    private Integer id;
+    private Integer value;
 
     @JsonIgnore
     private Integer parentId;
 
+    @JsonIgnore
     private String allParentIds;
 
-    private String accountingName;
+    private String label;
 
-    private List<SelectAccountingVO> child;
+    private List<SelectAccountingVO> children;
 }

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

@@ -0,0 +1,27 @@
+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.User;
+
+/**
+ * 成本管理表
+ *
+ * @author huangrui
+ * @email 
+ * @date 2021-07-28 18:44:20
+ */
+public interface ProductService extends IService<Product> {
+
+    /**
+     * 分页查询
+     * @param page
+     * @param pageSize
+     * @param name
+     * @param user
+     * @return
+     */
+    PageUtils selectList(Integer page, Integer pageSize, String name, User user);
+}
+

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

@@ -163,13 +163,13 @@ public class AccountingServiceImpl extends ServiceImpl<AccountingMapper, Account
         List<SelectAccountingVO> accountVOS = new ArrayList<>();
         for (SelectAccountingVO account : all) {
             // 如果是父子关系
-            if (parent.getId().equals(account.getParentId())) {
-                List<SelectAccountingVO> child = parent.getChild();
+            if (parent.getValue().equals(account.getParentId())) {
+                List<SelectAccountingVO> child = parent.getChildren();
                 if (CollUtil.isEmpty(child)) {
                     child = new ArrayList<>();
                 }
                 child.add(account);
-                parent.setChild(child);
+                parent.setChildren(child);
                 // 处理子节点
                 this.getSelectAccountTree(account, all);
 

+ 49 - 0
src/main/java/com/imed/costaccount/service/impl/ProductServiceImpl.java

@@ -0,0 +1,49 @@
+package com.imed.costaccount.service.impl;
+
+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.User;
+import com.imed.costaccount.model.vo.ProductVO;
+import com.imed.costaccount.utils.BeanUtil;
+import org.apache.commons.beanutils.BeanUtilsBean;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+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;
+
+
+@Service("productService")
+public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
+
+
+    /**
+     * 分页查询
+     *
+     * @param page
+     * @param pageSize
+     * @param name
+     * @param user
+     * @return
+     */
+    @Override
+    public PageUtils selectList(Integer page, Integer pageSize, String name, User user) {
+        Page<Product> productPage = new Page<>(page, pageSize);
+        Page<Product> pages = this.page(productPage,
+                new LambdaQueryWrapper<Product>()
+                        .eq(Product::getHospId, user.getHospId())
+                        .eq(StrUtil.isNotBlank(name), Product::getProductName, name)
+        );
+        PageUtils pageUtils = new PageUtils(pages);
+        List<Product> records = pages.getRecords();
+        List<ProductVO> list = BeanUtil.convertList(records, ProductVO.class);
+        pageUtils.setList(list);
+        return pageUtils;
+    }
+}

+ 84 - 0
src/main/java/com/imed/costaccount/web/ProductController.java

@@ -0,0 +1,84 @@
+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.User;
+import com.imed.costaccount.service.ProductService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+
+
+/**
+ * 成本管理表
+ *
+ * @author huangrui
+ * @date 2021-07-28 18:44:20
+ */
+@Api(tags = "收入及成本项目管理")
+@RestController
+@RequestMapping("/costAccount/product")
+public class ProductController {
+
+    private final ProductService productService;
+
+    public ProductController(ProductService productService) {
+        this.productService = productService;
+    }
+
+    /**
+     * 分页查询列表
+     */
+    @ApiOperation("成本项目列表")
+    @GetMapping("/list")
+    public Result list(@RequestParam(defaultValue = "1", value = "page") Integer page,
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                       @RequestParam(value = "name", required = false) String name){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        PageUtils pageUtils = productService.selectList(page, pageSize,name, user);
+        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);
+        return Result.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public Result update(@RequestBody Product product){
+		productService.updateById(product);
+        return Result.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public Result delete(@RequestBody Integer[] ids){
+		productService.removeByIds(Arrays.asList(ids));
+        return Result.ok();
+    }
+
+}

+ 1 - 1
src/main/resources/banner.txt

@@ -19,7 +19,7 @@ ${AnsiColor.BRIGHT_YELLOW}
 //      ========`-.____`-.___\_____/___.-`____.-'========         //
 //                           `=---='                              //
 //      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
-//            佛祖保佑       永不宕机     永无BUG                  //
+//            佛祖保佑       永不宕机     永无BUG                     //
 ////////////////////////////////////////////////////////////////////
 ${AnsiColor.BRIGHT_RED}
 Application Version: ${application.version}${application.formatted-version}

+ 17 - 0
src/main/resources/mapper/ProductMapper.xml

@@ -0,0 +1,17 @@
+<?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.imed.costaccount.mapper.ProductMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.imed.costaccount.model.Product" id="productMap">
+        <result property="id" column="id"/>
+        <result property="productName" column="product_name"/>
+        <result property="productCode" column="product_code"/>
+        <result property="hospId" column="hosp_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="deleteTime" column="delete_time"/>
+    </resultMap>
+
+
+</mapper>