Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

配方製成表.cs 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.SceneManagement;
  5. using UnityEngine.UI;
  6. using UnityEngine.Networking;
  7. using System.Text.RegularExpressions;
  8. using System.Data.SqlClient;
  9. using TMPro;
  10. using System;
  11. using System.IO;
  12. using ZXing;
  13. using ZXing.QrCode;
  14. using System.Net;
  15. using SimpleJSON;
  16. using System.ComponentModel;
  17. using System.Runtime.InteropServices;
  18. public class 配方製成表 : MonoBehaviour
  19. {
  20. [SerializeField] TextMeshProUGUI 比例;
  21. [SerializeField] TextMeshProUGUI 溫度;
  22. [SerializeField] TextMeshProUGUI 時間;
  23. [SerializeField] TextMeshProUGUI 淨重;
  24. [SerializeField] TextMeshProUGUI 單位;
  25. [SerializeField] TextMeshProUGUI 包材;
  26. [SerializeField] TextMeshProUGUI 打包;
  27. [SerializeField] TextMeshProUGUI 條件;
  28. [SerializeField] TextMeshProUGUI 期限;
  29. [SerializeField] TextMeshProUGUI 有效;
  30. [SerializeField] TextMeshProUGUI 過敏;
  31. public GameObject buttonPrefab1;
  32. public Transform buttonParent1;
  33. public GameObject buttonceneter1;
  34. private List<GameObject> copy1 = new List<GameObject>();
  35. public GameObject buttonPrefab2;
  36. public Transform buttonParent2;
  37. public GameObject buttonceneter2;
  38. private List<GameObject> copy2 = new List<GameObject>();
  39. public GameObject buttonPrefab3;
  40. public Transform buttonParent3;
  41. public GameObject buttonceneter3;
  42. private List<GameObject> copy3 = new List<GameObject>();
  43. public GameObject buttonPrefab4;
  44. public Transform buttonParent4;
  45. public GameObject buttonceneter4;
  46. private List<GameObject> copy4 = new List<GameObject>();
  47. public GameObject buttonPrefab5;
  48. public Transform buttonParent5;
  49. public GameObject buttonceneter5;
  50. private List<GameObject> copy5 = new List<GameObject>();
  51. public GameObject buttonPrefab6;
  52. public Transform buttonParent6;
  53. public GameObject buttonceneter6;
  54. private List<GameObject> copy6 = new List<GameObject>();
  55. public GameObject buttonPrefab7;
  56. public Transform buttonParent7;
  57. public GameObject buttonceneter7;
  58. private List<GameObject> copy7 = new List<GameObject>();
  59. public GameObject buttonPrefab8;
  60. public Transform buttonParent8;
  61. public GameObject buttonceneter8;
  62. private List<GameObject> copy8 = new List<GameObject>();
  63. [SerializeField] TextMeshProUGUI 原料小計1;
  64. [SerializeField] TextMeshProUGUI 原料小計2;
  65. [SerializeField] TextMeshProUGUI 原料小計3;
  66. [SerializeField] TextMeshProUGUI 乳化小計1;
  67. [SerializeField] TextMeshProUGUI 乳化小計2;
  68. [SerializeField] TextMeshProUGUI 香料小計1;
  69. [SerializeField] TextMeshProUGUI 香料小計2;
  70. [SerializeField] TextMeshProUGUI 其他小計1;
  71. [SerializeField] TextMeshProUGUI 其他小計2;
  72. [SerializeField] TextMeshProUGUI 著色小計1;
  73. [SerializeField] TextMeshProUGUI 著色小計2;
  74. [SerializeField] TextMeshProUGUI 合計產品;
  75. [SerializeField] TextMeshProUGUI 合計產品重量;
  76. [SerializeField] RawImage 已核准;
  77. [SerializeField] RawImage 已發行;
  78. public Sprite 紅燈;
  79. public Sprite 綠燈;
  80. [SerializeField] TextMeshProUGUI 名稱;
  81. [SerializeField] TextMeshProUGUI 編號;
  82. [SerializeField] TextMeshProUGUI 種類;
  83. [SerializeField] TextMeshProUGUI 噸數;
  84. [SerializeField] TextMeshProUGUI 季節;
  85. [SerializeField] TextMeshProUGUI 版本;
  86. [SerializeField] TextMeshProUGUI 標章;
  87. [SerializeField] TextMeshProUGUI 日期;
  88. [SerializeField] TextMeshProUGUI 出貨;
  89. [SerializeField] TextMeshProUGUI 備註;
  90. [SerializeField] Toggle 代工;
  91. [SerializeField] GameObject 清單;
  92. [SerializeField] GameObject 明細;
  93. public GameObject buttonPrefab;
  94. public Transform buttonParent;
  95. public GameObject buttonceneter;
  96. private List<GameObject> copy = new List<GameObject>();
  97. double 產品和;
  98. double 重量和;
  99. public CanvasScaler canvasScaler;
  100. private string loadingText = "";
  101. private int dotCount = 0;
  102. [SerializeField] GameObject 讀取面板;
  103. [SerializeField] TextMeshProUGUI 讀取;
  104. [SerializeField] GameObject 彈跳面板;
  105. [SerializeField] TextMeshProUGUI 彈跳文字;
  106. // Start is called before the first frame update
  107. void Start()
  108. {
  109. Screen.autorotateToPortrait = false;
  110. Screen.orientation = ScreenOrientation.LandscapeLeft;
  111. float rate = 1600.0f / 1000.0f;
  112. if (Main.Global.rate>rate)
  113. {
  114. canvasScaler.matchWidthOrHeight = 1f;
  115. }
  116. else
  117. {
  118. canvasScaler.matchWidthOrHeight = 0f;
  119. }
  120. //Main.Global.阿帕契路徑="http://106.1.48.106:8080/wp-content/themes/event-star/ow_main.php?";
  121. //Main.Global.預設伺服器路徑="official";
  122. 清單.SetActive(true);
  123. 明細.SetActive(false);
  124. StartCoroutine(AnimateText());
  125. StartCoroutine(油脂種類下拉清單());
  126. }
  127. public void 截圖()
  128. {
  129. string fileName = string.Format("{0}/screenshot_{1}.png", Application.persistentDataPath, System.DateTime.Now.ToString("yyyyMMdd_HHmmss"));
  130. ScreenCapture.CaptureScreenshot(fileName);
  131. }
  132. IEnumerator AnimateText()
  133. {
  134. string qqq = 讀取.text.ToString();
  135. while (true)
  136. {
  137. yield return new WaitForSeconds(0.5f);
  138. if (dotCount < 3)
  139. {
  140. loadingText += ".";
  141. dotCount++;
  142. }
  143. else
  144. {
  145. loadingText = "";
  146. dotCount = 0;
  147. }
  148. 讀取.text = qqq+loadingText;
  149. }
  150. }
  151. IEnumerator 油脂種類下拉清單()
  152. {
  153. 讀取面板.SetActive(true);
  154. if (copy8 != null)
  155. {
  156. DeleteCopies(copy8);
  157. }
  158. string strcon = "油脂種類下拉清單";
  159. string se = Main.Global.預設伺服器路徑;
  160. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}", strcon, se);
  161. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  162. Debug.Log(strUrl);
  163. yield return request.SendWebRequest();
  164. if (request.result == UnityWebRequest.Result.ConnectionError)
  165. {
  166. Debug.Log(request.error);
  167. yield break;
  168. }
  169. JSONNode json = JSON.Parse(request.downloadHandler.text);
  170. Debug.Log(json);
  171. int sum = 5;
  172. GameObject selectedButton = null;
  173. for (int i = 0; i < json.Count; i++)
  174. {
  175. GameObject buttonObj = Instantiate(buttonPrefab8) as GameObject;
  176. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  177. buttonObj.transform.SetParent(buttonParent8, false);
  178. TextMeshProUGUI text = buttonObj.GetComponentInChildren<TextMeshProUGUI>();
  179. Button bt = buttonObj.GetComponentInChildren<Button>();
  180. Image[] im = buttonObj.GetComponentsInChildren<Image>();
  181. int index = i;
  182. bt.onClick.AddListener(() =>
  183. {
  184. string str = json[index].ToString().Trim('"');
  185. StartCoroutine(配方控制表(str));
  186. if (selectedButton != null)
  187. {
  188. Image[] prevButtonImages = selectedButton.GetComponentsInChildren<Image>();
  189. prevButtonImages[1].color = Color.white;
  190. }
  191. // 設定當前按鈕為選中狀態
  192. im[1].color = new Color32(160, 255, 160, 255);
  193. selectedButton = buttonObj;
  194. });
  195. text.text = json[i].ToString().Trim('"');
  196. sum+=100;
  197. copy8.Add(buttonObj);
  198. }
  199. buttonceneter8.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter8.GetComponent<RectTransform>().sizeDelta.x, sum);
  200. 讀取面板.SetActive(false);
  201. }
  202. IEnumerator 配方控制表(string str)
  203. {
  204. 讀取面板.SetActive(true);
  205. if (copy != null)
  206. {
  207. DeleteCopies(copy);
  208. }
  209. string strcon = "配方控制表";
  210. string se = Main.Global.預設伺服器路徑;
  211. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se,str);
  212. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  213. Debug.Log(strUrl);
  214. yield return request.SendWebRequest();
  215. if (request.result == UnityWebRequest.Result.ConnectionError)
  216. {
  217. Debug.Log(request.error);
  218. yield break;
  219. }
  220. JSONNode json = JSON.Parse(request.downloadHandler.text);
  221. Debug.Log(json);
  222. int sum = 5;
  223. for (int i = 0; i < json.Count; i++)
  224. {
  225. GameObject buttonObj = Instantiate(buttonPrefab) as GameObject;
  226. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  227. buttonObj.transform.SetParent(buttonParent, false);
  228. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  229. Button bt = buttonObj.GetComponentInChildren<Button>();
  230. int index = i;
  231. bt.onClick.AddListener(() =>
  232. {
  233. SetTextValue(名稱, json[index][2]);
  234. SetTextValue(編號, json[index][1]);
  235. SetTextValue(種類, json[index][3]);
  236. SetTextValue(噸數, json[index][7]);
  237. SetTextValue(季節, json[index][4]);
  238. SetTextValue(版本, json[index][17]);
  239. SetTextValue(標章, json[index][8]);
  240. SetTextValue(日期, json[index][6]);
  241. SetTextValue(出貨, json[index][5]);
  242. SetTextValue(比例, json[index][19]);
  243. SetTextValue(溫度, json[index][20]);
  244. SetTextValue(時間, json[index][21]);
  245. SetTextValue(淨重, json[index][24]);
  246. SetTextValue(單位, json[index][25]);
  247. SetTextValue(包材, json[index][22]);
  248. SetTextValue(打包, json[index][23]);
  249. SetTextValue(條件, json[index][26]);
  250. SetTextValue(期限, json[index][27]);
  251. SetTextValue(有效, json[index][28]);
  252. SetTextValue(過敏, json[index][29]);
  253. string jsonString = json[index][10].ToString().Trim('"');
  254. string unescapedString = Regex.Unescape(jsonString);
  255. 備註.text=unescapedString;
  256. if (json[index][9] == 1)
  257. {
  258. 代工.isOn = true;
  259. }
  260. else
  261. {
  262. 代工.isOn = false;
  263. }
  264. if (json[index][13]!= null && json[index][13].ToString().Trim('"')!= "")
  265. {
  266. 已核准.texture = 綠燈.texture;
  267. }
  268. else
  269. {
  270. 已核准.texture = 紅燈.texture;
  271. }
  272. if (json[index][14]!= null && json[index][14].ToString().Trim('"')!= "")
  273. {
  274. 已發行.texture = 綠燈.texture;
  275. }
  276. else
  277. {
  278. 已發行.texture = 紅燈.texture;
  279. }
  280. 讀取面板.SetActive(true);
  281. 產品和=0;
  282. 重量和=0;
  283. StartCoroutine(配方明細表源料油());
  284. 清單.SetActive(!清單.activeSelf);
  285. 明細.SetActive(!明細.activeSelf);
  286. });
  287. text[0].text = (i+1).ToString();
  288. text[1].text = json[i][2].ToString().Trim('"');
  289. text[2].text = json[i][4].ToString().Trim('"');
  290. text[3].text = json[i][17].ToString().Trim('"');
  291. sum+=75;
  292. copy.Add(buttonObj);
  293. }
  294. buttonceneter.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter.GetComponent<RectTransform>().sizeDelta.x, sum);
  295. 讀取面板.SetActive(false);
  296. }
  297. private void SetTextValue(TextMeshProUGUI text, string value)
  298. {
  299. if (value == null)
  300. {
  301. text.text = "";
  302. }
  303. else
  304. {
  305. string jsonString = value.Trim('"');
  306. string unescapedString = Regex.Unescape(jsonString);
  307. text.text = unescapedString;
  308. }
  309. }
  310. IEnumerator 配方明細表源料油()
  311. {
  312. if (copy1 != null)
  313. {
  314. DeleteCopies(copy1);
  315. }
  316. string strcon = "配方明細表源料油";
  317. string se = Main.Global.預設伺服器路徑;
  318. string str = 編號.text;
  319. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  320. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  321. yield return request.SendWebRequest();
  322. if (request.result == UnityWebRequest.Result.ConnectionError)
  323. {
  324. Debug.Log(request.error);
  325. yield break;
  326. }
  327. JSONNode json = JSON.Parse(request.downloadHandler.text);
  328. int sum = 5;
  329. double tt1 = 0;
  330. double tt2 = 0;
  331. double tt3 = 0;
  332. for (int i = 0; i < json.Count; i++)
  333. {
  334. GameObject buttonObj = Instantiate(buttonPrefab1) as GameObject;
  335. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  336. buttonObj.transform.SetParent(buttonParent1, false);
  337. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  338. text[0].text = (i+1).ToString();
  339. text[1].text = json[i][2].ToString().Trim('"');
  340. text[2].text = json[i][3].ToString().Trim('"');
  341. double value2;
  342. if (double.TryParse(json[i][3], out value2))
  343. {
  344. tt1 +=value2;
  345. }
  346. double value;
  347. if (double.TryParse(json[i][4], out value))
  348. {
  349. tt2 +=value;
  350. 產品和+=value;
  351. text[3].text = value.ToString("#,##0.###");
  352. }
  353. else
  354. {
  355. // 解析失敗的處理邏輯
  356. text[3].text = json[i][4].ToString().Trim('"');
  357. }
  358. double value1;
  359. if (double.TryParse(json[i][5], out value1))
  360. {
  361. tt3 +=value1;
  362. 重量和+=value1;
  363. text[4].text = value1.ToString("#,##0.###");
  364. }
  365. else
  366. {
  367. // 解析失敗的處理邏輯
  368. text[4].text = json[i][5].ToString().Trim('"');
  369. }
  370. sum+=40;
  371. copy1.Add(buttonObj);
  372. }
  373. 原料小計1.text=tt1.ToString("#,##0.###");
  374. 原料小計2.text=tt2.ToString("#,##0.###");
  375. 原料小計3.text=tt3.ToString("#,##0.###");
  376. buttonceneter1.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter1.GetComponent<RectTransform>().sizeDelta.x, sum);
  377. yield return StartCoroutine(配方明細表乳化劑());
  378. }
  379. IEnumerator 配方明細表乳化劑()
  380. {
  381. if (copy2 != null)
  382. {
  383. DeleteCopies(copy2);
  384. }
  385. string strcon = "配方明細表乳化劑";
  386. string se = Main.Global.預設伺服器路徑;
  387. string str = 編號.text;
  388. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  389. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  390. yield return request.SendWebRequest();
  391. if (request.result == UnityWebRequest.Result.ConnectionError)
  392. {
  393. Debug.Log(request.error);
  394. yield break;
  395. }
  396. JSONNode json = JSON.Parse(request.downloadHandler.text);
  397. int sum = 5;
  398. double tt1 = 0;
  399. double tt2 = 0;
  400. for (int i = 0; i < json.Count; i++)
  401. {
  402. GameObject buttonObj = Instantiate(buttonPrefab2) as GameObject;
  403. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  404. buttonObj.transform.SetParent(buttonParent2, false);
  405. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  406. text[0].text = (i+1).ToString();
  407. text[1].text = json[i][2].ToString().Trim('"');
  408. text[2].text = json[i][3].ToString().Trim('"');
  409. double value;
  410. if (double.TryParse(json[i][4], out value))
  411. {
  412. tt1 +=value;
  413. 產品和+=value;
  414. text[3].text = value.ToString("#,##0.###");
  415. }
  416. else
  417. {
  418. // 解析失敗的處理邏輯
  419. text[3].text = json[i][4].ToString().Trim('"');
  420. }
  421. double value1;
  422. if (double.TryParse(json[i][5], out value1))
  423. {
  424. tt2 +=value1;
  425. 重量和+=value1;
  426. text[4].text = value1.ToString("#,##0.###");
  427. }
  428. else
  429. {
  430. // 解析失敗的處理邏輯
  431. text[4].text = json[i][5].ToString().Trim('"');
  432. }
  433. sum+=40;
  434. copy2.Add(buttonObj);
  435. }
  436. 乳化小計1.text = tt1.ToString("#,##0.###");
  437. 乳化小計2.text = tt2.ToString("#,##0.###");
  438. buttonceneter2.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter2.GetComponent<RectTransform>().sizeDelta.x, sum);
  439. yield return StartCoroutine(配方明細表香料());
  440. }
  441. IEnumerator 配方明細表香料()
  442. {
  443. if (copy3 != null)
  444. {
  445. DeleteCopies(copy3);
  446. }
  447. string strcon = "配方明細表香料";
  448. string se = Main.Global.預設伺服器路徑;
  449. string str = 編號.text;
  450. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  451. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  452. yield return request.SendWebRequest();
  453. if (request.result == UnityWebRequest.Result.ConnectionError)
  454. {
  455. Debug.Log(request.error);
  456. yield break;
  457. }
  458. JSONNode json = JSON.Parse(request.downloadHandler.text);
  459. int sum = 5;
  460. double tt1 = 0;
  461. double tt2 = 0;
  462. for (int i = 0; i < json.Count; i++)
  463. {
  464. GameObject buttonObj = Instantiate(buttonPrefab3) as GameObject;
  465. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  466. buttonObj.transform.SetParent(buttonParent3, false);
  467. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  468. text[0].text = (i+1).ToString();
  469. text[1].text = json[i][2].ToString().Trim('"');
  470. text[2].text = json[i][3].ToString().Trim('"');
  471. double value;
  472. if (double.TryParse(json[i][4], out value))
  473. {
  474. tt1 +=value;
  475. 產品和+=value;
  476. text[3].text = value.ToString("#,##0.###");
  477. }
  478. else
  479. {
  480. // 解析失敗的處理邏輯
  481. text[3].text = json[i][4].ToString().Trim('"');
  482. }
  483. double value1;
  484. if (double.TryParse(json[i][5], out value1))
  485. {
  486. tt2 +=value1;
  487. 重量和+=value1;
  488. text[4].text = value1.ToString("#,##0.###");
  489. }
  490. else
  491. {
  492. // 解析失敗的處理邏輯
  493. text[4].text = json[i][5].ToString().Trim('"');
  494. }
  495. sum+=40;
  496. copy3.Add(buttonObj);
  497. }
  498. 香料小計1.text = tt1.ToString("#,##0.###");
  499. 香料小計2.text = tt2.ToString("#,##0.###");
  500. buttonceneter3.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter3.GetComponent<RectTransform>().sizeDelta.x, sum);
  501. yield return StartCoroutine(配方明細表其他());
  502. }
  503. IEnumerator 配方明細表其他()
  504. {
  505. if (copy4 != null)
  506. {
  507. DeleteCopies(copy4);
  508. }
  509. string strcon = "配方明細表其他";
  510. string se = Main.Global.預設伺服器路徑;
  511. string str = 編號.text;
  512. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  513. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  514. yield return request.SendWebRequest();
  515. if (request.result == UnityWebRequest.Result.ConnectionError)
  516. {
  517. Debug.Log(request.error);
  518. yield break;
  519. }
  520. JSONNode json = JSON.Parse(request.downloadHandler.text);
  521. int sum = 5;
  522. double tt1 = 0;
  523. double tt2 = 0;
  524. for (int i = 0; i < json.Count; i++)
  525. {
  526. GameObject buttonObj = Instantiate(buttonPrefab4) as GameObject;
  527. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  528. buttonObj.transform.SetParent(buttonParent4, false);
  529. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  530. text[0].text = (i+1).ToString();
  531. text[1].text = json[i][2].ToString().Trim('"');
  532. text[2].text = json[i][3].ToString().Trim('"');
  533. double value;
  534. if (double.TryParse(json[i][4], out value))
  535. {
  536. tt1 +=value;
  537. 產品和+=value;
  538. text[3].text = value.ToString("#,##0.###");
  539. }
  540. else
  541. {
  542. // 解析失敗的處理邏輯
  543. text[3].text = json[i][4].ToString().Trim('"');
  544. }
  545. double value1;
  546. if (double.TryParse(json[i][5], out value1))
  547. {
  548. tt2 +=value1;
  549. 重量和+=value1;
  550. text[4].text = value1.ToString("#,##0.###");
  551. }
  552. else
  553. {
  554. // 解析失敗的處理邏輯
  555. text[4].text = json[i][5].ToString().Trim('"');
  556. }
  557. sum+=40;
  558. copy4.Add(buttonObj);
  559. }
  560. 其他小計1.text = tt1.ToString("#,##0.###");
  561. 其他小計2.text = tt2.ToString("#,##0.###");
  562. buttonceneter4.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter4.GetComponent<RectTransform>().sizeDelta.x, sum);
  563. yield return StartCoroutine(配方明細表著色劑());
  564. }
  565. IEnumerator 配方明細表著色劑()
  566. {
  567. if (copy5 != null)
  568. {
  569. DeleteCopies(copy5);
  570. }
  571. string strcon = "配方明細表著色劑";
  572. string se = Main.Global.預設伺服器路徑;
  573. string str = 編號.text;
  574. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  575. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  576. yield return request.SendWebRequest();
  577. if (request.result == UnityWebRequest.Result.ConnectionError)
  578. {
  579. Debug.Log(request.error);
  580. yield break;
  581. }
  582. JSONNode json = JSON.Parse(request.downloadHandler.text);
  583. int sum = 5;
  584. double tt1 = 0;
  585. double tt2 = 0;
  586. for (int i = 0; i < json.Count; i++)
  587. {
  588. GameObject buttonObj = Instantiate(buttonPrefab5) as GameObject;
  589. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  590. buttonObj.transform.SetParent(buttonParent5, false);
  591. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  592. text[0].text = (i+1).ToString();
  593. text[1].text = json[i][2].ToString().Trim('"');
  594. text[2].text = json[i][3].ToString().Trim('"');
  595. double value;
  596. if (double.TryParse(json[i][4], out value))
  597. {
  598. tt1 +=value;
  599. 產品和+=value;
  600. text[3].text = value.ToString("#,##0.###");
  601. }
  602. else
  603. {
  604. // 解析失敗的處理邏輯
  605. text[3].text = json[i][4].ToString().Trim('"');
  606. }
  607. double value1;
  608. if (double.TryParse(json[i][5], out value1))
  609. {
  610. tt2 +=value1;
  611. 重量和+=(value1/1000);
  612. text[4].text = value1.ToString("#,##0.###");
  613. }
  614. else
  615. {
  616. // 解析失敗的處理邏輯
  617. text[4].text = json[i][5].ToString().Trim('"');
  618. }
  619. sum+=40;
  620. copy5.Add(buttonObj);
  621. }
  622. 著色小計1.text = tt1.ToString("#,##0.###");
  623. 著色小計2.text = tt2.ToString("#,##0.###");
  624. 合計產品.text = 產品和.ToString("#,##0.##") + " %";
  625. 合計產品重量.text = 重量和.ToString("#,##0.##") + " kg";
  626. buttonceneter5.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter5.GetComponent<RectTransform>().sizeDelta.x, sum);
  627. yield return StartCoroutine(配方明細表油脂規格());
  628. }
  629. IEnumerator 配方明細表油脂規格()
  630. {
  631. if (copy6 != null)
  632. {
  633. DeleteCopies(copy6);
  634. }
  635. string strcon = "配方明細表油脂規格";
  636. string se = Main.Global.預設伺服器路徑;
  637. string str = 編號.text;
  638. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  639. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  640. yield return request.SendWebRequest();
  641. if (request.result == UnityWebRequest.Result.ConnectionError)
  642. {
  643. Debug.Log(request.error);
  644. yield break;
  645. }
  646. JSONNode json = JSON.Parse(request.downloadHandler.text);
  647. int sum = 5;
  648. for (int i = 0; i < json.Count; i++)
  649. {
  650. GameObject buttonObj = Instantiate(buttonPrefab6) as GameObject;
  651. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  652. buttonObj.transform.SetParent(buttonParent6, false);
  653. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  654. text[0].text = (i+1).ToString();
  655. text[1].text = json[i][2].ToString().Trim('"');
  656. text[2].text = json[i][3].ToString().Trim('"');
  657. sum+=40;
  658. copy6.Add(buttonObj);
  659. }
  660. buttonceneter6.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter6.GetComponent<RectTransform>().sizeDelta.x, sum);
  661. yield return StartCoroutine(配方明細表產品規格());
  662. }
  663. IEnumerator 配方明細表產品規格()
  664. {
  665. if (copy7 != null)
  666. {
  667. DeleteCopies(copy7);
  668. }
  669. string strcon = "配方明細表產品規格";
  670. string se = Main.Global.預設伺服器路徑;
  671. string str = 編號.text;
  672. string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}", strcon, se, str);
  673. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  674. yield return request.SendWebRequest();
  675. if (request.result == UnityWebRequest.Result.ConnectionError)
  676. {
  677. Debug.Log(request.error);
  678. yield break;
  679. }
  680. JSONNode json = JSON.Parse(request.downloadHandler.text);
  681. int sum = 5;
  682. for (int i = 0; i < json.Count; i++)
  683. {
  684. GameObject buttonObj = Instantiate(buttonPrefab7) as GameObject;
  685. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(2, -sum);
  686. buttonObj.transform.SetParent(buttonParent7, false);
  687. TextMeshProUGUI[] text = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  688. text[0].text = (i+1).ToString();
  689. text[1].text = json[i][2].ToString().Trim('"');
  690. text[2].text = json[i][3].ToString().Trim('"');
  691. sum+=40;
  692. copy7.Add(buttonObj);
  693. }
  694. buttonceneter7.GetComponent<RectTransform>().sizeDelta = new Vector2(buttonceneter7.GetComponent<RectTransform>().sizeDelta.x, sum);
  695. 讀取面板.SetActive(false);
  696. }
  697. public void 清單按鈕()
  698. {
  699. 清單.SetActive(!清單.activeSelf);
  700. 明細.SetActive(!明細.activeSelf);
  701. }
  702. private void DeleteCopies(List<GameObject> copyList)
  703. {
  704. foreach (GameObject copy in copyList)
  705. {
  706. Destroy(copy);
  707. }
  708. copyList.Clear();
  709. }
  710. public void back()
  711. {
  712. change_Secen(1);
  713. }
  714. public void change_Secen(int _screenNum)
  715. {
  716. SceneManager.LoadScene(_screenNum);
  717. }
  718. }