Prechádzať zdrojové kódy

景聚庭-挂账人添加流程

huangguoce 4 dní pred
rodič
commit
b5049ba0c9

+ 20 - 0
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/dishManage/controller/PsiCreditCustomerController.java

@@ -2,6 +2,7 @@ package com.jeeplus.psimanage.dishManage.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.common.utils.ResponseUtil;
 import com.jeeplus.logging.annotation.ApiLog;
 import com.jeeplus.logging.constant.enums.LogTypeEnum;
 import com.jeeplus.psimanage.dishManage.domain.PsiCreditCustomer;
@@ -51,6 +52,25 @@ public class PsiCreditCustomerController {
         return ResponseEntity.ok(service.saveCreditCustomer(info));
     }
 
+    @ApiLog(value = "保存挂账人流程表单", type = LogTypeEnum.SAVE)
+    @ApiOperation(value = "新增/修改流程表单")
+    @PreAuthorize("hasAnyAuthority('psi:creditCustomer:add','psi:creditCustomer:edit')")
+    @PostMapping("/saveFlow")
+    public ResponseEntity<String> saveFlow(@RequestBody PsiCreditCustomer info) {
+        String id = service.saveCreditCustomerForFlow(info);
+        return ResponseUtil.newInstance()
+                .add("businessTable", "psi_credit_customer")
+                .add("businessId", id)
+                .ok("操作成功");
+    }
+
+    @ApiOperation(value = "根据id修改审核状态")
+    @PreAuthorize("hasAnyAuthority('psi:creditCustomer:add','psi:creditCustomer:edit')")
+    @PostMapping("/updateStatusById")
+    public void updateStatusById(@RequestBody PsiCreditCustomer info) {
+        service.updateStatusById(info);
+    }
+
     @ApiLog(value = "删除挂账人", type = LogTypeEnum.SAVE)
     @ApiOperation(value = "删除")
     @PreAuthorize("hasAuthority('psi:creditCustomer:del')")

+ 3 - 1
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/dishManage/domain/PsiCreditCustomer.java

@@ -66,6 +66,8 @@ public class PsiCreditCustomer extends BaseEntity {
 
     private String auditorId;
 
+    private String status;
+
     private String remarks;
 
     @TableField(exist = false)
@@ -73,4 +75,4 @@ public class PsiCreditCustomer extends BaseEntity {
 
     @TableField(exist = false)
     private String auditorName;
-}
+}

+ 3 - 1
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/dishManage/mapper/PsiCreditCustomerMapper.java

@@ -17,4 +17,6 @@ public interface PsiCreditCustomerMapper extends BaseMapper<PsiCreditCustomer> {
     PsiCreditCustomer queryById(@Param("id") String id);
 
     Integer checkMobileIsExist(@Param("mobile") String mobile, @Param("id") String id);
-}
+
+    void updateStatusById(@Param("id") String id, @Param("status") String status, @Param("auditorId") String auditorId);
+}

+ 12 - 2
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/dishManage/mapper/xml/PsiCreditCustomerMapper.xml

@@ -30,6 +30,7 @@
         <result property="firstCreditTime" column="first_credit_time" jdbcType="TIMESTAMP"/>
         <result property="lastConsumeTime" column="last_consume_time" jdbcType="TIMESTAMP"/>
         <result property="auditorId" column="auditor_id" jdbcType="VARCHAR"/>
+        <result property="status" column="status" jdbcType="VARCHAR"/>
         <result property="remarks" column="remarks" jdbcType="VARCHAR"/>
         <result property="createName" column="create_name" jdbcType="VARCHAR"/>
         <result property="auditorName" column="auditor_name" jdbcType="VARCHAR"/>
@@ -41,9 +42,18 @@
         a.company_name, a.address, a.emergency_contact, a.emergency_contact_phone,
         a.invoice_title, a.tax_no, a.bank_name, a.bank_account, a.invoice_address_phone,
         a.credit_status, a.total_arrears_amount, a.unsettled_bill_count,
-        a.first_credit_time, a.last_consume_time, a.auditor_id, a.remarks
+        a.first_credit_time, a.last_consume_time, a.auditor_id, a.status, a.remarks
     </sql>
 
+    <update id="updateStatusById">
+        update psi_credit_customer
+        set status = #{status}
+        <if test="auditorId != null and auditorId != ''">
+            , auditor_id = #{auditorId}
+        </if>
+        where id = #{id}
+    </update>
+
     <select id="findList" resultMap="BaseResultMap">
         select <include refid="Base_Column_List"></include>, cu.name as create_name, au.name as auditor_name
         from psi_credit_customer a
@@ -70,4 +80,4 @@
           and id != #{id}
         </if>
     </select>
-</mapper>
+</mapper>

+ 31 - 1
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/dishManage/service/PsiCreditCustomerService.java

@@ -52,7 +52,33 @@ public class PsiCreditCustomerService extends ServiceImpl<PsiCreditCustomerMappe
         return mapper.queryById(id);
     }
 
+    public void updateStatusById(PsiCreditCustomer info) {
+        String auditorId = null;
+        if ("4".equals(info.getStatus()) || "5".equals(info.getStatus())) {
+            UserDTO userDto = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+            auditorId = userDto.getId();
+        }
+        mapper.updateStatusById(info.getId(), info.getStatus(), auditorId);
+    }
+
     public String saveCreditCustomer(PsiCreditCustomer info) {
+        String errorMessage = validateCreditCustomer(info);
+        if (StringUtils.isNotBlank(errorMessage)) {
+            return errorMessage;
+        }
+        saveCreditCustomerAndReturnId(info);
+        return "操作完成";
+    }
+
+    public String saveCreditCustomerForFlow(PsiCreditCustomer info) {
+        String errorMessage = validateCreditCustomer(info);
+        if (StringUtils.isNotBlank(errorMessage)) {
+            throw new IllegalArgumentException(errorMessage);
+        }
+        return saveCreditCustomerAndReturnId(info);
+    }
+
+    private String validateCreditCustomer(PsiCreditCustomer info) {
         if (StringUtils.isBlank(info.getCustomerName())) {
             return "姓名不能为空";
         }
@@ -63,6 +89,10 @@ public class PsiCreditCustomerService extends ServiceImpl<PsiCreditCustomerMappe
         if (mobileCount != null && mobileCount > 0) {
             return "手机号重复,请重新填写";
         }
+        return null;
+    }
+
+    private String saveCreditCustomerAndReturnId(PsiCreditCustomer info) {
         UserDTO userDto = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
         if (StringUtils.isNotBlank(info.getId())) {
             info.setUpdateById(userDto.getId());
@@ -86,7 +116,7 @@ public class PsiCreditCustomerService extends ServiceImpl<PsiCreditCustomerMappe
             }
             mapper.insert(info);
         }
-        return "操作完成";
+        return info.getId();
     }
 
     public String deleteByIds(String ids) {