From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:34:12 +0800
Subject: [PATCH] lexcommunityupload0714
---
force-app/main/default/classes/LexOutboundorderImportController.cls | 1920 +++++++++++++++++++++++++++--------------------------------
1 files changed, 892 insertions(+), 1,028 deletions(-)
diff --git a/force-app/main/default/classes/LexOutboundorderImportController.cls b/force-app/main/default/classes/LexOutboundorderImportController.cls
index af454e1..aad8163 100644
--- a/force-app/main/default/classes/LexOutboundorderImportController.cls
+++ b/force-app/main/default/classes/LexOutboundorderImportController.cls
@@ -1,1054 +1,918 @@
public without sharing class LexOutboundorderImportController {
- //缁忛攢鍟嗕骇鍝佸垎绫�
- public static String agencyProType { get; set; }
- private static String sqlagencyProType;
- public static Blob csvFileBody { get; set; }
- public static string csvAsString { get; set; }
- public static String[] csvFileLines { get; set; }
- public static List<ConsumableorderdetailsInfo> orderRecords { get; set; }
- public static List<String[]> csvRecordStr { get; set; }
- public static Map<String, String> hospitalconMap { get; set; }
- public static Map<String, String> product2conMap { get; set; }
- public static Map<String, String> hospitalSysMap { get; set; }
- public static Map<String, String> secondAgencyMap { get; set; }
- private static String accountid { get; set; }
- private static String accountName { get; set; }
- private static Integer messageCount;
- public static boolean saveFLGbln { get; set; }
- private static List<String> barcodeList { get; set; }
- private static List<String> barcodePieceList { get; set; }
- public static Map<String, Integer> barcodePieceMap { get; set; }
- public static boolean errorflg { get; set; }
- public static String errorMessage { get; set; }
- private static String userWorkLocation { get; set; }
- public static String errorMsg { get; set; }
+ //缁忛攢鍟嗕骇鍝佸垎绫�
+ public static String agencyProType { get; set; }
+ private static String sqlagencyProType;
+ public static Blob csvFileBody { get; set; }
+ public static string csvAsString { get; set; }
+ public static String[] csvFileLines { get; set; }
+ public static List<ConsumableorderdetailsInfo> orderRecords { get; set; }
+ public static List<String[]> csvRecordStr { get; set; }
+ public static Map<String, String> hospitalconMap { get; set; }
+ public static Map<String, String> product2conMap { get; set; }
+ public static Map<String, String> hospitalSysMap { get; set; }
+ public static Map<String, String> secondAgencyMap { get; set; }
+ private static String accountid { get; set; }
+ private static String accountName { get; set; }
+ private static Integer messageCount;
+ public static boolean saveFLGbln { get; set; }
+ private static List<String> barcodeList { get; set; }
+ private static List<String> barcodePieceList { get; set; }
+ public static Map<String, Integer> barcodePieceMap { get; set; }
+ public static boolean errorflg { get; set; }
+ public static String errorMessage { get; set; }
+ private static String userWorkLocation { get; set; }
+ public static String errorMsg { get; set; }
- @AuraEnabled
- public static ResponseBodyLWC init() {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
- messageCount = 0;
- errorflg = false;
- errorMessage = null;
- User useracc = [
- SELECT accountid, Work_Location__c, UserPro_Type__c
- FROM user
- WHERE id = :UserInfo.getUserId()
- ];
- accountid = Useracc.accountid;
- userWorkLocation = Useracc.Work_Location__c;
- agencyProType = Useracc.UserPro_Type__c;
- if (String.isBlank(Useracc.UserPro_Type__c)) {
- agencyProType = 'ET';
+ @AuraEnabled
+ public static ResponseBodyLWC init() {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ messageCount = 0;
+ errorflg = false;
+ errorMessage = null;
+ User useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+ accountid = Useracc.accountid;
+ userWorkLocation = Useracc.Work_Location__c;
+ agencyProType = Useracc.UserPro_Type__c;
+ if (String.isBlank(Useracc.UserPro_Type__c)) {
+ agencyProType = 'ET';
+ }
+ sqlagencyProType = '%' + agencyProType + '%';
+ Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
+ accountName = accountInfo.name;
+
+ data.put('accountid', accountid);
+ data.put('userWorkLocation', userWorkLocation);
+ data.put('agencyProType', agencyProType);
+ data.put('accountName', accountName);
+ data.put('sqlagencyProType', sqlagencyProType);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = '';
+ System.debug('res:' + res);
+ return res;
}
- sqlagencyProType = '%' + agencyProType + '%';
- Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
- accountName = accountInfo.name;
- data.put('accountid', accountid);
- data.put('userWorkLocation', userWorkLocation);
- data.put('agencyProType', agencyProType);
- data.put('accountName', accountName);
- data.put('sqlagencyProType', sqlagencyProType);
- res.status = 'Success';
- res.code = 200;
- res.msg = '';
- System.debug('res:' + res);
- return res;
- }
+ @AuraEnabled
+ public static ResponseBodyLWC importCSVFile(
+ String base64DataLwc,
+ String sqlagencyProTypeLwc,
+ String userWorkLocationLwc,
+ String accountNameLwc
+ ) {
+ System.debug('enter importCSVFile');
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
- @AuraEnabled
- public static ResponseBodyLWC importCSVFile(
- String base64DataLwc,
- String sqlagencyProTypeLwc,
- String userWorkLocationLwc,
- String accountNameLwc
- ) {
- System.debug('enter importCSVFile');
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
+ errorMsg = '';
+ sqlagencyProType = sqlagencyProTypeLwc;
+ userWorkLocation = userWorkLocationLwc;
+ accountName = accountNameLwc;
+ String base64Data = EncodingUtil.urlDecode(base64DataLwc, 'UTF-8');
+ csvFileBody = EncodingUtil.base64Decode(base64Data);
+ product2conMap = new Map<String, String>();
- errorMsg = '';
- sqlagencyProType = sqlagencyProTypeLwc;
- userWorkLocation = userWorkLocationLwc;
- accountName = accountNameLwc;
- String base64Data = EncodingUtil.urlDecode(base64DataLwc, 'UTF-8');
- csvFileBody = EncodingUtil.base64Decode(base64Data);
- product2conMap = new Map<String, String>();
-
- messageCount = 0;
- errormessage = null;
- saveFLGbln = false;
- csvRecordStr = new List<String[]>();
- barcodeList = new List<String>();
- barcodePieceMap = new Map<String, Integer>();
- barcodePieceList = new List<String>();
- orderRecords = new List<ConsumableorderdetailsInfo>();
- hospitalconMap = new Map<String, String>();
- if (csvFileBody == null) {
- errorflg = true;
- saveFLGbln = true;
- // errormessage = '璇诲彇鍐呭涓虹┖銆�';
- return new ResponseBodyLWC('Error', 500, '璇诲彇鍐呭涓虹┖銆�', '');
- } else {
- //浜у搧鏁版嵁鏌ユ壘
- map<string, string> orderNameMap = new Map<string, string>();
- try {
- csvAsString = csvFileBody.toString();
- csvFileLines = csvAsString.split('\n');
- for (Integer i = 0; i < csvFileLines.size(); i++) {
- string[] csvRecordData = csvFileLines[i].split(',');
- if (String.isNotBlank(csvRecordData[6])) {
- barcodeList.add(csvRecordData[6]);
- if (String.valueOf(csvRecordData[9]) == '涓�') {
- barcodePieceList.add(csvRecordData[6]);
- barcodePieceMap.put(
- csvRecordData[6],
- Integer.valueOf(csvRecordData[7])
- );
+ messageCount = 0;
+ errormessage = null;
+ saveFLGbln = false;
+ csvRecordStr = new List<String[]>();
+ barcodeList = new List<String>();
+ barcodePieceMap = new Map<String, Integer>();
+ barcodePieceList = new List<String>();
+ orderRecords = new List<ConsumableorderdetailsInfo>();
+ hospitalconMap = new Map<String, String>();
+ if (csvFileBody == null) {
+ errorflg = true;
+ saveFLGbln = true;
+ // errormessage = '璇诲彇鍐呭涓虹┖銆�';
+ return new ResponseBodyLWC('Error', 500, '璇诲彇鍐呭涓虹┖銆�', '');
+ } else {
+ //浜у搧鏁版嵁鏌ユ壘
+ map<string, string> orderNameMap = new Map<string, string>();
+ try {
+ csvAsString = csvFileBody.toString();
+ csvFileLines = csvAsString.split('\n');
+ for (Integer i = 0; i < csvFileLines.size(); i++) {
+ string[] csvRecordData = csvFileLines[i].split(',');
+ if (String.isNotBlank(csvRecordData[6])) {
+ barcodeList.add(csvRecordData[6]);
+ if (String.valueOf(csvRecordData[9]) == '涓�') {
+ barcodePieceList.add(csvRecordData[6]);
+ barcodePieceMap.put(csvRecordData[6], Integer.valueOf(csvRecordData[7]));
+ }
+ }
+ String[] csvRecordDataStr = new String[13];
+ for (Integer j = 0; j < csvRecordData.size(); j++) {
+ csvRecordDataStr[j] = csvRecordData[j];
+ }
+ if (i == 0) {
+ csvRecordDataStr[12] = '浜у搧';
+ } else {
+ csvRecordDataStr[12] = '';
+ }
+ csvRecordStr.add(csvRecordDataStr);
+ }
+ Map<String, String> productBarcodeMap = new Map<String, String>();
+ List<Consumable_order_details2__c> cOrderDet = [
+ SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Bar_Code__c IN :barcodeList
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Dealer_Info_text__c = :accountName
+ ];
+ for (Consumable_order_details2__c pdinfo : cOrderDet) {
+ productBarcodeMap.put(pdinfo.Bar_Code__c, pdinfo.Consumable_Product__c);
+ }
+ for (String[] csvlistStr : csvRecordStr) {
+ if (productBarcodeMap.containsKey(csvlistStr[6])) {
+ csvlistStr[12] = productBarcodeMap.get(csvlistStr[6]);
+ } else {
+ }
+ }
+ //妫�绱㈠瓨鍦ㄦ媶鐩掍骇鍝佹暟閲�
+ Map<String, Integer> exitpieceBarcodeMap = new Map<String, Integer>();
+ AggregateResult[] pieceOrderDet = [
+ SELECT count(Id) cnt, Bar_Code__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Bar_Code__c IN :barcodePieceList
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Box_Piece__c = '涓�'
+ GROUP BY Bar_Code__c
+ ];
+ for (AggregateResult ar : pieceOrderDet) {
+ exitpieceBarcodeMap.put(String.valueOf(ar.get('Bar_Code__c')), Integer.valueOf(ar.get('cnt')));
+ }
+ for (String bc : barcodePieceList) {
+ if (!exitpieceBarcodeMap.containsKey(bc)) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�')
+ // );
+ errorMsg += 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else if (exitpieceBarcodeMap.containsKey(bc) && exitpieceBarcodeMap.get(bc) < barcodePieceMap.get(bc)) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�'));
+ errorMsg += 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ }
+ }
+ } catch (Exception e) {
+ //ApexPages.addMessages(e);
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+ //return new ResponseBodyLWC('Error', 500, e.getMessage()+e.getStackTraceString(), '');
}
- }
- String[] csvRecordDataStr = new String[13];
- for (Integer j = 0; j < csvRecordData.size(); j++) {
- csvRecordDataStr[j] = csvRecordData[j];
- }
- if (i == 0) {
- csvRecordDataStr[12] = '浜у搧';
- } else {
- csvRecordDataStr[12] = '';
- }
- csvRecordStr.add(csvRecordDataStr);
- }
- Map<String, String> productBarcodeMap = new Map<String, String>();
- List<Consumable_order_details2__c> cOrderDet = [
- SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
- FROM Consumable_order_details2__c
- WHERE
- Dealer_Arrive__c = TRUE
- AND Dealer_Shipment__c = FALSE
- AND Dealer_Saled__c = FALSE
- AND Lose_Flag__c = FALSE
- AND Bar_Code__c IN :barcodeList
- AND Product_Type__c LIKE :sqlagencyProType
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Dealer_Info_text__c = :accountName
- ];
- for (Consumable_order_details2__c pdinfo : cOrderDet) {
- productBarcodeMap.put(
- pdinfo.Bar_Code__c,
- pdinfo.Consumable_Product__c
- );
- }
- for (String[] csvlistStr : csvRecordStr) {
- if (productBarcodeMap.containsKey(csvlistStr[6])) {
- csvlistStr[12] = productBarcodeMap.get(csvlistStr[6]);
- } else {
- }
- }
- //妫�绱㈠瓨鍦ㄦ媶鐩掍骇鍝佹暟閲�
- Map<String, Integer> exitpieceBarcodeMap = new Map<String, Integer>();
- AggregateResult[] pieceOrderDet = [
- SELECT count(Id) cnt, Bar_Code__c
- FROM Consumable_order_details2__c
- WHERE
- Dealer_Arrive__c = TRUE
- AND Dealer_Shipment__c = FALSE
- AND Dealer_Saled__c = FALSE
- AND Lose_Flag__c = FALSE
- AND Bar_Code__c IN :barcodePieceList
- AND Product_Type__c LIKE :sqlagencyProType
- AND Dealer_Info_text__c = :accountName
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Box_Piece__c = '涓�'
- GROUP BY Bar_Code__c
- ];
- for (AggregateResult ar : pieceOrderDet) {
- exitpieceBarcodeMap.put(
- String.valueOf(ar.get('Bar_Code__c')),
- Integer.valueOf(ar.get('cnt'))
- );
- }
- for (String bc : barcodePieceList) {
- if (!exitpieceBarcodeMap.containsKey(bc)) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�')
- // );
- errorMsg += 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- } else if (
- exitpieceBarcodeMap.containsKey(bc) &&
- exitpieceBarcodeMap.get(bc) < barcodePieceMap.get(bc)
- ) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�'));
- errorMsg += 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- }
- }
- } catch (Exception e) {
- //ApexPages.addMessages(e);
- errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
- //return new ResponseBodyLWC('Error', 500, e.getMessage()+e.getStackTraceString(), '');
- }
- getorderinfo();
- dataInfoconfim();
- getorderdet2info(csvRecordStr);
- if (saveFLGbln == false) {
- getorderdetinfo(csvRecordStr);
- }
- data.put('orderRecords', orderRecords);
- data.put('saveFLGbln', saveFLGbln);
- data.put('csvRecordStr', csvRecordStr);
- data.put('barcodeList', barcodeList);
- data.put('secondAgencyMap', secondAgencyMap);
- data.put('hospitalSysMap', hospitalSysMap);
- res.status = 'Success';
- res.code = 200;
- res.msg = errorMsg;
- return res;
- }
- }
-
- public static void getorderinfo() {
- map<string, string> orderNameMap = new Map<string, string>();
- try {
- csvAsString = csvFileBody.toString();
- csvFileLines = csvAsString.split('\n');
- for (Integer i = 1; i < csvFileLines.size(); i++) {
- Consumable_order__c cocObj = new Consumable_order__c();
- string[] csvRecordData = csvFileLines[i].split(',');
- if (orderNameMap.containsKey(csvRecordData[0]))
- continue;
- cocObj.Name = csvRecordData[0];
- if (String.isNotBlank(csvRecordData[1])) {
- cocObj.SummonsForDirction__c = csvRecordData[1];
- } else {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�')
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- csvRecordData[0] +
- '鍑鸿揣鐩殑涓虹┖锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- }
- cocObj.Order_Attachment__c = csvRecordData[2];
- cocObj.Order_Indication__c = csvRecordData[3];
- cocObj.Order_ForCustomerText__c = csvRecordData[4];
- cocObj.Invoice_Note__c = csvRecordData[5];
- if (String.isBlank(csvRecordData[11])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��')
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cocObj.Name +
- '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��<br />';
- saveFLGbln = true;
- messageCount++;
- } else {
- cocObj.Outbound_Date__c = Date.parse(csvRecordData[11].trim());
- }
- if (String.isNotEmpty(csvRecordData[2])) {
- hospitalconMap.put(csvRecordData[2].trim(), csvRecordData[0].trim());
- }
- orderNameMap.put(csvRecordData[0], csvRecordData[0]);
- orderRecords.add(new ConsumableorderdetailsInfo(cocObj));
- }
- } catch (Exception e) {
- //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
- errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
- }
- }
-
- public static void dataInfoconfim() {
- //纭鍖婚櫌淇℃伅
- hospitalSysMap = new Map<String, String>();
- secondAgencyMap = new Map<String, String>();
- for (ConsumableorderdetailsInfo ass : orderRecords) {
- if (
- (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
- ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌' ||
- ass.order.SummonsForDirction__c == '鍖婚櫌璇曠敤') &&
- (String.isBlank(ass.hospitalName) ||
- String.isBlank(ass.hospitalCode) ||
- String.isBlank(ass.order.Order_ForCustomerText__c))
- ) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��')
- // );
- errorMsg +=
- '鍑哄簱鍗�' +
- ass.order.Name +
- '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��<br />';
- messageCount++;
- saveFLGbln = true;
- //return null;
- }
- if (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�') {
- if (String.isBlank(ass.agencyName)) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
- // );
- errorMsg +=
- '鍑哄簱鍗�' +
- ass.order.Name +
- '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
- messageCount++;
- saveFLGbln = true;
- }
- }
- if (ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌') {
- if (String.isNotBlank(ass.agencyName)) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��')
- // );
- errorMsg +=
- '鍑哄簱鍗�' +
- ass.order.Name +
- '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��<br />';
- messageCount++;
- saveFLGbln = true;
- }
- }
- if (ass.order.SummonsForDirction__c == '浜掔浉璋冭揣') {
- if (String.isBlank(ass.agencyName)) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
- // );
- errorMsg +=
- '鍑哄簱鍗�' +
- ass.order.Name +
- '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
- messageCount++;
- saveFLGbln = true;
- }
- if (
- String.isNotBlank(ass.hospitalName) ||
- String.isNotBlank(ass.hospitalCode) ||
- String.isNotBlank(ass.order.Order_ForCustomerText__c)
- ) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��')
- // );
- errorMsg +=
- '鍑哄簱鍗�' +
- ass.order.Name +
- '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��<br />';
- messageCount++;
- saveFLGbln = true;
- }
- }
- }
- System.debug('accountName = ' + accountName);
- List<Agency_Hospital_Link__c> hospitalInfo = [
- SELECT Hospital__c, Hospital__r.Management_Code__c, Hospital__r.Name
- FROM Agency_Hospital_Link__c
- WHERE Agency__r.Name = :accountName
- ];
- List<Dealer_elationship__c> secondAgencyInfo = [
- SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
- FROM Dealer_elationship__c
- WHERE Dealer_principal__r.Name = :accountName
- ];
- for (Agency_Hospital_Link__c hpinfo : hospitalInfo) {
- hospitalSysMap.put(
- hpinfo.Hospital__r.Management_Code__c,
- hpinfo.Hospital__c
- );
- }
- for (Dealer_elationship__c safo : secondAgencyInfo) {
- secondAgencyMap.put(
- safo.Dealer_subordinate__r.Name,
- safo.Dealer_subordinate__c
- );
- }
- //鍑哄簱鍗曚俊鎭獙璇�
- System.debug('hospitalconMap = ' + hospitalconMap);
- System.debug('hospitalSysMap = ' + hospitalSysMap);
- for (String widget : hospitalconMap.keySet()) {
- if (!hospitalSysMap.containsKey(widget)) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // hospitalconMap.get(widget) +
- // ' 鐨勫尰闄㈢紪鐮�' +
- // widget +
- // ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- hospitalconMap.get(widget) +
- ' 鐨勫尰闄㈢紪鐮�' +
- widget +
- ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�<br />';
- saveFLGbln = true;
- }
- }
- }
-
- public static void getorderdet2info(List<String[]> csvRecordStr) {
- barcodeList = new List<String>();
- try {
- for (Integer i = 1; i < csvRecordStr.size(); i++) {
- Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
- string[] csvRecordData = csvRecordStr[i];
- cod2Obj.TracingCode__c = csvRecordData[0];
- cod2Obj.Bar_Code__c = csvRecordData[6];
- if (String.isNotBlank(csvRecordData[6])) {
- barcodeList.add(csvRecordData[6]);
- }
- if (String.isBlank(csvRecordData[9])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // cod2Obj.TracingCode__c +
- // '鐨刡arcode ' +
- // cod2Obj.Bar_Code__c +
- // ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '鐨刡arcode ' +
- cod2Obj.Bar_Code__c +
- ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��<br />';
- saveFLGbln = true;
- messageCount++;
- } else if (
- String.valueOf(csvRecordData[9]) != '鐩�' &&
- String.valueOf(csvRecordData[9]) != '涓�'
- ) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // cod2Obj.TracingCode__c +
- // '鐨刡arcode ' +
- // cod2Obj.Bar_Code__c +
- // ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '鐨刡arcode ' +
- cod2Obj.Bar_Code__c +
- ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��';
- saveFLGbln = true;
- messageCount++;
- } else {
- cod2Obj.Box_Piece__c = csvRecordData[9];
- }
- if (String.isBlank(csvRecordData[8])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- } else if (String.isNotBlank(csvRecordData[8])) {
- if (
- Decimal.valueOf(csvRecordData[8]) == 0 &&
- (String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌' ||
- String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�')
- ) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // cod2Obj.TracingCode__c +
- // '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- } else {
- cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
- }
- }
- if (String.isBlank(csvRecordData[6])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // cod2Obj.TracingCode__c +
- // '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- } else if (String.isBlank(csvRecordData[12])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // cod2Obj.TracingCode__c +
- // '鐨刡arcode ' +
- // cod2Obj.Bar_Code__c +
- // ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '鐨刡arcode ' +
- cod2Obj.Bar_Code__c +
- ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�';
- saveFLGbln = true;
- messageCount++;
- }
- cod2Obj.Return_reason__c = csvRecordData[12];
- if (String.isBlank(csvRecordData[11])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // cod2Obj.TracingCode__c +
- // '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- cod2Obj.TracingCode__c +
- '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��';
- saveFLGbln = true;
- messageCount++;
- } else {
- cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
- }
- }
- } catch (Exception e) {
- //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
- errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
- }
- }
-
- public static void getorderdetinfo(List<String[]> csvRecordStr) {
- map<string, string> orderdetMap = new Map<string, string>();
- try {
- for (Integer i = 1; i < csvRecordStr.size(); i++) {
- Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
- string[] csvRecordData = csvRecordStr[i];
- if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12]))
- continue;
- codObj.Remarks__c = csvRecordData[0];
- if (String.isBlank(csvRecordData[7])) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�')
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- csvRecordData[0] +
- '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- } else if (
- Decimal.valueOf(csvRecordData[7]) > 1 &&
- String.valueOf(csvRecordData[9]) == '鐩�'
- ) {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(
- // ApexPages.severity.ERROR,
- // '鍑哄簱鍗� ' +
- // csvRecordData[0] +
- // '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�'
- // )
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- csvRecordData[0] +
- '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- } else {
- codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
- }
- codObj.Box_Piece__c = csvRecordData[9];
- if (String.isNotBlank(csvRecordData[8])) {
- codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
- } else {
- if (messageCount >= 100)
- break;
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
- // );
- errorMsg +=
- '鍑哄簱鍗� ' +
- csvRecordData[0] +
- '鍑哄簱鍗� ' +
- csvRecordData[0] +
- '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
- saveFLGbln = true;
- messageCount++;
- }
- //if(String.isNotBlank(csvRecordData[10])){
- // codObj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
- //}
- codObj.Lose_reason__c = csvRecordData[12];
- codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
- product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
- orderdetMap.put(
- csvRecordData[0] + csvRecordData[12],
- csvRecordData[0] + csvRecordData[12]
- );
- //orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
- }
- } catch (Exception e) {
- //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
- errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
- }
- }
-
- @AuraEnabled
- public static ResponseBodyLWC dataImport(
- List<String[]> csvRecordStrLwc,
- String orderRecordsLwc,
- String sqlagencyProTypeLwc,
- String userWorkLocationLwc,
- String accountNameLwc,
- String accountidLwc,
- String agencyProTypeLwc,
- Map<String, String> secondAgencyMapLwc,
- Map<String, String> hospitalSysMapLwc
- ) {
- List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
- List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
- List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
- product2conMap = new Map<String, String>();
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
-
- csvRecordStr = csvRecordStrLwc;
- orderRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
- orderRecordsLwc,
- List<ConsumableorderdetailsInfo>.class
- );
- System.debug('orderRecords = ' + orderRecords);
- sqlagencyProType = sqlagencyProTypeLwc;
- userWorkLocation = userWorkLocationLwc;
- accountName = accountNameLwc;
- secondAgencyMap = secondAgencyMapLwc;
- hospitalSysMap = hospitalSysMapLwc;
- accountid = accountidLwc;
- agencyProType = agencyProTypeLwc;
- System.debug('agencyProType = ' + agencyProType);
-
- errorMsg = '';
- System.debug('csvRecordStr = ' + csvRecordStr);
- orderdetRecords = getorderdetList(csvRecordStr);
- orderdet2BoxRecords = getorderdet2BoxList(csvRecordStr);
- orderdet2PieceRecords = getorderdet2pieceList(csvRecordStr);
- System.debug('orderdetRecords = ' + orderdetRecords);
- System.debug('orderdet2BoxRecords = ' + orderdet2BoxRecords);
- System.debug('orderdet2PieceRecords = ' + orderdet2PieceRecords);
- Savepoint sp = Database.setSavepoint();
- try {
- Map<String, String> orderInfoMap = new Map<String, String>();
- List<Consumable_order__c> coc = new List<Consumable_order__c>();
- for (ConsumableorderdetailsInfo ass : orderRecords) {
- ass.order.Order_type__c = '浼犵エ';
- ass.order.SummonsStatus_c__c = '宸插畬鎴�';
- ass.order.Order_ProType__c = agencyProType;
- ass.order.Dealer_Info__c = accountid;
- ass.order.Order_ForHospital__c = hospitalSysMap.get(ass.hospitalCode);
- if (secondAgencyMap.containsKey(ass.agencyName)) {
- ass.order.Order_ForDealer__c = secondAgencyMap.get(ass.agencyName);
- } else {
- ass.order.Order_ForDealerText__c = ass.agencyName;
- }
- ass.order.RecordTypeId = System.Label.RT_ConOrder_Sale;
- coc.add(ass.order);
- }
- System.debug('coc = ' + coc);
- if (coc.size() > 0) {
- insert coc;
- }
- for (Consumable_order__c order : coc) {
- orderInfoMap.put(order.Name, order.Id);
- }
- List<Consumable_Orderdetails__c> cod = new List<Consumable_Orderdetails__c>();
- for (String field : orderInfoMap.keySet()) {
- Integer i = 1;
- for (ConsumableorderdetailsInfo ass : orderdetRecords) {
- if (ass.orderName == field) {
- String str = string.valueOf(i);
- if (str.length() == 1) {
- str = '0' + str;
+ getorderinfo();
+ dataInfoconfim();
+ getorderdet2info(csvRecordStr);
+ if (saveFLGbln == false) {
+ getorderdetinfo(csvRecordStr);
}
- ass.orderdetails1.Name = ass.orderName + '-' + str;
- ass.orderdetails1.Consumable_order__c = orderInfoMap.get(
- ass.orderName
- );
- ass.orderdetails1.Consumable_Product__c = ass.productName;
- ass.orderdetails1.RecordTypeId = System.Label.RT_ConOrderDetail1_Sale;
- cod.add(ass.orderdetails1);
- i++;
- }
+ data.put('orderRecords', orderRecords);
+ data.put('saveFLGbln', saveFLGbln);
+ data.put('csvRecordStr', csvRecordStr);
+ data.put('barcodeList', barcodeList);
+ data.put('secondAgencyMap', secondAgencyMap);
+ data.put('hospitalSysMap', hospitalSysMap);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = errorMsg;
+ return res;
}
- }
- System.debug('cod = ' + cod);
- if (cod.size() > 0) {
- insert cod;
- }
- //鐩掔殑鏁版嵁妫�绱�
- List<Consumable_Order_details2__c> cod2List = new List<Consumable_Order_details2__c>();
- List<Consumable_order_details2__c> cOrderDet = [
- SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
- FROM Consumable_order_details2__c
- WHERE
- Dealer_Arrive__c = TRUE
- AND Dealer_Shipment__c = FALSE
- AND Dealer_Saled__c = FALSE
- AND Lose_Flag__c = FALSE
- AND Bar_Code__c IN :barcodeList
- AND Product_Type__c LIKE :sqlagencyProType
- AND Dealer_Info_text__c = :accountName
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Box_Piece__c = '鐩�'
- ];
- for (ConsumableorderdetailsInfo ass : orderdet2BoxRecords) {
- Integer idx = 0;
- for (Consumable_order_details2__c codtest : cOrderDet) {
- Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
- if (codtest.Bar_Code__c == ass.orderdetails2.Bar_Code__c) {
- cod2 = codtest;
- cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
- cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
- cod2.Used_date__c = ass.orderdetails2.Used_date__c;
- cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
- //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
- cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
- cod2List.add(cod2);
- cOrderDet.remove(idx);
- break;
- }
- idx++;
- }
- }
+ }
- //涓殑鏁版嵁妫�绱�
- List<Consumable_order_details2__c> cOrderDetPiece = [
- SELECT
- Id,
- Bar_Code__c,
- RemoveBox_No__c,
- Name,
- Consumable_Product__c,
- Box_Piece__c
- FROM Consumable_order_details2__c
- WHERE
- Dealer_Arrive__c = TRUE
- AND Dealer_Shipment__c = FALSE
- AND Dealer_Saled__c = FALSE
- AND Lose_Flag__c = FALSE
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Bar_Code__c IN :barcodePieceList
- AND Product_Type__c LIKE :sqlagencyProType
- AND Dealer_Info_text__c = :accountName
- AND Box_Piece__c = '涓�'
- ORDER BY Bar_Code__c, RemoveBox_No__c DESC
- ];
- for (ConsumableorderdetailsInfo ass : orderdet2PieceRecords) {
- Decimal idy = 1;
- for (Integer idx = 0; idx < cOrderDetPiece.size(); idx++) {
- Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
- if (
- cOrderDetPiece[idx].Bar_Code__c == ass.orderdetails2.Bar_Code__c &&
- idy <= ass.pieceCount
- ) {
- cod2 = cOrderDetPiece[idx].Clone();
- cod2.Id = cOrderDetPiece[idx].Id;
- cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
- cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
- cod2.Used_date__c = ass.orderdetails2.Used_date__c;
- cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
- //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
- cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
- cod2List.add(cod2);
- cOrderDetPiece[idx].Bar_Code__c = '';
- idy++;
- //break;
- }
+ public static void getorderinfo() {
+ map<string, string> orderNameMap = new Map<string, string>();
+ try {
+ csvAsString = csvFileBody.toString();
+ csvFileLines = csvAsString.split('\n');
+ for (Integer i = 1; i < csvFileLines.size(); i++) {
+ Consumable_order__c cocObj = new Consumable_order__c();
+ string[] csvRecordData = csvFileLines[i].split(',');
+ if (orderNameMap.containsKey(csvRecordData[0]))
+ continue;
+ cocObj.Name = csvRecordData[0];
+ if (String.isNotBlank(csvRecordData[1])) {
+ cocObj.SummonsForDirction__c = csvRecordData[1];
+ } else {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�')
+ // );
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ }
+ cocObj.Order_Attachment__c = csvRecordData[2];
+ cocObj.Order_Indication__c = csvRecordData[3];
+ cocObj.Order_ForCustomerText__c = csvRecordData[4];
+ cocObj.Invoice_Note__c = csvRecordData[5];
+ if (String.isBlank(csvRecordData[11])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��')
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else {
+ cocObj.Outbound_Date__c = Date.parse(csvRecordData[11].trim());
+ }
+ if (String.isNotEmpty(csvRecordData[2])) {
+ hospitalconMap.put(csvRecordData[2].trim(), csvRecordData[0].trim());
+ }
+ orderNameMap.put(csvRecordData[0], csvRecordData[0]);
+ orderRecords.add(new ConsumableorderdetailsInfo(cocObj));
+ }
+ } catch (Exception e) {
+ //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
}
- }
- if (cod2List.size() > 0) {
- update cod2List;
- }
- errorflg = true;
- //errorMessage = '淇濆瓨瀹屾垚銆�';
- saveFLGbln = true;
+ }
- res.status = 'Success';
- res.code = 200;
- res.msg = errorMsg;
- return res;
- } catch (Exception e) {
- Database.rollback(sp);
- // ApexPages.addMessages(e);
- // return null;
- return new ResponseBodyLWC(
- 'Error',
- 500,
- e.getMessage() + e.getStackTraceString(),
- ''
- );
+ public static void dataInfoconfim() {
+ //纭鍖婚櫌淇℃伅
+ hospitalSysMap = new Map<String, String>();
+ secondAgencyMap = new Map<String, String>();
+ for (ConsumableorderdetailsInfo ass : orderRecords) {
+ if (
+ (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
+ ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌' ||
+ ass.order.SummonsForDirction__c == '鍖婚櫌璇曠敤') &&
+ (String.isBlank(ass.hospitalName) ||
+ String.isBlank(ass.hospitalCode) ||
+ String.isBlank(ass.order.Order_ForCustomerText__c))
+ ) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��')
+ // );
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��<br />';
+ messageCount++;
+ saveFLGbln = true;
+ //return null;
+ }
+ if (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�') {
+ if (String.isBlank(ass.agencyName)) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
+ // );
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
+ messageCount++;
+ saveFLGbln = true;
+ }
+ }
+ if (ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌') {
+ if (String.isNotBlank(ass.agencyName)) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��')
+ // );
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��<br />';
+ messageCount++;
+ saveFLGbln = true;
+ }
+ }
+ if (ass.order.SummonsForDirction__c == '浜掔浉璋冭揣') {
+ if (String.isBlank(ass.agencyName)) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
+ // );
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
+ messageCount++;
+ saveFLGbln = true;
+ }
+ if (
+ String.isNotBlank(ass.hospitalName) ||
+ String.isNotBlank(ass.hospitalCode) ||
+ String.isNotBlank(ass.order.Order_ForCustomerText__c)
+ ) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��')
+ // );
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��<br />';
+ messageCount++;
+ saveFLGbln = true;
+ }
+ }
+ }
+ System.debug('accountName = ' + accountName);
+ List<Agency_Hospital_Link__c> hospitalInfo = [
+ SELECT Hospital__c, Hospital__r.Management_Code__c, Hospital__r.Name
+ FROM Agency_Hospital_Link__c
+ WHERE Agency__r.Name = :accountName
+ ];
+ List<Dealer_elationship__c> secondAgencyInfo = [
+ SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
+ FROM Dealer_elationship__c
+ WHERE Dealer_principal__r.Name = :accountName
+ ];
+ for (Agency_Hospital_Link__c hpinfo : hospitalInfo) {
+ hospitalSysMap.put(hpinfo.Hospital__r.Management_Code__c, hpinfo.Hospital__c);
+ }
+ for (Dealer_elationship__c safo : secondAgencyInfo) {
+ secondAgencyMap.put(safo.Dealer_subordinate__r.Name, safo.Dealer_subordinate__c);
+ }
+ //鍑哄簱鍗曚俊鎭獙璇�
+ System.debug('hospitalconMap = ' + hospitalconMap);
+ System.debug('hospitalSysMap = ' + hospitalSysMap);
+ for (String widget : hospitalconMap.keySet()) {
+ if (!hospitalSysMap.containsKey(widget)) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // hospitalconMap.get(widget) +
+ // ' 鐨勫尰闄㈢紪鐮�' +
+ // widget +
+ // ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�'
+ // )
+ // );
+ errorMsg +=
+ '鍑哄簱鍗� ' +
+ hospitalconMap.get(widget) +
+ ' 鐨勫尰闄㈢紪鐮�' +
+ widget +
+ ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�<br />';
+ saveFLGbln = true;
+ }
+ }
}
- }
- public static List<ConsumableorderdetailsInfo> getorderdetList(
- List<String[]> csvRecordStr
- ) {
- List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
- map<string, Decimal> orderdetMap = new Map<string, Decimal>();
- try {
- for (Integer i = 1; i < csvRecordStr.size(); i++) {
- Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
- string[] csvRecordData = csvRecordStr[i];
- if (
- orderdetMap.containsKey(
- csvRecordData[0] + csvRecordData[12] + csvRecordData[9]
- )
- ) {
- orderdetMap.put(
- csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
- orderdetMap.get(
- csvRecordData[0] + csvRecordData[12] + csvRecordData[9]
- ) + Decimal.valueOf(csvRecordData[7])
- );
- continue;
- } else {
- orderdetMap.put(
- csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
- Decimal.valueOf(csvRecordData[7])
- );
+ public static void getorderdet2info(List<String[]> csvRecordStr) {
+ barcodeList = new List<String>();
+ try {
+ for (Integer i = 1; i < csvRecordStr.size(); i++) {
+ Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
+ string[] csvRecordData = csvRecordStr[i];
+ cod2Obj.TracingCode__c = csvRecordData[0];
+ cod2Obj.Bar_Code__c = csvRecordData[6];
+ if (String.isNotBlank(csvRecordData[6])) {
+ barcodeList.add(csvRecordData[6]);
+ }
+ if (String.isBlank(csvRecordData[9])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // cod2Obj.TracingCode__c +
+ // '鐨刡arcode ' +
+ // cod2Obj.Bar_Code__c +
+ // ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else if (String.valueOf(csvRecordData[9]) != '鐩�' && String.valueOf(csvRecordData[9]) != '涓�') {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // cod2Obj.TracingCode__c +
+ // '鐨刡arcode ' +
+ // cod2Obj.Bar_Code__c +
+ // ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��';
+ saveFLGbln = true;
+ messageCount++;
+ } else {
+ cod2Obj.Box_Piece__c = csvRecordData[9];
+ }
+ if (String.isBlank(csvRecordData[8])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else if (String.isNotBlank(csvRecordData[8])) {
+ if (
+ Decimal.valueOf(csvRecordData[8]) == 0 &&
+ (String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌' ||
+ String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�')
+ ) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // cod2Obj.TracingCode__c +
+ // '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else {
+ cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+ }
+ }
+ if (String.isBlank(csvRecordData[6])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // cod2Obj.TracingCode__c +
+ // '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else if (String.isBlank(csvRecordData[12])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // cod2Obj.TracingCode__c +
+ // '鐨刡arcode ' +
+ // cod2Obj.Bar_Code__c +
+ // ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�';
+ saveFLGbln = true;
+ messageCount++;
+ }
+ cod2Obj.Return_reason__c = csvRecordData[12];
+ if (String.isBlank(csvRecordData[11])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // cod2Obj.TracingCode__c +
+ // '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��';
+ saveFLGbln = true;
+ messageCount++;
+ } else {
+ cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
+ }
+ }
+ } catch (Exception e) {
+ //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
}
- codObj.Remarks__c = csvRecordData[0];
- codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
- codObj.Box_Piece__c = csvRecordData[9];
- if (String.isNotBlank(csvRecordData[8])) {
- codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
- }
- codObj.Lose_reason__c = csvRecordData[12];
- if (String.isNotBlank(csvRecordData[11])) {
- codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
- }
- product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
- orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
- }
- for (ConsumableorderdetailsInfo ass : orderdetRecords) {
- if (
- orderdetMap.containsKey(
- ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c
- )
- ) {
- ass.orderdetails1.Shipment_Count__c = orderdetMap.get(
- ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c
- );
- }
- }
- System.debug('orderdetRecords = ' + orderdetRecords);
- return orderdetRecords;
- } catch (Exception e) {
- // ApexPages.addMessages(e);
- // return null;
- errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
- System.debug('orderdetRecords = null ' + e.getLineNumber());
- return null;
}
- }
- public static List<ConsumableorderdetailsInfo> getorderdet2BoxList(
- List<String[]> csvRecordStr
- ) {
- barcodeList = new List<String>();
- List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
- try {
- for (Integer i = 1; i < csvRecordStr.size(); i++) {
- string[] csvRecordData = csvRecordStr[i];
- if (String.valueOf(csvRecordData[9]) == '鐩�') {
- Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
- cod2Obj.TracingCode__c = csvRecordData[0];
- cod2Obj.Bar_Code__c = csvRecordData[6];
- if (String.isNotBlank(csvRecordData[6])) {
- barcodeList.add(csvRecordData[6]);
- }
- cod2Obj.Box_Piece__c = csvRecordData[9];
- if (String.isNotBlank(csvRecordData[8])) {
- cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
- }
- //if(String.isNotBlank(csvRecordData[10])){
- // cod2Obj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
- //}
- cod2Obj.Return_reason__c = csvRecordData[12];
- if (
- String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
- String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌'
- ) {
- cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
- } else {
- cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
- }
- orderdet2BoxRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+ public static void getorderdetinfo(List<String[]> csvRecordStr) {
+ map<string, string> orderdetMap = new Map<string, string>();
+ try {
+ for (Integer i = 1; i < csvRecordStr.size(); i++) {
+ Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
+ string[] csvRecordData = csvRecordStr[i];
+ if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12]))
+ continue;
+ codObj.Remarks__c = csvRecordData[0];
+ if (String.isBlank(csvRecordData[7])) {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�')
+ // );
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else if (Decimal.valueOf(csvRecordData[7]) > 1 && String.valueOf(csvRecordData[9]) == '鐩�') {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.ERROR,
+ // '鍑哄簱鍗� ' +
+ // csvRecordData[0] +
+ // '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�'
+ // )
+ // );
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ } else {
+ codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
+ }
+ codObj.Box_Piece__c = csvRecordData[9];
+ if (String.isNotBlank(csvRecordData[8])) {
+ codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+ } else {
+ if (messageCount >= 100)
+ break;
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
+ // );
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
+ saveFLGbln = true;
+ messageCount++;
+ }
+ //if(String.isNotBlank(csvRecordData[10])){
+ // codObj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
+ //}
+ codObj.Lose_reason__c = csvRecordData[12];
+ codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
+ product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
+ orderdetMap.put(csvRecordData[0] + csvRecordData[12], csvRecordData[0] + csvRecordData[12]);
+ //orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
+ }
+ } catch (Exception e) {
+ //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
}
- }
- return orderdet2BoxRecords;
- } catch (Exception e) {
- // ApexPages.addMessages(e);
- // return null;
- errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
- return null;
}
- }
- public static List<ConsumableorderdetailsInfo> getorderdet2pieceList(
- List<String[]> csvRecordStr
- ) {
- barcodePieceList = new List<String>();
- List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
- try {
- for (Integer i = 1; i < csvRecordStr.size(); i++) {
- string[] csvRecordData = csvRecordStr[i];
- if (String.valueOf(csvRecordData[9]) == '涓�') {
- Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
- cod2Obj.TracingCode__c = csvRecordData[0];
- cod2Obj.Bar_Code__c = csvRecordData[6];
- if (String.isNotBlank(csvRecordData[6])) {
- barcodePieceList.add(csvRecordData[6]);
- }
- cod2Obj.Box_Piece__c = csvRecordData[9];
- if (String.isNotBlank(csvRecordData[8])) {
- cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
- }
- cod2Obj.Return_reason__c = csvRecordData[12];
- if (
- String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
- String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌'
- ) {
- cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
- } else {
- cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
- }
- cod2Obj.Rrturn_count__c = Decimal.valueOf(csvRecordData[7]);
- orderdet2PieceRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+ @AuraEnabled
+ public static ResponseBodyLWC dataImport(
+ List<String[]> csvRecordStrLwc,
+ String orderRecordsLwc,
+ String sqlagencyProTypeLwc,
+ String userWorkLocationLwc,
+ String accountNameLwc,
+ String accountidLwc,
+ String agencyProTypeLwc,
+ Map<String, String> secondAgencyMapLwc,
+ Map<String, String> hospitalSysMapLwc
+ ) {
+ List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
+ List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
+ List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
+ product2conMap = new Map<String, String>();
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ csvRecordStr = csvRecordStrLwc;
+ orderRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class);
+ System.debug('orderRecords = ' + orderRecords);
+ sqlagencyProType = sqlagencyProTypeLwc;
+ userWorkLocation = userWorkLocationLwc;
+ accountName = accountNameLwc;
+ secondAgencyMap = secondAgencyMapLwc;
+ hospitalSysMap = hospitalSysMapLwc;
+ accountid = accountidLwc;
+ agencyProType = agencyProTypeLwc;
+ System.debug('agencyProType = ' + agencyProType);
+
+ errorMsg = '';
+ System.debug('csvRecordStr = ' + csvRecordStr);
+ orderdetRecords = getorderdetList(csvRecordStr);
+ orderdet2BoxRecords = getorderdet2BoxList(csvRecordStr);
+ orderdet2PieceRecords = getorderdet2pieceList(csvRecordStr);
+ System.debug('orderdetRecords = ' + orderdetRecords);
+ System.debug('orderdet2BoxRecords = ' + orderdet2BoxRecords);
+ System.debug('orderdet2PieceRecords = ' + orderdet2PieceRecords);
+ Savepoint sp = Database.setSavepoint();
+ try {
+ Map<String, String> orderInfoMap = new Map<String, String>();
+ List<Consumable_order__c> coc = new List<Consumable_order__c>();
+ for (ConsumableorderdetailsInfo ass : orderRecords) {
+ ass.order.Order_type__c = '浼犵エ';
+ ass.order.SummonsStatus_c__c = '宸插畬鎴�';
+ ass.order.Order_ProType__c = agencyProType;
+ ass.order.Dealer_Info__c = accountid;
+ ass.order.Order_ForHospital__c = hospitalSysMap.get(ass.hospitalCode);
+ if (secondAgencyMap.containsKey(ass.agencyName)) {
+ ass.order.Order_ForDealer__c = secondAgencyMap.get(ass.agencyName);
+ } else {
+ ass.order.Order_ForDealerText__c = ass.agencyName;
+ }
+ ass.order.RecordTypeId = System.Label.RT_ConOrder_Sale;
+ coc.add(ass.order);
+ }
+ System.debug('coc = ' + coc);
+ if (coc.size() > 0) {
+ insert coc;
+ }
+ for (Consumable_order__c order : coc) {
+ orderInfoMap.put(order.Name, order.Id);
+ }
+ List<Consumable_Orderdetails__c> cod = new List<Consumable_Orderdetails__c>();
+ for (String field : orderInfoMap.keySet()) {
+ Integer i = 1;
+ for (ConsumableorderdetailsInfo ass : orderdetRecords) {
+ if (ass.orderName == field) {
+ String str = string.valueOf(i);
+ if (str.length() == 1) {
+ str = '0' + str;
+ }
+ ass.orderdetails1.Name = ass.orderName + '-' + str;
+ ass.orderdetails1.Consumable_order__c = orderInfoMap.get(ass.orderName);
+ ass.orderdetails1.Consumable_Product__c = ass.productName;
+ ass.orderdetails1.RecordTypeId = System.Label.RT_ConOrderDetail1_Sale;
+ cod.add(ass.orderdetails1);
+ i++;
+ }
+ }
+ }
+ System.debug('cod = ' + cod);
+ if (cod.size() > 0) {
+ insert cod;
+ }
+ //鐩掔殑鏁版嵁妫�绱�
+ List<Consumable_Order_details2__c> cod2List = new List<Consumable_Order_details2__c>();
+ List<Consumable_order_details2__c> cOrderDet = [
+ SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Bar_Code__c IN :barcodeList
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Box_Piece__c = '鐩�'
+ ];
+ for (ConsumableorderdetailsInfo ass : orderdet2BoxRecords) {
+ Integer idx = 0;
+ for (Consumable_order_details2__c codtest : cOrderDet) {
+ Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
+ if (codtest.Bar_Code__c == ass.orderdetails2.Bar_Code__c) {
+ cod2 = codtest;
+ cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
+ cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
+ cod2.Used_date__c = ass.orderdetails2.Used_date__c;
+ cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
+ //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
+ cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
+ cod2List.add(cod2);
+ cOrderDet.remove(idx);
+ break;
+ }
+ idx++;
+ }
+ }
+
+ //涓殑鏁版嵁妫�绱�
+ List<Consumable_order_details2__c> cOrderDetPiece = [
+ SELECT Id, Bar_Code__c, RemoveBox_No__c, Name, Consumable_Product__c, Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Bar_Code__c IN :barcodePieceList
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountName
+ AND Box_Piece__c = '涓�'
+ ORDER BY Bar_Code__c, RemoveBox_No__c DESC
+ ];
+ for (ConsumableorderdetailsInfo ass : orderdet2PieceRecords) {
+ Decimal idy = 1;
+ for (Integer idx = 0; idx < cOrderDetPiece.size(); idx++) {
+ Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
+ if (cOrderDetPiece[idx].Bar_Code__c == ass.orderdetails2.Bar_Code__c && idy <= ass.pieceCount) {
+ cod2 = cOrderDetPiece[idx].Clone();
+ cod2.Id = cOrderDetPiece[idx].Id;
+ cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
+ cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
+ cod2.Used_date__c = ass.orderdetails2.Used_date__c;
+ cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
+ //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
+ cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
+ cod2List.add(cod2);
+ cOrderDetPiece[idx].Bar_Code__c = '';
+ idy++;
+ //break;
+ }
+ }
+ }
+ if (cod2List.size() > 0) {
+ update cod2List;
+ }
+ errorflg = true;
+ //errorMessage = '淇濆瓨瀹屾垚銆�';
+ saveFLGbln = true;
+
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = errorMsg;
+ return res;
+ } catch (Exception e) {
+ Database.rollback(sp);
+ // ApexPages.addMessages(e);
+ // return null;
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getStackTraceString(), '');
}
- }
- return orderdet2PieceRecords;
- } catch (Exception e) {
- // ApexPages.addMessages(e);
- // return null;
- errorMsg += e.getMessage();
- return null;
}
- }
- @TestVisible
- class ConsumableorderdetailsInfo implements Comparable {
- @AuraEnabled
- public Consumable_order__c order { get; set; }
- @AuraEnabled
- public Consumable_orderdetails__c orderdetails1 { get; set; }
- @AuraEnabled
- public Consumable_order_details2__c orderdetails2 { get; set; }
- @AuraEnabled
- public String orderName { get; set; }
- @AuraEnabled
- public String hospitalCode { get; set; }
- @AuraEnabled
- public String hospitalName { get; set; }
- @AuraEnabled
- public String agencyName { get; set; }
- @AuraEnabled
- public String productName { get; set; }
- @AuraEnabled
- public Decimal pieceCount { get; set; }
- // 鍙栧埌鐨勮鍗曚俊鎭�
- public ConsumableorderdetailsInfo(Consumable_order__c e) {
- order = e;
- hospitalCode = e.Order_Attachment__c;
- hospitalName = e.Order_Indication__c;
- agencyName = e.Invoice_Note__c;
- e.Order_Attachment__c = '';
- e.Order_Indication__c = '';
- e.Invoice_Note__c = '';
+
+ public static List<ConsumableorderdetailsInfo> getorderdetList(List<String[]> csvRecordStr) {
+ List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
+ map<string, Decimal> orderdetMap = new Map<string, Decimal>();
+ try {
+ for (Integer i = 1; i < csvRecordStr.size(); i++) {
+ Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
+ string[] csvRecordData = csvRecordStr[i];
+ if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12] + csvRecordData[9])) {
+ orderdetMap.put(
+ csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
+ orderdetMap.get(csvRecordData[0] + csvRecordData[12] + csvRecordData[9]) + Decimal.valueOf(csvRecordData[7])
+ );
+ continue;
+ } else {
+ orderdetMap.put(csvRecordData[0] + csvRecordData[12] + csvRecordData[9], Decimal.valueOf(csvRecordData[7]));
+ }
+ codObj.Remarks__c = csvRecordData[0];
+ codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
+ codObj.Box_Piece__c = csvRecordData[9];
+ if (String.isNotBlank(csvRecordData[8])) {
+ codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+ }
+ codObj.Lose_reason__c = csvRecordData[12];
+ if (String.isNotBlank(csvRecordData[11])) {
+ codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
+ }
+ product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
+ orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
+ }
+ for (ConsumableorderdetailsInfo ass : orderdetRecords) {
+ if (orderdetMap.containsKey(ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c)) {
+ ass.orderdetails1.Shipment_Count__c = orderdetMap.get(ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c);
+ }
+ }
+ System.debug('orderdetRecords = ' + orderdetRecords);
+ return orderdetRecords;
+ } catch (Exception e) {
+ // ApexPages.addMessages(e);
+ // return null;
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+ System.debug('orderdetRecords = null ' + e.getLineNumber());
+ return null;
+ }
}
- // 鍙栧埌鐨勮鍗曟槑缁�
- public ConsumableorderdetailsInfo(Consumable_orderdetails__c e) {
- orderdetails1 = e;
- orderName = e.Remarks__c;
- productName = e.Lose_reason__c;
- e.Lose_reason__c = '';
- e.Remarks__c = '';
+
+ public static List<ConsumableorderdetailsInfo> getorderdet2BoxList(List<String[]> csvRecordStr) {
+ barcodeList = new List<String>();
+ List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
+ try {
+ for (Integer i = 1; i < csvRecordStr.size(); i++) {
+ string[] csvRecordData = csvRecordStr[i];
+ if (String.valueOf(csvRecordData[9]) == '鐩�') {
+ Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
+ cod2Obj.TracingCode__c = csvRecordData[0];
+ cod2Obj.Bar_Code__c = csvRecordData[6];
+ if (String.isNotBlank(csvRecordData[6])) {
+ barcodeList.add(csvRecordData[6]);
+ }
+ cod2Obj.Box_Piece__c = csvRecordData[9];
+ if (String.isNotBlank(csvRecordData[8])) {
+ cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+ }
+ //if(String.isNotBlank(csvRecordData[10])){
+ // cod2Obj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
+ //}
+ cod2Obj.Return_reason__c = csvRecordData[12];
+ if (String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' || String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌') {
+ cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
+ } else {
+ cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
+ }
+ orderdet2BoxRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+ }
+ }
+ return orderdet2BoxRecords;
+ } catch (Exception e) {
+ // ApexPages.addMessages(e);
+ // return null;
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+ return null;
+ }
}
- // 鍙栧埌鐨勪骇鍝佹槑缁�
- public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
- orderdetails2 = e;
- orderName = e.TracingCode__c;
- productName = e.Return_reason__c;
- pieceCount = e.Rrturn_count__c;
- e.TracingCode__c = '';
- e.Return_reason__c = '';
- e.Rrturn_count__c = null;
+
+ public static List<ConsumableorderdetailsInfo> getorderdet2pieceList(List<String[]> csvRecordStr) {
+ barcodePieceList = new List<String>();
+ List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
+ try {
+ for (Integer i = 1; i < csvRecordStr.size(); i++) {
+ string[] csvRecordData = csvRecordStr[i];
+ if (String.valueOf(csvRecordData[9]) == '涓�') {
+ Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
+ cod2Obj.TracingCode__c = csvRecordData[0];
+ cod2Obj.Bar_Code__c = csvRecordData[6];
+ if (String.isNotBlank(csvRecordData[6])) {
+ barcodePieceList.add(csvRecordData[6]);
+ }
+ cod2Obj.Box_Piece__c = csvRecordData[9];
+ if (String.isNotBlank(csvRecordData[8])) {
+ cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+ }
+ cod2Obj.Return_reason__c = csvRecordData[12];
+ if (String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' || String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌') {
+ cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
+ } else {
+ cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
+ }
+ cod2Obj.Rrturn_count__c = Decimal.valueOf(csvRecordData[7]);
+ orderdet2PieceRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+ }
+ }
+ return orderdet2PieceRecords;
+ } catch (Exception e) {
+ // ApexPages.addMessages(e);
+ // return null;
+ errorMsg += e.getMessage();
+ return null;
+ }
}
- public Integer compareTo(Object compareTo) {
- return null;
+ @TestVisible
+ class ConsumableorderdetailsInfo implements Comparable {
+ @AuraEnabled
+ public Consumable_order__c order { get; set; }
+ @AuraEnabled
+ public Consumable_orderdetails__c orderdetails1 { get; set; }
+ @AuraEnabled
+ public Consumable_order_details2__c orderdetails2 { get; set; }
+ @AuraEnabled
+ public String orderName { get; set; }
+ @AuraEnabled
+ public String hospitalCode { get; set; }
+ @AuraEnabled
+ public String hospitalName { get; set; }
+ @AuraEnabled
+ public String agencyName { get; set; }
+ @AuraEnabled
+ public String productName { get; set; }
+ @AuraEnabled
+ public Decimal pieceCount { get; set; }
+ // 鍙栧埌鐨勮鍗曚俊鎭�
+ public ConsumableorderdetailsInfo(Consumable_order__c e) {
+ order = e;
+ hospitalCode = e.Order_Attachment__c;
+ hospitalName = e.Order_Indication__c;
+ agencyName = e.Invoice_Note__c;
+ e.Order_Attachment__c = '';
+ e.Order_Indication__c = '';
+ e.Invoice_Note__c = '';
+ }
+ // 鍙栧埌鐨勮鍗曟槑缁�
+ public ConsumableorderdetailsInfo(Consumable_orderdetails__c e) {
+ orderdetails1 = e;
+ orderName = e.Remarks__c;
+ productName = e.Lose_reason__c;
+ e.Lose_reason__c = '';
+ e.Remarks__c = '';
+ }
+ // 鍙栧埌鐨勪骇鍝佹槑缁�
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+ orderdetails2 = e;
+ orderName = e.TracingCode__c;
+ productName = e.Return_reason__c;
+ pieceCount = e.Rrturn_count__c;
+ e.TracingCode__c = '';
+ e.Return_reason__c = '';
+ e.Rrturn_count__c = null;
+ }
+ public Integer compareTo(Object compareTo) {
+ return null;
+ }
}
- }
-}
+}
\ No newline at end of file
--
Gitblit v1.9.1