From fdc9651c4b83c18e044a3a9ac6b5e019ffa6328d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 04 七月 2025 16:56:03 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml                 |   20 +++++++--
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |   27 +++++++++++++
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java             |    6 ++-
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java                 |    3 +
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java               |    4 ++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java   |   19 +++------
 6 files changed, 59 insertions(+), 20 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
index c1cdcf1..482865a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -320,7 +320,6 @@
                     serviceReimbursement.setFlowlevel(0L);
                     serviceReimbursement.setBackflowlevel(0L);
                 }
-
             }
 
             if (!postids.contains(2) && (serviceReimbursement.getBackflowlevel() == null || serviceReimbursement.getBackflowlevel() == 0)) {
@@ -335,6 +334,32 @@
 
                 serviceFundflow.setFlowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1);
                 serviceFundflowService.save(serviceFundflow);
+
+
+                SysUser sysUser = null;
+                if (serviceReimbursement.getFlowlevel() == 0L) {
+                    //缁勯暱淇℃伅
+                    SysUser su = new SysUser();
+                    su.setNickName(serviceReimbursement.getManagername());
+                    List<SysUser> sysUserList = sysUserService.selectUserList(su);
+                    if (sysUserList.size() > 0) {
+                        sysUser = sysUserList.get(0);
+                    }
+                } else if (serviceReimbursement.getFlowlevel() == 1L) {
+                    //闄堟厱鍗庝俊鎭�
+                    sysUser = sysUserService.selectUserByUserName("047");
+                }
+                ConcurrentHashMap map = new ConcurrentHashMap();
+                ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>();
+                map.put("鎻愪氦浜猴細", loginUser.getUser().getUserName());
+                map.put("鎻愪氦鏃堕棿锛�", new Date());
+                map.put("鍐呭锛�", serviceReimbursement.getReason());
+                contentList.add(map);
+                DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
+                dingTalkReqVo.setTitle("宸梾瀹℃壒淇℃伅");
+                dingTalkReqVo.setNumber(sysUser != null ? sysUser.getPhonenumber() : "");
+                dingTalkReqVo.setContents(contentList);
+                dingTalkService.sendNotification(dingTalkReqVo);
             }
 
             serviceReimbursementService.updateById(serviceReimbursement);
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index c5b28e0..8d798f6 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -69,7 +69,7 @@
      * @return 缁撴灉
      */
     public String login(String username, String password, String code, String uuid, String openId, String dingUserId) {
-        log.info("username鏄惁涓虹┖锛歿},password鏄惁涓虹┖锛歿},dingUserId鏄惁涓虹┖锛歿}",username,password,dingUserId);
+        log.info("username鏄惁涓虹┖锛歿},password鏄惁涓虹┖锛歿},dingUserId鏄惁涓虹┖锛歿}", username, password, dingUserId);
         //鍏嶇櫥
         if (StringUtils.isNotEmpty(dingUserId)) {
             SysUser sysUser = sysUserMapper.selectUserByDingUserId(dingUserId);
@@ -81,7 +81,9 @@
         }
 
         SysUser sysUser = sysUserMapper.selectUserByUserName(username);
-        if (sysUser.getErrorNums() >= 3) {
+        //鑾峰彇閿佸畾娆℃暟
+        String s = configService.selectConfigByKey("sys.opo.lockpwd");
+        if (sysUser.getErrorNums() >= Integer.valueOf(s)) {
             //鏍¢獙澶辫触娆℃暟
             throw new BaseException("浣犵殑瀵嗙爜杈撳叆閿欒娆℃暟杩囧锛岃鑱旂郴绠$悊鍛樺鐞�");
         }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
index c30ec25..f51a9f3 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
@@ -289,6 +289,9 @@
     @ApiModelProperty("璐圭敤褰掑睘鎻忚堪")
     private String costtypename;
 
+    @ApiModelProperty("瀹跺睘浜烘暟锛堜粎闄恈osttypename鏄灞炵殑鏃跺�欙級")
+    private Long personNum;
+
     @ApiModelProperty("鎹愮尞瀹跺睘閾惰")
     private String donorbank;
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java
index 7839358..8136f71 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java
@@ -30,6 +30,10 @@
     @TableId(type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty("瀹跺睘浜烘暟锛堜粎闄恈osttypename鏄灞炵殑鏃跺�欙級")
+    private Long personNum;
+
+
     /**
      * 鎶ラ攢浜虹紪鍙�
      */
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
index 5717177..251704e 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -346,9 +346,9 @@
             // 5.2.3 绠楃◣閫昏緫
             if (detail.getServicesscopename().contains("绋庡悗")) {
                 // 绋庡悗鏄庣粏锛氱疮璁$◣鍚庨噾棰濓紝鍙嶆帹绋庡墠閲戦鍜岀◣閲�
-                if (idcard.equals("330103196704060019")) {
-                    log.info("330103196704060019");
-                }
+//                if (idcard.equals("362329199103224511")) {
+//                    log.info("鏈辩幃瀹�");
+//                }
                 BigDecimal newTaxedAmounts = BigDecimal.valueOf(taxSum.getTaxedAmounts()).add(BigDecimal.valueOf(detail.getTaxedamount()));
                 String taxationBefore = TaxtUtils.getTaxationBefore(newTaxedAmounts);
                 BigDecimal amountNow = new BigDecimal(taxationBefore).subtract(BigDecimal.valueOf(taxSum.getAmounts()));
@@ -360,26 +360,21 @@
                 } else {
                     detail.setTaxTime(serviceFund1.getFundtaxtime());
                 }
-                if (tax.doubleValue() < 0) {
-                    log.info("灏忎簬0浜�");
-                }
                 taxSum.setAmounts((BigDecimal.valueOf(taxSum.getAmounts()).add(amountNow)).doubleValue());
                 taxSum.setTaxAmounts((BigDecimal.valueOf(taxSum.getTaxAmounts()).add(tax)).doubleValue());
                 taxSum.setTaxedAmounts(newTaxedAmounts.doubleValue());
             } else {
                 // 绋庡墠鏄庣粏锛氱疮璁$◣鍓嶉噾棰濓紝绠楁�荤◣閲戯紝鍐嶇畻鏈绋庨噾鍜岀◣鍚庨噾棰�
                 BigDecimal newAmounts = BigDecimal.valueOf(taxSum.getAmounts()).add(BigDecimal.valueOf(detail.getAmount()));
-                if (idcard.equals("330103196704060019")) {
-                    log.info("330103196704060019");
-                }
+//                if (idcard.equals("362329199103224511")) {
+//                    log.info("鏈辩幃瀹�");
+//                }
                 String taxation = TaxtUtils.getTaxation(newAmounts);
+
                 BigDecimal taxAmountNow = new BigDecimal(taxation).subtract(new BigDecimal(String.valueOf(taxSum.getTaxAmounts())));
                 BigDecimal texdAfterNow = BigDecimal.valueOf(detail.getAmount()).subtract(taxAmountNow);
                 detail.setTaxamount(taxAmountNow.doubleValue());
                 detail.setTaxedamount(texdAfterNow.doubleValue());
-                if (taxAmountNow.doubleValue() < 0) {
-                    log.info("灏忎簬0浜�");
-                }
 
                 if (ObjectUtils.isEmpty(serviceFund1.getFundtaxtime())) {
                     detail.setTaxTime(new Date());
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
index c346b7e..580a958 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
@@ -65,11 +65,13 @@
         <result property="applyTime" column="apply_time"/>
         <result property="uploadStates" column="upload_states"/>
         <result property="notes" column="notes"/>
+        <result property="personNum" column="person_num"/>
     </resultMap>
 
     <sql id="selectServiceReimbursementVo">
         select ID,
                del_flag,
+               person_num,
                create_by,
                create_time,
                update_by,
@@ -143,6 +145,7 @@
             <if test="recordstatus != null  and recordstatus != ''">and RecordStatus = #{recordstatus}</if>
             <if test="uploadflag != null  and uploadflag != ''">and uploadflag = #{uploadflag}</if>
             <if test="travelers != null  and travelers != ''">and Travelers = #{travelers}</if>
+            <if test="personNum != null ">and person_num = #{personNum}</if>
         </where>
     </select>
     <select id="getMaxId" resultType="java.lang.Long">
@@ -176,13 +179,19 @@
     </select>
 
     <select id="getRDInfoByItem" resultType="com.ruoyi.project.domain.ServiceReimbursementEo">
-        SELECT a.id as id,a.apply_time as applyTime,a.UserNo as userno,a.FlowLevel as recordstatus,b.persontype as persontype,a.create_time as
-        createTime,a.managername as managername,a.bh as bh,a.OPOchecker as opochecker,a.FinVicePresident as finvicepresident,a.BusVicePresident as busvicepresident,a.OfficeDirector  as officedirector,a.FinanceDirector  as financedirector,a.FinanceChecher  as financechecher,
+        SELECT a.id as id,a.apply_time as applyTime,a.UserNo as userno,a.FlowLevel as recordstatus,b.persontype as
+        persontype,a.create_time as
+        createTime,a.managername as managername,a.bh as bh,a.OPOchecker as opochecker,a.FinVicePresident as
+        finvicepresident,a.BusVicePresident as busvicepresident,a.OfficeDirector as officedirector,a.FinanceDirector as
+        financedirector,a.FinanceChecher as financechecher,
         a.UserName as username,b.personname as travelers,a.AmountRequested as amountrequested,a.Reason as reason,a.Phone
-        as phone,a.DepositBank as depositbank,a.BankCardNo as bankcardno,a.DonorName as donorname,a.DeptmentName as deptmentname,b.trafficexpense as
+        as phone,a.DepositBank as depositbank,a.BankCardNo as bankcardno,a.DonorName as donorname,a.DeptmentName as
+        deptmentname,b.trafficexpense as
         trafficexpense,b.hotelexpense as hotelexpense,b.FoodExpenses as foodexpenses, b.foodallowance as foodallowance,
-        b.otherexpense as otherexpense,b.otherfeeamount as otherfeeamount,b.CityFee as cityfee FROM service_reimbursement a LEFT JOIN
+        b.otherexpense as otherexpense,b.otherfeeamount as otherfeeamount,b.CityFee as cityfee,a.person_num as personNum FROM
+        service_reimbursement a LEFT JOIN
         service_reimbursementdetail b on a.id=b.RBID where a.del_flag != 1 and b.del_flag!=1
+
         <if test="id != null">
             and a.id = #{id}
         </if>
@@ -201,8 +210,9 @@
         <if test='starttime != null and endtime != ""'>
             and a.create_time BETWEEN #{starttime} AND #{endtime}
         </if>
+        <if test="personNum != null ">and a.person_num = #{personNum}</if>
 
         ORDER BY a.id desc
     </select>
 
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.3