Selaa lähdekoodia

加工计费标准

24282 1 vuosi sitten
vanhempi
commit
3ce80ca72c

+ 14 - 2
sd-business/src/main/java/com/sd/business/controller/price/PriceBillingStandardController.java

@@ -4,14 +4,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.sd.business.entity.price.dto.PriceBillingStandardDto;
 import com.sd.business.entity.price.dto.PriceBillingStandardSelectDto;
+import com.sd.business.entity.price.po.PriceBillingStandard;
 import com.sd.business.entity.price.vo.PriceBillingStandardVo;
 import com.sd.business.service.price.PriceBillingStandardService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -29,6 +33,14 @@ public class PriceBillingStandardController {
     private PriceBillingStandardService priceBillingStandardService;
 
     /**
+     * 加工计费标准列表
+     */
+    @PostMapping("/list")
+    public List<PriceBillingStandard> list() {
+        return priceBillingStandardService.list();
+    }
+
+    /**
      * 加工计费标准分页
      */
     @PostMapping("/page")
@@ -48,7 +60,7 @@ public class PriceBillingStandardController {
      * 加工计费标准新增
      */
     @PostMapping("/add")
-    public void add(@RequestBody PriceBillingStandardDto dto) {
+    public void add(@Validated @RequestBody PriceBillingStandardDto dto) {
         priceBillingStandardService.add(dto);
     }
 
@@ -56,7 +68,7 @@ public class PriceBillingStandardController {
      * 加工计费标准编辑
      */
     @PostMapping("/edit")
-    public void edit(@RequestBody PriceBillingStandardDto dto) {
+    public void edit(@Validated @RequestBody PriceBillingStandardDto dto) {
         priceBillingStandardService.edit(dto);
     }
 

+ 0 - 20
sd-business/src/main/java/com/sd/business/controller/price/PriceBillingStandardDetailController.java

@@ -1,20 +0,0 @@
-package com.sd.business.controller.price;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-/**
- * <p>
- * 加工计费标准明细 前端控制器
- * </p>
- *
- * @author
- * @since 2023-12-11
- */
-@RestController
-@RequestMapping("/priceBillingStandardDetail")
-public class PriceBillingStandardDetailController {
-
-
-}

+ 12 - 0
sd-business/src/main/java/com/sd/business/entity/price/dto/PriceBillingStandardDto.java

@@ -1,9 +1,14 @@
 package com.sd.business.entity.price.dto;
 
 import com.sd.business.entity.price.po.PriceBillingStandard;
+import com.sd.business.entity.price.po.PriceBillingStandardDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
 /**
  * 加工计费标准新增编辑入参实体
  *
@@ -14,4 +19,11 @@ import lombok.Setter;
 @Setter
 public class PriceBillingStandardDto extends PriceBillingStandard {
 
+    /**
+     * 明细
+     */
+    @Valid
+    @NotNull(message = "加工计费标准明细不能为空")
+    private List<PriceBillingStandardDetail> priceBillingStandardDetailList;
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/price/dto/PriceBillingStandardSelectDto.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class PriceBillingStandardSelectDto extends BaseSelectDto {
 
+    /**
+     * 加工计费标准名称
+     */
+    private String name;
+
 }

+ 3 - 0
sd-business/src/main/java/com/sd/business/entity/price/po/PriceBillingStandard.java

@@ -5,6 +5,8 @@ import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * <p>
  * 加工计费标准
@@ -21,6 +23,7 @@ public class PriceBillingStandard extends BasePo {
     /**
      * 加工计费标准名称
      */
+    @NotBlank(message = "加工计费标准名称不能为空")
     private String name;
 
     /**

+ 8 - 0
sd-business/src/main/java/com/sd/business/entity/price/vo/PriceBillingStandardVo.java

@@ -1,9 +1,12 @@
 package com.sd.business.entity.price.vo;
 
 import com.sd.business.entity.price.po.PriceBillingStandard;
+import com.sd.business.entity.price.po.PriceBillingStandardDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 加工计费标准列表查询返回值实体
  *
@@ -14,4 +17,9 @@ import lombok.Setter;
 @Setter
 public class PriceBillingStandardVo extends PriceBillingStandard {
 
+    /**
+     * 明细
+     */
+    List<PriceBillingStandardDetail> priceBillingStandardDetailList;
+
 }

+ 28 - 1
sd-business/src/main/java/com/sd/business/service/price/impl/PriceBillingStandardServiceImpl.java

@@ -5,12 +5,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sd.business.entity.price.dto.PriceBillingStandardDto;
 import com.sd.business.entity.price.dto.PriceBillingStandardSelectDto;
 import com.sd.business.entity.price.po.PriceBillingStandard;
+import com.sd.business.entity.price.po.PriceBillingStandardDetail;
 import com.sd.business.entity.price.vo.PriceBillingStandardVo;
 import com.sd.business.mapper.price.PriceBillingStandardMapper;
+import com.sd.business.service.price.PriceBillingStandardDetailService;
 import com.sd.business.service.price.PriceBillingStandardService;
 import com.sd.framework.util.Assert;
 import com.sd.framework.util.sql.Sql;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 
 /**
@@ -24,6 +30,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class PriceBillingStandardServiceImpl extends ServiceImpl<PriceBillingStandardMapper, PriceBillingStandard> implements PriceBillingStandardService {
 
+    @Autowired
+    private PriceBillingStandardDetailService priceBillingStandardDetailService;
+
     @Override
     public Page<PriceBillingStandardVo> getPage(PriceBillingStandardSelectDto dto) {
 
@@ -31,6 +40,7 @@ public class PriceBillingStandardServiceImpl extends ServiceImpl<PriceBillingSta
                 .selectAll(PriceBillingStandard.class)
                 .from(PriceBillingStandard.class)
                 .orderByDesc(PriceBillingStandard::getId)
+                .eq(PriceBillingStandard::getName, dto.getName())
                 .page(dto);
 
         return page;
@@ -45,24 +55,41 @@ public class PriceBillingStandardServiceImpl extends ServiceImpl<PriceBillingSta
                 .eq(PriceBillingStandard::getId, id)
                 .one();
 
-        Assert.notNull(vo, "未知数据");
+        Assert.notNull(vo, "未知加工计费标准");
 
+        List<PriceBillingStandardDetail> priceBillingStandardDetailList = priceBillingStandardDetailService.list(q -> q
+                .eq(PriceBillingStandardDetail::getPriceBillingStandardId, id)
+                .orderByAsc(PriceBillingStandardDetail::getSort)
+        );
+
+        vo.setPriceBillingStandardDetailList(priceBillingStandardDetailList);
         return vo;
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void add(PriceBillingStandardDto dto) {
         save(dto);
+        List<PriceBillingStandardDetail> list = dto.getPriceBillingStandardDetailList();
+        list.forEach(item -> item.setPriceBillingStandardId(dto.getId()));
+        priceBillingStandardDetailService.saveBatch(list);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void edit(PriceBillingStandardDto dto) {
         updateById(dto);
+
+        List<PriceBillingStandardDetail> list = dto.getPriceBillingStandardDetailList();
+        list.forEach(item -> item.setPriceBillingStandardId(dto.getId()));
+        priceBillingStandardDetailService.editLinked(list, PriceBillingStandardDetail::getPriceBillingStandardId, dto.getId());
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(Long id) {
         removeById(id);
+        priceBillingStandardDetailService.remove(q -> q.eq(PriceBillingStandardDetail::getPriceBillingStandardId, id));
     }
 
 }