Эх сурвалжийг харах

feat:新增修改客户对账状态接口
参数校验,权限校验

yangyi 5 сар өмнө
parent
commit
06daf99420

+ 0 - 1
ruoyi-modules/pom.xml

@@ -23,7 +23,6 @@
         <module>ruoyi-dataManagement</module>
         <module>ruoyi-InventoryManagement</module>
         <module>ruoyi-customerReconciliation</module>
-        <module>ruoyi-customerReconciliation</module>
     </modules>
 
     <artifactId>ruoyi-modules</artifactId>

+ 5 - 0
ruoyi-modules/ruoyi-customerReconciliation/pom.xml

@@ -105,6 +105,11 @@
             <groupId>org.dromara</groupId>
             <artifactId>ruoyi-common-websocket</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+        </dependency>
 
 
     </dependencies>

+ 15 - 5
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/controller/CustomerReconciliationController.java

@@ -1,25 +1,35 @@
 package org.dromara.customerReconciliation.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.web.core.BaseController;
 import org.dromara.customerReconciliation.domain.DTO.CustomerReconciliationDTO;
 import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationPageVO;
 import org.dromara.customerReconciliation.service.CustomerReconciliationService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
 /**
  * 客户对账单Controller
  */
 @RestController
 @RequestMapping("/customerReconciliation")
 @RequiredArgsConstructor
-public class CustomerReconciliationController {
+public class CustomerReconciliationController extends BaseController {
     private final CustomerReconciliationService customerReconciliationService;
+    @SaCheckPermission("fa:customerReconciliation:list")
     @GetMapping("/getCustomerReconciliation")
-    public R<CustomerReconciliationPageVO> getCustomerReconciliation(CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery){
+    public R<CustomerReconciliationPageVO> getCustomerReconciliation(@Valid() CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery){
         CustomerReconciliationPageVO list = customerReconciliationService.getCustomerReconciliationPageVO(customerReconciliationDTO,pageQuery);
         return R.ok(list);
     }
+    @SaCheckPermission("fa:customerReconciliation:update")
+    @PutMapping("/updateCustomerReconciliationStatus")
+    public R<Void> updateCustomerReconciliationStatus(@Validated(EditGroup.class) @RequestBody CustomerReconciliationDTO customerReconciliationDTO){
+        return toAjax(customerReconciliationService.updateCustomerReconciliationStatus(customerReconciliationDTO));
+    }
 }

+ 14 - 3
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/domain/DTO/CustomerReconciliationDTO.java

@@ -3,16 +3,22 @@ package org.dromara.customerReconciliation.domain.DTO;
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.groups.Default;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
-import org.hibernate.validator.constraints.Range;
 
 import java.time.LocalDateTime;
 
 @Data
 @EqualsAndHashCode(callSuper = true)
 public class CustomerReconciliationDTO extends BaseEntity {
+    /**
+     * 主键id,生产计划表id
+     */
+    @NotNull(groups = {EditGroup.class})
+    private Long id;
 
     /**
      * 工厂名称garment_factory
@@ -97,8 +103,9 @@ public class CustomerReconciliationDTO extends BaseEntity {
      * /**
      * 对账状态,0:未对账,1:已对账
      */
-    @Min(value = 0,message = "超出范围,0:未对账,1:已对账")
-    @Max(value = 1,message = "超出范围,0:未对账,1:已对账")
+    @NotNull(message = "对账状态不能为空", groups = {EditGroup.class})
+    @Min(value = 0,message = "超出范围,0:未对账,1:已对账",groups = {EditGroup.class, Default.class})
+    @Max(value = 1,message = "超出范围,0:未对账,1:已对账",groups = {EditGroup.class, Default.class})
     private Integer duiZhangStatus;
 
 
@@ -108,5 +115,9 @@ public class CustomerReconciliationDTO extends BaseEntity {
     @Min(value = 1,message = "1排产中,2.产前确认中,3.打印中,4.转印中,5.烧花中,6.后整中,7.待发货,8.已发货,9.已确认发货,10.作废,11.白布配货")
     @Max(value = 11,message = "1排产中,2.产前确认中,3.打印中,4.转印中,5.烧花中,6.后整中,7.待发货,8.已发货,9.已确认发货,10.作废,11.白布配货")
     private Integer craftStatus;
+    /**
+     * 对账备注
+     */
+    private String billRemark;
 
 }

+ 3 - 1
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/mapper/CustomerReconciliationVOMapper.java

@@ -1,13 +1,15 @@
 package org.dromara.customerReconciliation.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.dromara.customerReconciliation.domain.DTO.CustomerReconciliationDTO;
 import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationVO;
-import org.mapstruct.Mapper;
 
 
 @Mapper
 public interface CustomerReconciliationVOMapper {
     Page<CustomerReconciliationVO> get(Page<CustomerReconciliationVO> build, @Param("dto") CustomerReconciliationDTO customerReconciliationDTO);
+
+    int updateCustomerReconciliationStatus(Long id, Integer duiZhangStatus, String billRemark);
 }

+ 2 - 0
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/service/CustomerReconciliationService.java

@@ -6,4 +6,6 @@ import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationPageVO
 
 public interface CustomerReconciliationService {
     CustomerReconciliationPageVO getCustomerReconciliationPageVO(CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery);
+
+    boolean updateCustomerReconciliationStatus(CustomerReconciliationDTO customerReconciliationDTO);
 }

+ 5 - 0
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/service/impl/CustomerReconciliationServiceImpl.java

@@ -21,4 +21,9 @@ public class CustomerReconciliationServiceImpl implements CustomerReconciliation
         Page<CustomerReconciliationVO> page = customerReconciliationVOMapper.get(pageQuery.<CustomerReconciliationVO>build(), customerReconciliationDTO);
         return new CustomerReconciliationPageVO(page.getTotal(), page.getRecords());
     }
+
+    @Override
+    public boolean updateCustomerReconciliationStatus(CustomerReconciliationDTO customerReconciliationDTO) {
+        return customerReconciliationVOMapper.updateCustomerReconciliationStatus(customerReconciliationDTO.getId(), customerReconciliationDTO.getDuiZhangStatus(), customerReconciliationDTO.getBillRemark()) > 0;
+    }
 }

+ 12 - 0
ruoyi-modules/ruoyi-customerReconciliation/src/main/resources/mapper/CustomerReconciliationVOMapper.xml

@@ -29,6 +29,18 @@
             <result property="receiveTime" column="receive_time"/>
         </association>
     </resultMap>
+    <update id="updateCustomerReconciliationStatus">
+        UPDATE fa_kuyou_plan_info
+        <set>
+            <if test="duiZhangStatus != null and duiZhangStatus != ''">
+                duizhang_status = #{duiZhangStatus},
+            </if>
+            <if test="billRemark != null and billRemark != '' and duiZhangStatus != null and duiZhangStatus != ''">
+                bill_remark = #{billRemark},
+            </if>
+        </set>
+        WHERE plan_id = #{id}
+    </update>
 
     <select id="get" resultMap="customerReconciliationResultMap">
         SELECT p.id AS id,garment_factory,garment_factory_people,garment_factory_tel,'客户名称' AS customer_customerName,receiving_address,'大货编号' AS delivery_deliveryNo,item_number,base_cloth,'花型号' AS flower_no,all_money AS order_amount,delivery_date,confirm_delivery_time AS receive_time,purchase_code,duizhang_status