修复了邮件、报销审批部分的点击详情之后内容与所点击不符的BUG;报销部分增加支持了请求无限个报销审批条目(依赖于201大数据传输接口)

This commit is contained in:
my-style
2020-03-03 23:16:35 +08:00
parent e79f876aca
commit 745b528621
12 changed files with 1302 additions and 1096 deletions
+95 -105
View File
@@ -9,10 +9,9 @@
<list default="true" id="f2ca1002-1ec5-49f3-ab6f-fb7dec9c9e4d" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/ndn/pib.db" beforeDir="false" afterPath="$PROJECT_DIR$/ndn/pib.db" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementApplyController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementApplyController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementDealController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementDealController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyEmailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyEmailController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/.gradle/" />
@@ -128,14 +127,14 @@
<entry key="MF" value="92" />
<entry key="fxml" value="4" />
<entry key="gradle" value="366" />
<entry key="java" value="11016" />
<entry key="java" value="11294" />
<entry key="txt" value="89" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="Groovy" value="366" />
<entry key="JAVA" value="11016" />
<entry key="JAVA" value="11294" />
<entry key="Manifest" value="92" />
<entry key="PLAIN_TEXT" value="89" />
<entry key="XML" value="4" />
@@ -148,11 +147,11 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="179">
<caret line="291" column="20" lean-forward="true" selection-start-line="291" selection-start-column="20" selection-end-line="291" selection-end-column="20" />
<state relative-caret-position="229">
<caret line="237" column="65" lean-forward="true" selection-start-line="237" selection-start-column="65" selection-end-line="237" selection-end-column="65" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#6678#6679#0" expanded="true" />
@@ -171,8 +170,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementApplyController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="124" column="22" lean-forward="true" selection-start-line="124" selection-start-column="22" selection-end-line="124" selection-end-column="22" />
<state relative-caret-position="396">
<caret line="367" column="29" lean-forward="true" selection-start-line="367" selection-start-column="29" selection-end-line="367" selection-end-column="29" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -180,13 +179,15 @@
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementDealController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
<caret line="46" column="53" lean-forward="true" selection-start-line="46" selection-start-column="53" selection-end-line="46" selection-end-column="53" />
<state relative-caret-position="148">
<caret line="290" column="37" selection-start-line="290" selection-start-column="37" selection-end-line="290" selection-end-column="37" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#697#698#0" expanded="true" />
<element signature="e#768#769#0" expanded="true" />
</folding>
</state>
</provider>
@@ -205,28 +206,6 @@
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyNoticeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="62" column="53" lean-forward="true" selection-start-line="62" selection-start-column="53" selection-end-line="62" selection-end-column="53" />
<folding>
<element signature="e#484#973#0" expanded="true" />
<element signature="e#972#973#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenNoticeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="73" column="16" lean-forward="true" selection-start-line="73" selection-start-column="16" selection-end-line="73" selection-end-column="16" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java">
<provider selected="true" editor-type-id="text-editor">
@@ -244,8 +223,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="215">
<caret line="112" column="9" lean-forward="true" selection-start-line="112" selection-start-column="9" selection-end-line="112" selection-end-column="9" />
<state relative-caret-position="125">
<caret line="558" column="23" lean-forward="true" selection-start-line="558" selection-start-column="23" selection-end-line="558" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -265,9 +244,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>home</find>
<find>ini</find>
<find>时间</find>
<find>联系人</find>
<find>han</find>
<find>switch</find>
@@ -288,13 +264,16 @@
<find>验证</find>
<find>邮件</find>
<find>exit</find>
<find>通知</find>
<find>SECOND_MINEPANE</find>
<find>NOTICEPANE</find>
<find>消息</find>
<find>GetNewN</find>
<find>初始化</find>
<find>详细信息</find>
<find>通知</find>
<find>getDataSlice</find>
<find>201</find>
<find>getReim</find>
</findStrings>
</component>
<component name="Git.Settings">
@@ -748,13 +727,13 @@
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenEmailController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/DataCacheQueue.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/model/SingleNotice.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenNoticeController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyEmailController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementApplyController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementDealController.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java" />
</list>
</option>
</component>
@@ -881,8 +860,17 @@
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="minoa" type="462c0819:PsiDirectoryNode" />
<item name="view" type="462c0819:PsiDirectoryNode" />
<item name="home" type="462c0819:PsiDirectoryNode" />
<item name="ReimbursementApplyController.java" type="529ef68f:ClassesTreeStructureProvider$PsiClassOwnerTreeNode" />
<item name="login" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Demo_gradle_javafx11_01" type="b2602c69:ProjectViewProjectNode" />
<item name="Demo_gradle_javafx11_01" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="minoa" type="462c0819:PsiDirectoryNode" />
<item name="view" type="462c0819:PsiDirectoryNode" />
<item name="mine" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Demo_gradle_javafx11_01" type="b2602c69:ProjectViewProjectNode" />
@@ -900,9 +888,9 @@
</panes>
</component>
<component name="PropertiesComponent">
<property name="SearchEverywhereHistoryKey" value="file&#9;ACTION&#9;ChangeFileEncodingAction" />
<property name="SearchEverywhereHistoryKey" value="reformat&#9;ACTION&#9;ReformatCode&#10;file&#9;ACTION&#9;ChangeFileEncodingAction" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1583245084004" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1583248333571" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib/sqlite-jdbc-3.30.1.jar" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
@@ -1061,18 +1049,18 @@
<workItem from="1582199584649" duration="14818000" />
<workItem from="1582298070552" duration="40738000" />
<workItem from="1582631725284" duration="1253000" />
<workItem from="1583216488193" duration="17272000" />
<workItem from="1583216488193" duration="20614000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="134486000" />
<option name="totallyTimeSpent" value="137828000" />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
<editor active="true" />
<layout>
<window_info content_ui="combo" id="Project" order="0" sideWeight="0.4977029" visible="true" weight="0.27836612" />
<window_info content_ui="combo" id="Project" order="0" sideWeight="0.4977029" visible="true" weight="0.13313162" />
<window_info id="Structure" order="1" sideWeight="0.5022971" side_tool="true" weight="0.30542988" />
<window_info id="Designer" order="2" />
<window_info id="Image Layers" order="3" />
@@ -1081,7 +1069,7 @@
<window_info id="Capture Tool" order="6" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32874617" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.24958949" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.13464697" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39901477" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
@@ -1428,46 +1416,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="167">
<caret line="180" column="39" selection-start-line="180" selection-start-column="39" selection-end-line="180" selection-end-column="39" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#33353#33354#0" expanded="true" />
<element signature="e#33380#33381#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="215">
<caret line="112" column="9" lean-forward="true" selection-start-line="112" selection-start-column="9" selection-end-line="112" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenNoticeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="73" column="16" lean-forward="true" selection-start-line="73" selection-start-column="16" selection-end-line="73" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyNoticeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="62" column="53" lean-forward="true" selection-start-line="62" selection-start-column="53" selection-end-line="62" selection-end-column="53" />
<folding>
<element signature="e#484#973#0" expanded="true" />
<element signature="e#972#973#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/model/Email.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="259">
@@ -1491,16 +1439,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementDealController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
<caret line="46" column="53" lean-forward="true" selection-start-line="46" selection-start-column="53" selection-end-line="46" selection-end-column="53" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenEmailController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="334">
@@ -1511,10 +1449,40 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementApplyController.java">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="124" column="22" lean-forward="true" selection-start-line="124" selection-start-column="22" selection-end-line="124" selection-end-column="22" />
<state relative-caret-position="167">
<caret line="180" column="39" selection-start-line="180" selection-start-column="39" selection-end-line="180" selection-end-column="39" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#33353#33354#0" expanded="true" />
<element signature="e#33380#33381#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenNoticeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="197">
<caret line="72" column="26" lean-forward="true" selection-start-line="72" selection-start-column="26" selection-end-line="72" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyNoticeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="77">
<caret line="53" column="45" lean-forward="true" selection-start-line="53" selection-start-column="45" selection-end-line="53" selection-end-column="45" />
<folding>
<element signature="e#484#973#0" expanded="true" />
<element signature="e#972#973#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="125">
<caret line="558" column="23" lean-forward="true" selection-start-line="558" selection-start-column="23" selection-end-line="558" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -1523,8 +1491,8 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="179">
<caret line="291" column="20" lean-forward="true" selection-start-line="291" selection-start-column="20" selection-end-line="291" selection-end-column="20" />
<state relative-caret-position="229">
<caret line="237" column="65" lean-forward="true" selection-start-line="237" selection-start-column="65" selection-end-line="237" selection-end-column="65" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#6678#6679#0" expanded="true" />
@@ -1539,6 +1507,28 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementApplyController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="367" column="29" lean-forward="true" selection-start-line="367" selection-start-column="29" selection-end-line="367" selection-end-column="29" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/ReimbursementDealController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="148">
<caret line="290" column="37" selection-start-line="290" selection-start-column="37" selection-end-line="290" selection-end-column="37" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#697#698#0" expanded="true" />
<element signature="e#768#769#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
+5
View File
@@ -233,6 +233,11 @@ public class MainApp extends Application {
return res;
}
//201大数据接口:取数据片
public String getGetDataSlice201(String dataId,Integer sliceNo){
return loginerController.getGetDataSlice(dataId,sliceNo);
}
// 开启监听之后接收到新聊天消息时的处理=>被minoaDataAPI调用
public void handleGetNewMessage(SingleMessage singleMessage) {
// 判断联系人列表界面是否加载出来,如果没有加载出来【0xx】,则:将消息加入未读消息列表
@@ -1,6 +1,7 @@
package cn.minoa.view.home;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.LinkedList;
import java.util.List;
@@ -240,11 +241,115 @@ public class ReimbursementApplyController {
return -1;
}
} else if(codeInteger==201){
System.out.println("201:报销审批,请使用大数据接口获取数据");
// System.out.println("201:报销审批,请使用大数据接口获取数据");
String dataString="";
try {
dataString = jsonObject.getString("data");
} catch (JSONException e) {
e.printStackTrace();
return -1;
}
if (dataString.equals("")) {
//数据为空
} else {
try {
JSONObject dataJsonObject = null;
dataJsonObject = new JSONObject(dataString);
String dataIdString = dataJsonObject.getString("dataId");
Integer dataSizeInteger = dataJsonObject.getInt("dataSize");
Integer sliceNumInteger = dataJsonObject.getInt("sliceNum");
Integer sliceSizeInteger = dataJsonObject.getInt("sliceSize");
byte[] noticelistByte = new byte[dataSizeInteger];
for (Integer sliceNo = 0; sliceNo < sliceNumInteger; sliceNo++) {
// 发送数据请求
Long seqLongT = mainApp.getNewDataReqId();
orderInfo.setSeq(seqLongT);
System.out.println("getDataSlice: " + mainApp.getGetDataSlice201(dataIdString, sliceNo));
orderInfo.setJsonString(mainApp.getGetDataSlice201(dataIdString, sliceNo));
mainApp.minoaDataAPI.executeOrder("/getDataSlice", orderInfo);
// 获取用户列表信息
ResponseData responseDataCache = mainApp.minoaDataAPI.dataCacheQueue.getResponseDataBySeq(seqLongT);
byte[] byteCache = responseDataCache.getFileSlice();
System.out.println("byteCache size:" + byteCache.length);
System.out.println("byteCache:" + byteCache);
if (sliceNo == (sliceNumInteger - 1)) {
for (int x = (sliceNo * sliceSizeInteger); x < dataSizeInteger; x++) {
noticelistByte[x] = byteCache[x - (sliceNo * sliceSizeInteger)];
}
} else {
for (int x = (sliceNo * sliceSizeInteger); x < (sliceNo * sliceSizeInteger + 7000); x++) {
noticelistByte[x] = byteCache[x - (sliceNo * sliceSizeInteger)];
}
}
}
String cacheString = null;
try {
cacheString = new String(noticelistByte, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return -1;
}
System.out.println(cacheString);
//解析报销列表
JSONArray dataJsonArray = new JSONArray(cacheString);
String reimbursementCacheString;
JSONObject reimbursementCacheJsonObject;
// 遍历每个信息
for (int i = 0; i < dataJsonArray.length(); i++) {
reimbursementCacheString = dataJsonArray.getString(i);
reimbursementCacheJsonObject = new JSONObject(reimbursementCacheString);
Integer id = reimbursementCacheJsonObject.getInt("approvalId");
String senderInfo = reimbursementCacheJsonObject.getString("proposer");
// 解析发送者和接收者的姓名
String receiverInfo = reimbursementCacheJsonObject.getString("approver");
Integer process = reimbursementCacheJsonObject.getInt("process");
String detailString = reimbursementCacheJsonObject.getString("detail");
JSONObject receiverJsonObject = new JSONObject(receiverInfo);
JSONObject senderJsonObject = new JSONObject(senderInfo);
String sender_usernameString = senderJsonObject.getString("username");
String receiver_usernameString = receiverJsonObject.getString("username");
// 解析报销详细内容
System.out.println("报销详细: " + detailString);
detailString = detailString.substring(1, detailString.length() - 1);
System.out.println("处理后的报销详细: " + detailString);
JSONObject detailJsonObject = new JSONObject(detailString);
Long detail_date = detailJsonObject.getLong("date");
String detail_content = detailJsonObject.getString("content");
Integer detail_invoiceNum = detailJsonObject.getInt("invoiceNum");
Double detail_totalMoney = detailJsonObject.getDouble("totalMoney");
String detail_detail = detailJsonObject.getString("detail");
//解析邮件的附件列表
String filesString = detailJsonObject.getString("pictures");
JSONArray filesJsonArray = new JSONArray(filesString);
List<String> reimbursementfiles = new LinkedList<String>();
for (int j = 0; j < filesJsonArray.length(); j++) {
String onefileString = filesJsonArray.getString(j);
reimbursementfiles.add(onefileString);
}
//构建一个报销对象
Reimbursement reimbursement = new Reimbursement();
reimbursement.setId(id);
reimbursement.setProcess(process);
reimbursement.setDate(detail_date);
reimbursement.setContent(detail_content);
reimbursement.setDetail(detail_detail);
reimbursement.setNumber(detail_invoiceNum);
reimbursement.setTotalMoney(detail_totalMoney);
reimbursement.setSender(sender_usernameString);
reimbursement.setReceiver(receiver_usernameString);
reimbursement.files = reimbursementfiles;
reimbursementInfoList.add(reimbursement);
}
return 0;
} catch (JSONException e) {
e.printStackTrace();
return -1;
}
}
return 0;
} else {
return -1;
}
return -1;
}
// 获取记录命令: 0表示查询我发送的,1表示查询发送给我的
@@ -256,7 +361,7 @@ public class ReimbursementApplyController {
Integer typeCodeInteger = 2;
Integer queryCodeInteger = queryCode;
Integer pageNoInteger = 0; // 页编号
Integer pageSizeInteger = 6; // 页大小
Integer pageSizeInteger = 100; // 页大小
try {
jsonObject.put("command", commandString);
jsonObject.put("username", usernameString);
@@ -11,6 +11,7 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.UnsupportedEncodingException;
import java.util.LinkedList;
import java.util.List;
@@ -21,7 +22,7 @@ public class ReimbursementDealController {
@FXML
private ListView<Pane> reimbursementList;
public ReimbursementDealController(){
public ReimbursementDealController() {
reimbursementInfoList = new LinkedList<Reimbursement>();
}
@@ -48,7 +49,7 @@ public class ReimbursementDealController {
}
//弹出一个可以选择通过审批或者拒绝通过审批的弹窗
private void dealReimbursementDetails(Integer paneId){
private void dealReimbursementDetails(Integer paneId) {
// 在当前数据结构中找到这个emailId对应的邮件
Reimbursement reimbursement = new Reimbursement();
for (int i = 0; i < reimbursementInfoList.size(); i++) {
@@ -117,16 +118,16 @@ public class ReimbursementDealController {
String senderInfo = reimbursementCacheJsonObject.getString("proposer");
// 解析发送者和接收者的姓名
String receiverInfo = reimbursementCacheJsonObject.getString("approver");
Integer process=reimbursementCacheJsonObject.getInt("process");
Integer process = reimbursementCacheJsonObject.getInt("process");
String detailString = reimbursementCacheJsonObject.getString("detail");
JSONObject receiverJsonObject = new JSONObject(receiverInfo);
JSONObject senderJsonObject = new JSONObject(senderInfo);
String sender_usernameString = senderJsonObject.getString("username");
String receiver_usernameString = receiverJsonObject.getString("username");
// 解析报销详细内容
System.out.println("报销详细: "+detailString);
detailString=detailString.substring(1,detailString.length()-1);
System.out.println("处理后的报销详细: "+detailString);
System.out.println("报销详细: " + detailString);
detailString = detailString.substring(1, detailString.length() - 1);
System.out.println("处理后的报销详细: " + detailString);
JSONObject detailJsonObject = new JSONObject(detailString);
Long detail_date = detailJsonObject.getLong("date");
String detail_content = detailJsonObject.getString("content");
@@ -134,11 +135,11 @@ public class ReimbursementDealController {
Double detail_totalMoney = detailJsonObject.getDouble("totalMoney");
String detail_detail = detailJsonObject.getString("detail");
//解析邮件的附件列表
String filesString=detailJsonObject.getString("pictures");
JSONArray filesJsonArray=new JSONArray(filesString);
List<String> reimbursementfiles=new LinkedList<String>();
for(int j=0;j<filesJsonArray.length();j++) {
String onefileString=filesJsonArray.getString(j);
String filesString = detailJsonObject.getString("pictures");
JSONArray filesJsonArray = new JSONArray(filesString);
List<String> reimbursementfiles = new LinkedList<String>();
for (int j = 0; j < filesJsonArray.length(); j++) {
String onefileString = filesJsonArray.getString(j);
reimbursementfiles.add(onefileString);
}
//构建一个报销对象
@@ -152,10 +153,10 @@ public class ReimbursementDealController {
reimbursement.setTotalMoney(detail_totalMoney);
reimbursement.setSender(sender_usernameString);
reimbursement.setReceiver(receiver_usernameString);
reimbursement.files=reimbursementfiles;
if(reimbursement.getProcess()==0){
reimbursement.files = reimbursementfiles;
if (reimbursement.getProcess() == 0) {
reimbursementInfoList.add(reimbursement);
}else{
} else {
//do nothing
}
}
@@ -165,12 +166,117 @@ public class ReimbursementDealController {
e.printStackTrace();
return -1;
}
} else if(codeInteger==201){
System.out.println("201:报销审批,请使用大数据接口获取数据");
} else if (codeInteger == 201) {
// System.out.println("201:报销审批,请使用大数据接口获取数据");
String dataString="";
try {
dataString = jsonObject.getString("data");
} catch (JSONException e) {
e.printStackTrace();
return -1;
}
if (dataString.equals("")) {
//数据为空
} else {
try {
JSONObject dataJsonObject = null;
dataJsonObject = new JSONObject(dataString);
String dataIdString = dataJsonObject.getString("dataId");
Integer dataSizeInteger = dataJsonObject.getInt("dataSize");
Integer sliceNumInteger = dataJsonObject.getInt("sliceNum");
Integer sliceSizeInteger = dataJsonObject.getInt("sliceSize");
byte[] noticelistByte = new byte[dataSizeInteger];
for (Integer sliceNo = 0; sliceNo < sliceNumInteger; sliceNo++) {
// 发送数据请求
Long seqLongT = mainApp.getNewDataReqId();
orderInfo.setSeq(seqLongT);
System.out.println("getDataSlice: " + mainApp.getGetDataSlice201(dataIdString, sliceNo));
orderInfo.setJsonString(mainApp.getGetDataSlice201(dataIdString, sliceNo));
mainApp.minoaDataAPI.executeOrder("/getDataSlice", orderInfo);
// 获取用户列表信息
ResponseData responseDataCache = mainApp.minoaDataAPI.dataCacheQueue.getResponseDataBySeq(seqLongT);
byte[] byteCache = responseDataCache.getFileSlice();
System.out.println("byteCache size:" + byteCache.length);
System.out.println("byteCache:" + byteCache);
if (sliceNo == (sliceNumInteger - 1)) {
for (int x = (sliceNo * sliceSizeInteger); x < dataSizeInteger; x++) {
noticelistByte[x] = byteCache[x - (sliceNo * sliceSizeInteger)];
}
} else {
for (int x = (sliceNo * sliceSizeInteger); x < (sliceNo * sliceSizeInteger + 7000); x++) {
noticelistByte[x] = byteCache[x - (sliceNo * sliceSizeInteger)];
}
}
}
String cacheString = null;
try {
cacheString = new String(noticelistByte, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return -1;
}
System.out.println(cacheString);
//解析报销列表
JSONArray dataJsonArray = new JSONArray(cacheString);
String reimbursementCacheString;
JSONObject reimbursementCacheJsonObject;
// 遍历每个信息
for (int i = 0; i < dataJsonArray.length(); i++) {
reimbursementCacheString = dataJsonArray.getString(i);
reimbursementCacheJsonObject = new JSONObject(reimbursementCacheString);
Integer id = reimbursementCacheJsonObject.getInt("approvalId");
String senderInfo = reimbursementCacheJsonObject.getString("proposer");
// 解析发送者和接收者的姓名
String receiverInfo = reimbursementCacheJsonObject.getString("approver");
Integer process = reimbursementCacheJsonObject.getInt("process");
String detailString = reimbursementCacheJsonObject.getString("detail");
JSONObject receiverJsonObject = new JSONObject(receiverInfo);
JSONObject senderJsonObject = new JSONObject(senderInfo);
String sender_usernameString = senderJsonObject.getString("username");
String receiver_usernameString = receiverJsonObject.getString("username");
// 解析报销详细内容
System.out.println("报销详细: " + detailString);
detailString = detailString.substring(1, detailString.length() - 1);
System.out.println("处理后的报销详细: " + detailString);
JSONObject detailJsonObject = new JSONObject(detailString);
Long detail_date = detailJsonObject.getLong("date");
String detail_content = detailJsonObject.getString("content");
Integer detail_invoiceNum = detailJsonObject.getInt("invoiceNum");
Double detail_totalMoney = detailJsonObject.getDouble("totalMoney");
String detail_detail = detailJsonObject.getString("detail");
//解析邮件的附件列表
String filesString = detailJsonObject.getString("pictures");
JSONArray filesJsonArray = new JSONArray(filesString);
List<String> reimbursementfiles = new LinkedList<String>();
for (int j = 0; j < filesJsonArray.length(); j++) {
String onefileString = filesJsonArray.getString(j);
reimbursementfiles.add(onefileString);
}
//构建一个报销对象
Reimbursement reimbursement = new Reimbursement();
reimbursement.setId(id);
reimbursement.setProcess(process);
reimbursement.setDate(detail_date);
reimbursement.setContent(detail_content);
reimbursement.setDetail(detail_detail);
reimbursement.setNumber(detail_invoiceNum);
reimbursement.setTotalMoney(detail_totalMoney);
reimbursement.setSender(sender_usernameString);
reimbursement.setReceiver(receiver_usernameString);
reimbursement.files = reimbursementfiles;
if (reimbursement.getProcess() == 0) {
reimbursementInfoList.add(reimbursement);
}
}
} catch (JSONException e) {
e.printStackTrace();
return -1;
}
}
return 0;
} else {
return -1;
}
return -1;
}
// 获取邮件记录命令: 0表示查询我发送的,1表示查询发送给我的
@@ -182,7 +288,7 @@ public class ReimbursementDealController {
Integer typeCodeInteger = 2;
Integer queryCodeInteger = queryCode;
Integer pageNoInteger = 0; // 页编号
Integer pageSizeInteger = 6; // 页大小
Integer pageSizeInteger = 100; // 页大小
try {
jsonObject.put("command", commandString);
jsonObject.put("username", usernameString);
File diff suppressed because it is too large Load Diff