From d75a864b57bdc147e044fad256d640e4ff3bd0bb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 12 十二月 2025 17:01:05 +0800
Subject: [PATCH] 代码提交
---
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java | 7 +++
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitness.java | 7 +++
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java | 7 +--
ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java | 59 +++++++++++++++++++++++++++++
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml | 5 ++
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java | 8 +--
6 files changed, 84 insertions(+), 9 deletions(-)
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java b/ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java
new file mode 100644
index 0000000..822749e
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java
@@ -0,0 +1,59 @@
+package com.ruoyi.project.common;
+
+import java.net.InetAddress;
+import java.util.concurrent.ThreadLocalRandom;
+
+public class IdGeneratorUtils {
+ // 鏈哄櫒ID锛�0-31锛�
+ private static final long MACHINE_ID = getMachineId() & 31L;
+ // 鏃堕棿鎴冲乏绉荤殑浣嶆暟锛�22浣嶇粰璁℃暟鍣紝5浣嶇粰鏈哄櫒ID锛�
+ private static final long TIMESTAMP_SHIFT = 22 + 5;
+ private static final long COUNTER_BITS = 22L;
+ private static final long MAX_COUNTER = (1L << COUNTER_BITS) - 1;
+
+ private static long lastTimestamp = -1L;
+ private static long counter = 0L;
+
+ public synchronized static long nextId() {
+ long timestamp = System.currentTimeMillis();
+
+ if (timestamp < lastTimestamp) {
+ throw new RuntimeException("Clock moved backwards");
+ }
+
+ if (timestamp == lastTimestamp) {
+ counter = (counter + 1) & MAX_COUNTER;
+ if (counter == 0) {
+ // 鍚屼竴姣鍐呰鏁板櫒鐢ㄥ畬锛岀瓑寰呬笅涓�姣
+ timestamp = waitNextMillis(lastTimestamp);
+ }
+ } else {
+ counter = 0L;
+ }
+
+ lastTimestamp = timestamp;
+
+ return ((timestamp) << TIMESTAMP_SHIFT) |
+ (MACHINE_ID << COUNTER_BITS) |
+ counter;
+ }
+
+ private static long waitNextMillis(long lastTimestamp) {
+ long timestamp = System.currentTimeMillis();
+ while (timestamp <= lastTimestamp) {
+ timestamp = System.currentTimeMillis();
+ }
+ return timestamp;
+ }
+
+ private static long getMachineId() {
+ try {
+ // 鍙互鏍规嵁闇�瑕佽幏鍙栨満鍣ㄦ爣璇嗭紝姣斿IP鍦板潃鏈�鍚庝竴娈�
+ String hostAddress = InetAddress.getLocalHost().getHostAddress();
+ return Long.parseLong(hostAddress.split("\\.")[3]);
+ } catch (Exception e) {
+ return ThreadLocalRandom.current().nextLong(32);
+ }
+ }
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitness.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitness.java
index b5934f5..b134606 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitness.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitness.java
@@ -44,6 +44,13 @@
private String donorno;
/**
+ * 鎹愮尞鍖婚櫌
+ */
+ @ApiModelProperty("鎹愮尞鍖婚櫌")
+ @Excel(name = "鎹愮尞鍖婚櫌")
+ private String donateHospital;
+
+ /**
* 鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿
*/
@ApiModelProperty("鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java
index 0b24198..a496175 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java
@@ -59,6 +59,13 @@
private String organname;
/**
+ * 鎹愮尞鍖婚櫌
+ */
+ @ApiModelProperty("鎹愮尞鍖婚櫌")
+ @Excel(name = "鎹愮尞鍖婚櫌")
+ private String donateHospital ;
+
+ /**
* 鍣ㄥ畼缂栧彿
*/
@ApiModelProperty("鍣ㄥ畼缂栧彿 ")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
index 0434b71..28353ca 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -21,6 +21,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.common.IdGeneratorUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.*;
import com.ruoyi.project.mapper.*;
@@ -682,8 +683,6 @@
return true;
}
- private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis());
-
private Map<String, List<Map<String, Object>>> formson_0832(List<ServiceFunddetailShared> serviceFunddetailSharedList) {
Map<String, List<Map<String, Object>>> allMap = new HashMap<>();
@@ -703,7 +702,7 @@
map.put("鏀剁泭浜哄灞炴垨涓撳", serviceFunddetailShared.getBeneficiaryname());
map.put("绋庡悗閲戦", serviceFunddetailShared.getTaxedamount());
map.put("浣滃簾鏈�缁堥噾棰�", null);
- Long fpuuid = COUNTER.incrementAndGet();
+ Long fpuuid = IdGeneratorUtils.nextId();
map.put("鍙戠エ闄勪欢", "");
if (StringUtils.isNotEmpty(invoicefiles)) {
map.put("鍙戠エ闄勪欢", fpuuid);
@@ -711,7 +710,7 @@
map.put("鍙戠エ璇嗗埆", null);
map.put("璇嗗埆浜�", null);
map.put("绋庨", serviceFunddetailShared.getTaxamount());
- long qtuuid = COUNTER.incrementAndGet();
+ long qtuuid = IdGeneratorUtils.nextId();
map.put("鍏朵粬闄勪欢", "");
if (StringUtils.isNotEmpty(annexfiles)) {
map.put("鍏朵粬闄勪欢", qtuuid);
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
index 1cc2a8b..df1c025 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -17,7 +17,7 @@
import com.ruoyi.common.utils.HttpClientKit;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
-import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.project.common.IdGeneratorUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
import com.ruoyi.project.domain.vo.CheckFundVO;
@@ -635,8 +635,6 @@
return true;
}
- private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis());
-
private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetailShared> serviceReimbursementdetailSharedList) {
Map<String, List<Map<String, Object>>> allMap = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<>();
@@ -667,12 +665,12 @@
map.put("浜哄憳绫诲埆", reimbursementdetailShared.getPersontype());
map.put("浣忓璐规爣鍑�", "");
map.put("浣忓璐规爣鍑嗗悎璁�", reimbursementdetailShared.getHotelexpense());
- Long fpuuid = COUNTER.incrementAndGet();
+ Long fpuuid = IdGeneratorUtils.nextId();
map.put("鍙戠エ闄勪欢", fpuuid);
map.put("绁ㄦ嵁璇嗗埆", "");
map.put("璇嗗埆浜�", "");
map.put("搴忓彿1", "");
- Long qtuuid = COUNTER.incrementAndGet();
+ Long qtuuid = IdGeneratorUtils.nextId();
map.put("鍏朵粬闄勪欢", qtuuid);
map.put("涓汉绁ㄥす鐢ㄦ埛", "");
map.put("璇嗗埆绁ㄦ嵁", "");
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
index 73e8fb3..8edb45a 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -47,11 +47,13 @@
<result property="coordinatorOutOperating" column="coordinator_out_operating"/>
<result property="coordinatorSign" column="coordinator_sign"/>
<result property="coordinatorSignTime" column="coordinator_sign_time"/>
+ <result property="donateHospital" column="donate_hospital"/>
</resultMap>
<sql id="selectServiceDonationwitnessVo">
select ID,
InfoID,
+ donate_hospital,
coordinator_in_operating,
coordinator_out_operating,
coordinator_sign,
@@ -100,6 +102,7 @@
<include refid="selectServiceDonationwitnessVo"/>
<where>
<if test="donorno != null and donorno != ''">and DonorNo = #{donorno}</if>
+ <if test="donateHospital != null and donateHospital != ''">and donate_hospital = #{donateHospital}</if>
<if test="gainhospitalname != null and gainhospitalname != ''">and GainHospitalName like concat('%',
#{gainhospitalname}, '%')
</if>
@@ -173,6 +176,7 @@
`service_donationwitness`.`coordinator_out_operating` AS `coordinatorOutOperating`,
`service_donationwitness`.`coordinator_sign` AS `coordinatorSign`,
`service_donationwitness`.`coordinator_sign_time` AS `coordinatorSignTime`
+ `service_donationwitness`.`donate_hospital` AS `donate_hospital`
FROM
`service_donatebaseinfo`
LEFT JOIN `service_donationwitness` ON
@@ -265,6 +269,7 @@
w.del_flag=0
and b.del_flag=0
<if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if>
+ <if test="donateHospital != null ">and w.donate_hospital >= #{donateHospital}</if>
<if test="endtime != null ">and w.OperationBegTime <= #{endtime}</if>
<if test="city != null and city != ''">and o.City = #{city}</if>
<if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
--
Gitblit v1.9.3