From 1bb55039e42042aad3433a12b2d48c5a91234210 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期一, 04 三月 2024 18:08:57 +0800
Subject: [PATCH] 增加账面库存同步功能
---
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotBookStore.java | 90 ++++++++++++++++++
src/main/java/com/fzzy/api/entity/Api1211.java | 21 ++--
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1211.java | 113 ++++++++++++++++++++++
src/main/java/com/fzzy/api/view/repository/Api1211Rep.java | 7 +
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1211Rep.java | 22 ++++
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java | 18 ++-
6 files changed, 251 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/fzzy/api/entity/Api1211.java b/src/main/java/com/fzzy/api/entity/Api1211.java
index fe9d9dd..39103b2 100644
--- a/src/main/java/com/fzzy/api/entity/Api1211.java
+++ b/src/main/java/com/fzzy/api/entity/Api1211.java
@@ -34,9 +34,8 @@
@JSONField(serialize = false)
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name = "id")
- private Integer id;
+ @Column(name = "bizId", length = 60)
+ private String id;
@JSONField(serialize = false)
@PropertyDef(label = "涓氬姟id")
@@ -55,33 +54,33 @@
@Column(name = "lsxzdm", length = 7)
private String lsxzdm;
- @PropertyDef(label = "绮鍝佺浠g爜",required=true)
+ @PropertyDef(label = "绮鍝佺浠g爜")
@Column(name = "lspzdm", length = 7)
private String lspzdm;
- @PropertyDef(label = "骞村害" ,required=true)
+ @PropertyDef(label = "骞村害" )
@Column(name = "nd", length = 4)
private String nd;
- @PropertyDef(label = "鏈堜唤" ,required=true)
+ @PropertyDef(label = "鏈堜唤" )
@Column(name = "yf", length = 2)
private String yf;
- @PropertyDef(label = "鏈熷垵鏁伴噺(鍏枻)",required=true )
+ @PropertyDef(label = "鏈熷垵鏁伴噺(鍏枻)" )
@Column(name = "qcsl", precision = 20, scale = 6)
- private double qcsl;
+ private Double qcsl;
@PropertyDef(label = "鏈湡鏀跺叆鏁伴噺(鍏枻)" )
@Column(name = "bqsrsl", precision = 20, scale = 6)
- private double bqsrsl;
+ private Double bqsrsl;
@PropertyDef(label = "鏈湡鏀嚭鏁伴噺(鍏枻)" )
@Column(name = "bqzcsl", precision = 20, scale = 6)
- private double bqzcsl;
+ private Double bqzcsl;
@PropertyDef(label = "鏈熸湯鏁伴噺(鍏枻)" )
@Column(name = "qmye", precision = 20, scale = 6)
- private double qmye;
+ private Double qmye;
@PropertyDef(label = "鏈堢粨鏍囧織" )
@Column(name = "yjbz")
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1211Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1211Rep.java
index 7b4a244..78309b9 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1211Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1211Rep.java
@@ -10,12 +10,15 @@
import java.util.Date;
import java.util.List;
-public interface Api1211Rep extends JpaRepository<Api1211, Integer>, JpaSpecificationExecutor<Api1211> {
+public interface Api1211Rep extends JpaRepository<Api1211, String>, JpaSpecificationExecutor<Api1211> {
@Transactional
@Modifying
@Query("update Api1211 set czbz =:czbz where id=:id")
- void updateStatus(@Param("id") Integer id, @Param("czbz") String czbz);
+ void updateStatus(@Param("id") String id, @Param("czbz") String czbz);
@Query("from Api1211 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
List<Api1211> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
+
+ @Query("from Api1211 where bizId =:bizId ")
+ List<Api1211> getDataByBizId(@Param("bizId") String bizId);
}
diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
index abac48f..4154085 100644
--- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
+++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -23,23 +23,25 @@
@Autowired
private Fzzy40Sync1202 fzzySync1202;
@Autowired
- private Fzzy40Sync1205 fzzySync1205;
- @Autowired
- private Fzzy40Sync1212 fzzySync1212;
- @Autowired
- private Fzzy40Sync1208 fzzySync1208;
- @Autowired
private Fzzy40Sync1203 fzzySync1203;
@Autowired
private Fzzy40Sync1204 fzzySync1204;
+ @Autowired
+ private Fzzy40Sync1205 fzzySync1205;
@Autowired
private Fzzy40Sync1206 fzzySync1206;
@Autowired
private Fzzy40Sync1207 fzzySync1207;
@Autowired
+ private Fzzy40Sync1208 fzzySync1208;
+ @Autowired
private Fzzy40Sync1209 fzzySync1209;
@Autowired
+ private Fzzy40Sync1211 fzzySync1211;
+ @Autowired
private Fzzy40Sync1210 fzzySync1210;
+ @Autowired
+ private Fzzy40Sync1212 fzzySync1212;
@Autowired
private Fzzy40Sync1109 fzzySync1109;
@Autowired
@@ -95,6 +97,9 @@
//绮鎬ц川杞彉淇℃伅鍚屾
fzzySync1210.syncData(kqdm, deptId, start, end);
+ //璐﹂潰搴撳瓨淇℃伅鍚屾
+ fzzySync1211.syncData(kqdm, deptId, start, end);
+
/*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/
//涓婃捣甯傚钩鍙�2023鐗�
if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
@@ -105,7 +110,6 @@
// //鍚屾甯傚偍椹宠繍鍗�
// fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
}
- //璐﹂潰搴撳瓨淇℃伅鍚屾 TODO
}
diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotBookStore.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotBookStore.java
new file mode 100644
index 0000000..72c555e
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotBookStore.java
@@ -0,0 +1,90 @@
+package com.fzzy.async.fzzy40.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.bstek.dorado.annotation.PropertyDef;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czt
+ *
+ * 鎸変粨搴撹繘琛岀粺璁★紝姣忎釜鏈堝簳缁熻涓�娆�(鍥犱笂娴峰競璐﹂潰搴撳瓨鎺ュ彛涓烘寜璐т綅缁熻锛岃浆鎹㈡帴鍙f湇鍔℃椂鏍规嵁鐪佷唤瑕佹眰缁熻鎴愬搴旂殑璐﹂潰搴撳瓨)
+ **/
+@Data
+@Entity
+@Table(name = "D_DEPOT_BOOK_STORE")
+public class Fz40DepotBookStore implements Serializable {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name = "ID_", length = 40)
+ @PropertyDef(label = "涓婚敭", description = "瑙勫垯锛氫粨搴撶紪鐮乢yyyyMMdd")
+ private String id;
+
+ @Column(name = "COMPANY_ID_", length = 10)
+ @PropertyDef(label = "缁勭粐缂栫爜")
+ private String companyId;
+
+ @Column(name = "DEPT_ID_", length = 20)
+ @PropertyDef(label = "搴撳尯浠g爜")
+ private String deptId;
+
+ @Column(name = "DEPOT_ID_", length = 30)
+ @PropertyDef(label = "浠撳簱缂栫爜")
+ private String depotId;
+
+ @Column(name = "lspzdm", length = 7)
+ @PropertyDef(label = "绮鍝佺浠g爜")
+ private String lspzdm;
+
+ @PropertyDef(label = "绮鎬ц川浠g爜", description = "鐩墠涓婃捣浣跨敤")
+ @Column(name = "lsxzdm", length = 7)
+ private String lsxzdm;
+
+ @Column(name = "nd", length = 4)
+ @PropertyDef(label = "骞村害")
+ private String nd;
+
+ @Column(name = "yf", length = 2)
+ @PropertyDef(label = "鏈堜唤")
+ private String yf;
+
+ @Column(name = "qcsl", precision = 20, scale = 3)
+ @PropertyDef(label = "鏈熷垵鏁伴噺", description = "鍗曚綅锛氬叕鏂�")
+ private Double qcsl = 0.0;
+
+ @Column(name = "bqsrsl", precision = 20, scale = 3)
+ @PropertyDef(label = "鏈湡鏀跺叆鏁伴噺", description = "鍗曚綅锛氬叕鏂�")
+ private Double bqsrsl = 0.0;
+
+ @Column(name = "bqzcsl", precision = 20, scale = 3)
+ @PropertyDef(label = "鏈湡鏀嚭鏁伴噺", description = "鍗曚綅锛氬叕鏂�")
+ private Double bqzcsl = 0.0;
+
+ @Column(name = "qmye", precision = 20, scale = 3)
+ @PropertyDef(label = "鏈熸湯鏁伴噺", description = "鍗曚綅锛氬叕鏂�")
+ private Double qmye = 0.0;
+
+ @Column(name = "yjbz")
+ @PropertyDef(label = "鏈堢粨鏍囧織", description = "0锛氭湀缁擄紱1 鏈湀缁�")
+ private Integer yjbz;
+
+ @Column(name = "ywrq")
+ @PropertyDef(label = "涓氬姟鏃ユ湡")
+ private Date ywrq;
+
+ @Column(name = "zhgxsj")
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ @PropertyDef(label = "鏈�鍚庢洿鏂版椂闂�")
+ private Date zhgxsj;
+
+}
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1211.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1211.java
new file mode 100644
index 0000000..7f3bf5d
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1211.java
@@ -0,0 +1,113 @@
+package com.fzzy.async.fzzy40.impl;
+
+import com.fzzy.api.Constant;
+import com.fzzy.api.entity.*;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.service.ApiTriggerService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.view.repository.*;
+import com.fzzy.async.fzzy40.entity.Fz40DepotBookStore;
+import com.fzzy.async.fzzy40.repository.Fzzy40Sync1211Rep;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author czt
+ * 璐﹂潰搴撳瓨
+ */
+@Slf4j
+@Component
+public class Fzzy40Sync1211 {
+
+ @Autowired
+ private Fzzy40Sync1211Rep fzzy40Sync1211Rep;
+ @Autowired
+ private ApiTriggerService apiTriggerService;
+ @Autowired
+ private Api1211Rep api1211Rep;
+ @Autowired
+ private ApiCommonService commonService;
+ @Autowired
+ private ApiLogRep apiLogRep;
+
+ /**
+ * 鍚屾绮搴撳瓨
+ *
+ * @param deptId
+ * @param start
+ * @param end
+ */
+ public void syncData(String kqdm, String deptId, Date start, Date end) {
+
+ log.info("-------------1211鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
+
+ //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
+ ApiLog apiLog = new ApiLog();
+ apiLog.setType(ApiLog.TYPE_SYNC);
+ apiLog.setKqdm(deptId);
+ apiLog.setUploadTime(new Date());
+ apiLog.setInteId(Constant.API_CODE_1208);
+ apiLog.setStatus(99);
+ apiLog.setId(ContextUtil.getUUID());
+ try {
+ List<Fz40DepotBookStore> list = fzzy40Sync1211Rep.listDepot(deptId, start, end);
+ if (null == list || list.isEmpty()) {
+ log.info("-------------娌℃湁鑾峰彇鍒拌处闈㈠簱瀛樹俊鎭�------------------");
+ return;
+ }
+
+ Api1211 apiData;
+ Api1105 api1105;
+ List<Api1211> api1211List;
+ for (Fz40DepotBookStore fz40DepotBookStore : list) {
+
+ //鑾峰彇璐т綅淇℃伅
+ api1105 = commonService.getApi1105Cache(fz40DepotBookStore.getDepotId());
+ if (null == api1105) {
+ continue;
+ }
+
+ apiData = new Api1211();
+ apiData.setId(fz40DepotBookStore.getId());
+ apiData.setBizId(fz40DepotBookStore.getId());
+ apiData.setKqdm(kqdm);
+ apiData.setHwdm(api1105.getHwdm());
+
+ //绮鍝佺
+ String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, fz40DepotBookStore.getLspzdm().substring(0, 3));
+ apiData.setLspzdm(mappingCode);
+
+ //绮鎬ц川
+ mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, fz40DepotBookStore.getLsxzdm());
+ apiData.setLsxzdm(mappingCode);
+ apiData.setNd(fz40DepotBookStore.getNd());
+ apiData.setYf(fz40DepotBookStore.getYf());
+ apiData.setQcsl(fz40DepotBookStore.getQcsl() == null ? 0.0 : fz40DepotBookStore.getQcsl());
+ apiData.setBqsrsl(fz40DepotBookStore.getBqsrsl() == null ? 0.0 : fz40DepotBookStore.getBqsrsl());
+ apiData.setBqzcsl(fz40DepotBookStore.getBqzcsl() == null ? 0.0 : fz40DepotBookStore.getBqzcsl());
+ apiData.setQmye(fz40DepotBookStore.getQmye() == null ? 0.0 : fz40DepotBookStore.getQmye());
+ apiData.setYjbz(fz40DepotBookStore.getYjbz());
+ apiData.setYwrq(fz40DepotBookStore.getYwrq());
+ apiData.setZhgxsj(new Date());
+
+ api1211List = api1211Rep.getDataByBizId(apiData.getBizId());
+ if (null == api1211List || api1211List.isEmpty()) {
+ apiData.setCzbz(Constant.CZBZ_I);
+ } else {
+ apiData.setCzbz(api1211List.get(0).getCzbz());
+ }
+
+ //淇濆瓨鏁版嵁
+ api1211Rep.save(apiData);
+ }
+
+ } catch (Exception e) {
+ log.error("---鍚屾澶辫触----{}", e);
+ apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage());
+ apiLogRep.save(apiLog);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1211Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1211Rep.java
new file mode 100644
index 0000000..dea8c34
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1211Rep.java
@@ -0,0 +1,22 @@
+package com.fzzy.async.fzzy40.repository;
+
+import com.fzzy.async.fzzy40.entity.Fz40DepotBookStore;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绮璐攢-璐﹂潰搴撳瓨
+ */
+public interface Fzzy40Sync1211Rep extends JpaRepository<Fz40DepotBookStore, String> {
+
+ /**
+ * 鏍规嵁搴撳尯缂栫爜鍙婃椂闂磋幏鍙栬处闈㈠簱瀛樹俊鎭�
+ *
+ * @return
+ */
+ @Query("from Fz40DepotBookStore where deptId=:deptId and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
+ List<Fz40DepotBookStore> listDepot(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
+}
--
Gitblit v1.9.3