From 47d8ae286f05b7ac1b41c301065cec7e4ac6f9bc Mon Sep 17 00:00:00 2001
From: xiang2lin <251481237@qq.com>
Date: Thu, 15 Aug 2024 17:27:36 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B7=AE=E6=97=85=E6=8A=A5=E9=94=80=E5=8D=95?=
 =?UTF-8?q?=202024=E5=B9=B48=E6=9C=8815=E6=97=A5=2017:27:26?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../oerdjjsfs/entity/OerDjjsfsEntity.java     |  9 +++
 .../nxproof/oerdjml/entity/OerDjmlEntity.java | 33 +++++-----
 .../service/impl/OerDjmlServiceImpl.java      | 60 +++++++++++++------
 3 files changed, 70 insertions(+), 32 deletions(-)

diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.java
index 93eb42b4..2a030f82 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.java
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.java
@@ -16,6 +16,7 @@ public class OerDjjsfsEntity extends BaseEntity {
     private String kjnd;//会计年度
     private String djlxId;
     private String mlId;
+    private String bnxid;
     private String xh;//序号
     private String jsfsdm;//结算方式编码
     private String jsfsmc;//结算方式名称
@@ -228,4 +229,12 @@ public class OerDjjsfsEntity extends BaseEntity {
     public void setSkrbz(String skrbz) {
         this.skrbz = skrbz;
     }
+
+    public String getBnxid() {
+        return bnxid;
+    }
+
+    public void setBnxid(String bnxid) {
+        this.bnxid = bnxid;
+    }
 }
diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java
index 6f726222..dd7459f8 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java
@@ -1,5 +1,8 @@
 package com.hzya.frame.grpU8.nxproof.oerdjml.entity;
 
+import com.hzya.frame.grpU8.nxproof.gbizbsyrec.entity.GbiZbsyrecEntity;
+import com.hzya.frame.grpU8.nxproof.oerdjnr.entity.OerDjnrEntity;
+import com.hzya.frame.grpU8.nxproof.oeryszb.entity.OerYszbEntity;
 import com.hzya.frame.web.entity.BaseEntity;
 import lombok.*;
 
@@ -69,9 +72,9 @@ public class OerDjmlEntity extends BaseEntity {
     private String ssrid;
     //送审人
     private String ssr;
-    private List<GbiZbsyrecAllEntity> gbiZbsyrecAllEntitylist;
-    private List<OerDjnrAllEntity> oerDjnrAllEntityList;
-    private List<OerYszbAllEntity> oerYszbAllEntityList;
+    private List<GbiZbsyrecEntity> gbiZbsyrecEntitylist;
+    private List<OerDjnrEntity> oerDjnrEntityList;
+    private List<OerYszbEntity> oerYszbEntityList;
 
 
 
@@ -347,28 +350,28 @@ public class OerDjmlEntity extends BaseEntity {
         this.lclb = lclb;
     }
 
-    public List<GbiZbsyrecAllEntity> getGbiZbsyrecAllEntitylist() {
-        return gbiZbsyrecAllEntitylist;
+    public List<GbiZbsyrecEntity> getGbiZbsyrecEntitylist() {
+        return gbiZbsyrecEntitylist;
     }
 
-    public void setGbiZbsyrecAllEntitylist(List<GbiZbsyrecAllEntity> gbiZbsyrecAllEntitylist) {
-        this.gbiZbsyrecAllEntitylist = gbiZbsyrecAllEntitylist;
+    public void setGbiZbsyrecEntitylist(List<GbiZbsyrecEntity> gbiZbsyrecEntitylist) {
+        this.gbiZbsyrecEntitylist = gbiZbsyrecEntitylist;
     }
 
-    public List<OerDjnrAllEntity> getOerDjnrAllEntityList() {
-        return oerDjnrAllEntityList;
+    public List<OerDjnrEntity> getOerDjnrEntityList() {
+        return oerDjnrEntityList;
     }
 
-    public void setOerDjnrAllEntityList(List<OerDjnrAllEntity> oerDjnrAllEntityList) {
-        this.oerDjnrAllEntityList = oerDjnrAllEntityList;
+    public void setOerDjnrEntityList(List<OerDjnrEntity> oerDjnrEntityList) {
+        this.oerDjnrEntityList = oerDjnrEntityList;
     }
 
-    public List<OerYszbAllEntity> getOerYszbAllEntityList() {
-        return oerYszbAllEntityList;
+    public List<OerYszbEntity> getOerYszbEntityList() {
+        return oerYszbEntityList;
     }
 
-    public void setOerYszbAllEntityList(List<OerYszbAllEntity> oerYszbAllEntityList) {
-        this.oerYszbAllEntityList = oerYszbAllEntityList;
+    public void setOerYszbEntityList(List<OerYszbEntity> oerYszbEntityList) {
+        this.oerYszbEntityList = oerYszbEntityList;
     }
 
     public String getXmdm() {
diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java
index d89a0acf..ccd91915 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java
@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -78,7 +79,7 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
         if(StrUtil.isEmpty(jsonObject.getString("djdate"))){
             throw new BaseSystemException("单据日期不能为空!请排查参数djdate");
         }
-        logger.info("国子系统传递过来的发票号为:------>"+jsonObject.getString("fph"));
+   /*     logger.info("国子系统传递过来的发票号为:------>"+jsonObject.getString("fph"));
         if(StrUtil.isEmpty(jsonObject.getString("fph")) || "".equals(jsonObject.getString("fph"))){
             jsonObject.put("fph","");
         }else{
@@ -97,7 +98,7 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                 stringBuffer.append(jsonObject.getString("zcmc"));
             }
             jsonObject.put("zy",stringBuffer);
-        }
+        }*/
         logger.info("主表摘要为:{}",jsonObject.getString("zy"));
         OerDjmlEntity oerDjmlEntity=new OerDjmlEntity();
         oerDjmlEntity.setGsdm(gsdm);
@@ -712,7 +713,8 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
             String forsonTableName = headers.get("forsonTableName");
             String djlxid = headers.get("djlxid");
             String flowcode = headers.get("flowcode");
-            JSONObject seeyonData = JSONObject.parseObject(bodys);
+            JSONObject bodyObj =  JSONObject.parseObject(bodys);
+            JSONObject seeyonData = bodyObj.getJSONObject("businessDataStr");
             if (null != seeyonData){
                 /**
                  * 流程发起 保存/更新单据 要全部数据
@@ -731,7 +733,7 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                     djml.setKjnd(forjsonData0.getString("field0082"));
                     djml.setDjlxId(djlxid);
                     djml.setZt("2");
-                    djml.setCrerdm("");
+                    djml.setCrerdm(formmainData.getString("field0107"));
                     djml.setCrermc("");
                     djml.setCrerdate(formmainData.getString("startDate"));
                     djml.setDjdate(formmainData.getString("field0002"));
@@ -744,12 +746,12 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                     djml.setZy( formmainData.getString("field0009"));
                     //部门代码
                     djml.setBmdm( formmainData.getString("field0006"));
-                    djml.setBmdm( formmainData.getString("field0006"));
+                    djml.setBmmc( formmainData.getString("field0006"));
                     //项目代码
                     djml.setXmdm(forjsonData0.getString("field0074"));
                     djml.setXmmc(forjsonData0.getString("field0075"));
                     //个人代码
-                    djml.setGrdm("");
+                    djml.setGrdm(formmainData.getString("field0108"));
                     djml.setGrmc("");
                     //经济代码
                     djml.setJjdm("");
@@ -758,22 +760,25 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                     djml.setYhzh(forjsonData0.getString("field0079"));
                     djml.setKhyh(forjsonData0.getString("field0078"));
                     //当前审核节点、下个审核节点 ,不在grp审批,是不是不用填了
-                    djml.setCurshjd("");
-                    djml.setNextshjd("");
+                    djml.setCurshjd("-9");
+                    djml.setNextshjd("999");
                     djml.setFlowcode(flowcode);
                     djml.setJsfs(spliceStr(forjsonData0.getString("field0095"),forjsonData0.getString("field0094")));
                     //电话,oa上没有
-                    djml.setTel("");
+                    djml.setTel(formmainData.getString("field0110"));
                     djml.setClf_ccr(formmainData.getString("field0010"));
                     //送审日期
                     djml.setSsrq( DateUtil.format(formmainData.getDate("startDate"),"yyyyMMddHHmmssSSS"));
                     djml.setSsrid("");
                     djml.setSsr("");
 
-                    //明细
+                    //报销明细
                     List<OerDjnrEntity> djnrList = new ArrayList<>();
                     //结算方式
                     List<OerDjjsfsEntity> jsfsList = new ArrayList<>();
+                    //预算指标
+                    List<OerYszbEntity> yszbList = new ArrayList<>();
+                    //指标记录
                     int xh = 1;
                     for (int i=0; i<forsonData.size();i++) {
                         JSONObject forson = forsonData.getJSONObject(i);
@@ -786,8 +791,7 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                         djnr.setGsdm(gsdm);
                         djnr.setKjnd(kjnd);
                         djnr.setDjlxId(djlxid);
-                        //表内项id 不知道存什么
-                        djnr.setBnxId("");
+                        djnr.setBnxId(headers.get("bxmx_bnxid"));
                         djnr.setJe(je);
                         djnr.setBmdm(forson.getString("field0088"));
                         djnr.setBmmc(forson.getString("field0087"));
@@ -815,10 +819,11 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                         djnr.setClf_jtf(forson.getString("field0024"));
                         djnr.setClf_zsbz(forson.getString("field0077"));
                         djnr.setClf_zsf(forson.getString("field0025"));
+                        //伙食补助是 标准金额
                         djnr.setCLF_HSBZ(forson.getString("field0026"));
-                        //oa没有,要加
-                        djnr.setClf_hsf("");
-                        djnr.setClf_jtbz("");
+                        //伙食费是 实际报销的金额
+                        djnr.setClf_hsf(forson.getString("field0026"));
+                        djnr.setClf_jtbz(forson.getString("field0024"));
                         djnr.setClf_qtf(forson.getString("field0028"));
                         djnr.setFjs(djml.getFjs());
                         djnrList.add(djnr);
@@ -827,6 +832,7 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                         jsfs.setGsdm(gsdm);
                         jsfs.setKjnd(kjnd);
                         jsfs.setDjlxId(djlxid);
+                        jsfs.setBnxid(headers.get("jsfs_bnxid"));
                         jsfs.setXh(String.valueOf(xh));
                         jsfs.setJsfsdm(forson.getString("field0095"));
                         jsfs.setJsfsmc(forson.getString("field0094"));
@@ -843,14 +849,34 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
                         //支付方式为个人、公务卡时 可以选择 经办人、负责人、其他
                         jsfs.setRytype("");
                         //oa没有
-                        jsfs.setYt(forson.getString(""));
+                        jsfs.setYt(forson.getString("field0030"));
                         jsfsList.add(jsfs);
+                        //预算指标
+                        OerYszbEntity yszb = new OerYszbEntity();
+                        BeanUtil.copyProperties(djnr,yszb);
+                        yszb.setBnxId(headers.get("yszb_bnxid"));
+                        yszb.setZbdm(forson.getString("field0085"));
+                        yszb.setZy(forson.getString("field0111"));
+                        yszb.setKmdm(forson.getString("field0089"));
+                        yszb.setKmmc(forson.getString("field0066"));
+                        yszbList.add(yszb);
                         xh++;
                     }
                     logger.info("报销单主表:{}",JSONObject.toJSONString(djml));
                     logger.info("报销单明细表:{}",JSONObject.toJSONString(djnrList));
                     logger.info("报销单结算方式:{}",JSONObject.toJSONString(jsfsList));
-                    System.out.println("11");
+                    logger.info("报销单预算指标:{}",JSONObject.toJSONString(yszbList));
+                    djml.setOerDjnrEntityList(djnrList);
+                    djml.setOerYszbEntityList(yszbList);
+                    String djmlStr = JSONObject.toJSONString(djml);
+                    JSONObject param = new JSONObject(new LinkedHashMap<>());
+                    param = JSONObject.parseObject(djmlStr);
+                    param.put("lclb",eventType);
+                    param.put("oerDjnrEntityList",djnrList);
+                    param.put("oerYszbEntityList",yszbList);
+                    param.put("oerDjjsfsEntityList",jsfsList);
+                    //param.put("gbiZbsyrecEntitylist",null);
+                    logger.info("差旅报销单报文:{}",param.toString());
                 }
             }
         }catch (Exception ex ){