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/LexOverdueStockController.cls | 819 +++++++++++++++++++++++++++-------------------------------
1 files changed, 384 insertions(+), 435 deletions(-)
diff --git a/force-app/main/default/classes/LexOverdueStockController.cls b/force-app/main/default/classes/LexOverdueStockController.cls
index b53796f..05fe5c6 100644
--- a/force-app/main/default/classes/LexOverdueStockController.cls
+++ b/force-app/main/default/classes/LexOverdueStockController.cls
@@ -1,458 +1,407 @@
public with sharing class LexOverdueStockController {
- /*****************妞滅储鐢�******************/
- public static String barcode { get; set; }
+ /*****************妞滅储鐢�******************/
+ public static String barcode { get; set; }
- // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢�
- public static List<orderBean> codPageRecords { get; set; }
+ // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢�
+ public static List<orderBean> codPageRecords { get; set; }
- // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢�
- public static List<orderBean> overduePageRecords { get; set; }
+ // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢�
+ public static List<orderBean> overduePageRecords { get; set; }
- // 鐧诲綍鑰呭伐浣滃湴
- private static String userWorkLocation;
- //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
- private static String agencyProType;
- private static String sqlagencyProType;
- // 缁忛攢鍟嗕俊鎭�
- private static Account accountInfo;
+ // 鐧诲綍鑰呭伐浣滃湴
+ private static String userWorkLocation;
+ //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
+ private static String agencyProType;
+ private static String sqlagencyProType;
+ // 缁忛攢鍟嗕俊鎭�
+ private static Account accountInfo;
- //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛�
- public static Boolean iSinventory = false;
+ //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛�
+ public static Boolean iSinventory = false;
- public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>();
+ public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>();
- public static Integer pageRecordsSize {
- get {
- return codPageRecords == null ? 0 : codPageRecords.size();
- }
- }
-
- public LexOverdueStockController() {
- }
-
- // 鐢婚潰鍒濆鍖�
- @AuraEnabled
- public static ResponseBodyLWC init() {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
-
- codPageRecords = new List<orderBean>();
- overduePageRecords = new List<orderBean>();
- // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
- user Useracc = [
- SELECT Accountid, Work_Location__c, UserPro_Type__c
- FROM user
- WHERE id = :UserInfo.getUserId()
- ];
- userWorkLocation = Useracc.Work_Location__c;
- agencyProType = Useracc.UserPro_Type__c;
- if (String.isBlank(Useracc.UserPro_Type__c)) {
- agencyProType = 'ET';
- }
- sqlagencyProType = '%' + agencyProType + '%';
- accountInfo = [
- SELECT id, Name, Dealer_discount__c
- FROM account
- WHERE id = :Useracc.accountid
- ];
- // 杩囨湡搴撳瓨姹囨�讳俊鎭�
- List<AggregateResult> orderDetZaiku = [
- SELECT
- count(Id) countsum,
- Consumable_Product__c prodid,
- Consumable_Product__r.Name_Text__c prodname,
- Box_Piece__c boxPiece
- 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 Isoverdue__c = 0
- AND Dealer_Returned__c = FALSE
- AND Cancellation_Flag__c = FALSE
- AND Bar_Code__c != NULL
- AND Product_Type__c LIKE :sqlagencyProType
- AND Dealer_Info_text__c = :accountInfo.Name
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- GROUP BY
- Consumable_Product__c,
- Box_Piece__c,
- Consumable_Product__r.Name_Text__c
- ];
-
- for (AggregateResult overdue : orderDetZaiku) {
- codPageRecords.add(new orderBean(overdue));
- }
-
- system.debug('codPageRecords====>' + codPageRecords);
- data.put('codPageRecords', JSON.serialize(codPageRecords));
- data.put('userWorkLocation', userWorkLocation);
- data.put('accountName', accountInfo.Name);
- data.put('agencyProType', agencyProType);
- data.put('orderDetZaiku', JSON.serialize(orderDetZaiku));
- res.status = 'Success';
- res.code = 200;
- System.debug('res = ' + res);
- return res;
- }
-
- // BarCode褰曞叆
- @AuraEnabled
- public static ResponseBodyLWC searchorderBean(
- String agencyProTypeLWC,
- String userWorkLocationLWC,
- String accountNameLWC,
- String barcodeLWC,
- String codPageRecordsLWC
- ) {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
- List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(
- codPageRecordsLWC,
- List<orderBean>.class
- );
- sqlagencyProType = '%' + agencyProTypeLWC + '%';
- system.debug('sqlagencyProType==>' + sqlagencyProType);
- barcode = barcodeLWC;
- system.debug('barcode==>' + barcode);
- userWorkLocation = userWorkLocationLWC;
- // add by Wang Xueqin 2023/04/12
- // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
- user Useracc = [
- SELECT Accountid, Work_Location__c, UserPro_Type__c
- FROM user
- WHERE id = :UserInfo.getUserId()
- ];
- accountInfo = [
- SELECT id, Name, Dealer_discount__c
- FROM account
- WHERE id = :Useracc.accountid
- ];
-
- iSinventory = true;
- Set<String> barCodeoverdue = new Set<String>();
- overduePageRecords = new List<orderBean>();
- List<String> barCodeListP = ParseBarCode(barcode);
- // 椤甸潰鏄剧ず鏁版嵁鍒濆鍖�
- for (orderBean codPage : codPageRecords) {
- codPage.pandian = 0;
- }
- // 鏌ヨ鎵�鏈夎繃鏈熷簱瀛�
- List<Consumable_order_details2__c> orderDetZaiku = [
- SELECT
- Id,
- Name,
- Consumable_Product__c,
- Bar_Code__c,
- Consumable_Product__r.Name__c,
- Dealer_Info_text__c,
- Asset_Model_No__c,
- Isoverdue__c,
- Box_Piece__c,
- Sterilization_limit__c,
- Bar_Code_search__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 Isoverdue__c = 0
- AND Dealer_Returned__c = FALSE
- AND Cancellation_Flag__c = FALSE
- AND Bar_Code__c != NULL
- AND Product_Type__c LIKE :sqlagencyProType
- AND Dealer_Info_text__c = :accountInfo.Name
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- ];
- // 娌℃湁杈撳叆鏉$爜鏃讹紝寰幆椤甸潰锛屾墍鏈夋墦閽╀骇鍝佸叏閮ㄩ攢瀛�
- // 鍙栧緱鎵�鏈�
- overdueList = new List<Consumable_order_details2__c>();
- if (String.isBlank(barcode)) {
- System.debug('barcode绌�');
- for (orderBean codPage : codPageRecords) {
- if (codPage.check) {
- for (Consumable_order_details2__c cod2 : orderDetZaiku) {
- if (
- cod2.Consumable_Product__c == codPage.prodid &&
- codPage.boxPiece == cod2.Box_Piece__c
- ) {
- overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�'));
- overdueList.add(cod2);
- }
- }
- codPage.pandian = codPage.overlimitCount;
+ public static Integer pageRecordsSize {
+ get {
+ return codPageRecords == null ? 0 : codPageRecords.size();
}
- }
- // return;
- System.debug('overduePageRecords = ' + overduePageRecords);
- System.debug('overdueList = ' + overdueList);
- data.put('overduePageRecords', JSON.serialize(overduePageRecords));
- data.put('codPageRecords', JSON.serialize(codPageRecords));
- data.put('iSinventory', iSinventory);
- data.put('overdueList', overdueList);
- res.status = 'Success1';
- res.code = 200;
- // res.msg = '璇疯緭鍏arCode鍙�';
- System.debug('res = ' + res);
- return res;
}
- // 杈撳叆barcode鏃�
+ public LexOverdueStockController() {
+ }
- // BarCode鐨勬绱� 鎵�鏈夊湪搴�
- List<Consumable_order_details2__c> reSet = [
- SELECT
- Id,
- Consumable_Product__c,
- Consumable_Product__r.Name__c,
- Box_Piece__c,
- Bar_Code_search__c,
- Dealer_Shipment__c,
- Dealer_Saled__c,
- Lose_Flag__c,
- Bar_Code__c,
- Cancellation_Flag__c,
- Isoverdue__c,
- Sterilization_limit__c
- FROM Consumable_order_details2__c
- WHERE
- Bar_Code_search__c IN :BarCodeListP
- AND Dealer_Arrive__c = TRUE
- AND Cancellation_Flag__c = FALSE
- AND Dealer_Returned__c = FALSE
- AND Bar_Code__c != NULL
- AND Product_Type__c LIKE :sqlagencyProType
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Dealer_Info_text__c = :accountInfo.Name
- ORDER BY Name
- ];
+ // 鐢婚潰鍒濆鍖�
+ @AuraEnabled
+ public static ResponseBodyLWC init() {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
- System.debug('reSet===>' + reSet);
+ codPageRecords = new List<orderBean>();
+ overduePageRecords = new List<orderBean>();
+ // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
+ user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+ userWorkLocation = Useracc.Work_Location__c;
+ agencyProType = Useracc.UserPro_Type__c;
+ if (String.isBlank(Useracc.UserPro_Type__c)) {
+ agencyProType = 'ET';
+ }
+ sqlagencyProType = '%' + agencyProType + '%';
+ accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid];
+ // 杩囨湡搴撳瓨姹囨�讳俊鎭�
+ List<AggregateResult> orderDetZaiku = [
+ SELECT count(Id) countsum, Consumable_Product__c prodid, Consumable_Product__r.Name_Text__c prodname, Box_Piece__c boxPiece
+ 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 Isoverdue__c = 0
+ AND Dealer_Returned__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c != NULL
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountInfo.Name
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ GROUP BY Consumable_Product__c, Box_Piece__c, Consumable_Product__r.Name_Text__c
+ ];
- for (Consumable_order_details2__c cod2 : reSet) {
- if (
- (cod2.Dealer_Shipment__c == false &&
- cod2.Dealer_Saled__c == false &&
- cod2.Lose_Flag__c == false &&
- cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0
- ) {
+ for (AggregateResult overdue : orderDetZaiku) {
+ codPageRecords.add(new orderBean(overdue));
+ }
+
+ system.debug('codPageRecords====>' + codPageRecords);
+ data.put('codPageRecords', JSON.serialize(codPageRecords));
+ data.put('userWorkLocation', userWorkLocation);
+ data.put('accountName', accountInfo.Name);
+ data.put('agencyProType', agencyProType);
+ data.put('orderDetZaiku', JSON.serialize(orderDetZaiku));
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ // BarCode褰曞叆
+ @AuraEnabled
+ public static ResponseBodyLWC searchorderBean(
+ String agencyProTypeLWC,
+ String userWorkLocationLWC,
+ String accountNameLWC,
+ String barcodeLWC,
+ String codPageRecordsLWC
+ ) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(codPageRecordsLWC, List<orderBean>.class);
+ sqlagencyProType = '%' + agencyProTypeLWC + '%';
+ system.debug('sqlagencyProType==>' + sqlagencyProType);
+ barcode = barcodeLWC;
+ system.debug('barcode==>' + barcode);
+ userWorkLocation = userWorkLocationLWC;
+ // add by Wang Xueqin 2023/04/12
+ // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
+ user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+ accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid];
+
+ iSinventory = true;
+ Set<String> barCodeoverdue = new Set<String>();
+ overduePageRecords = new List<orderBean>();
+ List<String> barCodeListP = ParseBarCode(barcode);
+ // 椤甸潰鏄剧ず鏁版嵁鍒濆鍖�
for (orderBean codPage : codPageRecords) {
- if (
- cod2.Consumable_Product__c == codPage.prodid &&
- cod2.Box_Piece__c == codPage.boxPiece
- ) {
- overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�'));
- overdueList.add(cod2);
- codPage.pandian++;
- codPage.check = true;
- }
+ codPage.pandian = 0;
}
- } else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) {
- overduePageRecords.add(new orderBean(cod2, '浜у搧宸茬粡鍑哄簱'));
- } else {
- overduePageRecords.add(new orderBean(cod2, '涓嶆槸杩囨湡搴撳瓨'));
- }
- }
- System.debug('overduePageRecords = ' + overduePageRecords);
- data.put('overduePageRecords', JSON.serialize(overduePageRecords));
- data.put('codPageRecords', JSON.serialize(codPageRecords));
- data.put('iSinventory', iSinventory);
- data.put('overdueList', overdueList);
- res.status = 'Success';
- res.code = 200;
- System.debug('res = ' + res);
- return res;
- }
-
- // 淇濆瓨鎸夐挳
- @AuraEnabled
- public static ResponseBodyLWC save(
- Boolean iSinventory,
- string saveCodPageRecords,
- List<Consumable_order_details2__c> saveoverdueList
- ) {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
- system.debug('saveCodPageRecords=============>' + saveCodPageRecords);
- system.debug('saveoverdueList' + saveoverdueList);
- overdueList = saveoverdueList;
- // if(saveoverdueList==null){
- // return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
-
- // }
-
- List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(
- saveCodPageRecords,
- List<orderBean>.class
- );
- // List<Consumable_order_details2__c> overdueList = (List<Consumable_order_details2__c>)JSON.deserialize(saveoverdueList,List<Consumable_order_details2__c>.class);
- // add by Wang Xueqin 2023/04/12
- // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
- user Useracc = [
- SELECT Accountid, Work_Location__c, UserPro_Type__c
- FROM user
- WHERE id = :UserInfo.getUserId()
- ];
- accountInfo = [
- SELECT id, Name, Dealer_discount__c
- FROM account
- WHERE id = :Useracc.accountid
- ];
-
- // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂�
- StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
- if (!iSinventory) {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�'));
- return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', '');
- // return null;
- }
- integer Lo = 0;
- for (orderBean header : codPageRecords) {
- if (header.check == true) {
- Lo++;
- }
- }
- if (Lo == 0) {
- iSinventory = false;
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�'));
- return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
- // return null;
- }
- Integer orderDetNo = 1;
- Savepoint sp = Database.setSavepoint();
- Consumable_order__c po = new Consumable_order__c();
- po.Name = '*';
- po.Order_status__c = '鎵瑰噯';
- po.Inventory_date__c = Date.today();
- po.Order_type__c = '閿�瀛�';
- po.Dealer_Info__c = accountInfo.Id;
- po.Order_ProType__c = agencyProType;
- po.RecordTypeid = System.Label.RT_ConOrder_Overdue;
- try {
- insert po;
- Consumable_order__c order = [
- SELECT Name
- FROM Consumable_order__c
- WHERE id = :po.id
- ];
- List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>();
- for (orderBean header : codPageRecords) {
- if (header.check == true) {
- Consumable_orderdetails__c insPan = new Consumable_orderdetails__c();
- String str = string.valueOf(orderDetNo);
- if (str.length() == 1) {
- str = '0' + str;
- }
- insPan.Name = order.Name + '-' + str;
- insPan.Consumable_Product__c = header.prodId;
- insPan.Consumable_order__c = po.Id;
- insPan.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�';
- insPan.Overdue_count__c = header.pandian;
- insPan.Overdue_SUM__c = header.overlimitCount;
- insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
- orderDetNo++;
- InsList.add(insPan);
+ // 鏌ヨ鎵�鏈夎繃鏈熷簱瀛�
+ List<Consumable_order_details2__c> orderDetZaiku = [
+ SELECT
+ Id,
+ Name,
+ Consumable_Product__c,
+ Bar_Code__c,
+ Consumable_Product__r.Name__c,
+ Dealer_Info_text__c,
+ Asset_Model_No__c,
+ Isoverdue__c,
+ Box_Piece__c,
+ Sterilization_limit__c,
+ Bar_Code_search__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 Isoverdue__c = 0
+ AND Dealer_Returned__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c != NULL
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountInfo.Name
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ ];
+ // 娌℃湁杈撳叆鏉$爜鏃讹紝寰幆椤甸潰锛屾墍鏈夋墦閽╀骇鍝佸叏閮ㄩ攢瀛�
+ // 鍙栧緱鎵�鏈�
+ overdueList = new List<Consumable_order_details2__c>();
+ if (String.isBlank(barcode)) {
+ System.debug('barcode绌�');
+ for (orderBean codPage : codPageRecords) {
+ if (codPage.check) {
+ for (Consumable_order_details2__c cod2 : orderDetZaiku) {
+ if (cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c) {
+ overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�'));
+ overdueList.add(cod2);
+ }
+ }
+ codPage.pandian = codPage.overlimitCount;
+ }
+ }
+ // return;
+ System.debug('overduePageRecords = ' + overduePageRecords);
+ System.debug('overdueList = ' + overdueList);
+ data.put('overduePageRecords', JSON.serialize(overduePageRecords));
+ data.put('codPageRecords', JSON.serialize(codPageRecords));
+ data.put('iSinventory', iSinventory);
+ data.put('overdueList', overdueList);
+ res.status = 'Success1';
+ res.code = 200;
+ // res.msg = '璇疯緭鍏arCode鍙�';
+ System.debug('res = ' + res);
+ return res;
}
- }
- // 鐢熸垚鏄庣粏1
- if (InsList.size() > 0) {
- insert InsList;
- }
- for (Consumable_order_details2__c cod : overdueList) {
- cod.Consumable_Inventory_order__c = po.Id;
- cod.Inventory_date__c = Date.today();
- cod.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�';
- cod.Lose_Flag__c = true;
- }
- if (overdueList.size() > 0) {
- ControllerUtil.updateOrderDetailsSatus(overdueList);
- }
- } catch (Exception ex) {
- Database.rollback(sp);
- ApexPages.addMessages(ex);
- return null;
- }
- // return new Pagereference('/' + po.Id);
- data.put('Id', po.Id);
- res.status = 'Success';
- res.code = 200;
- System.debug('res = ' + res);
- return res;
- }
+ // 杈撳叆barcode鏃�
- // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
- public static List<String> ParseBarCode(String Code) {
- Map<String, Integer> barcodeCountMap = new Map<String, Integer>();
- String[] Cache = new List<String>{};
- Cache = Code.split('\n');
- List<String> Buff = new List<String>();
- for (String A : Cache) {
- A = A.trim().toUpperCase();
- if (barcodeCountMap.containsKey(A)) {
- barcodeCountMap.put(A, barcodeCountMap.get(A) + 1);
- } else {
- barcodeCountMap.put(A, 1);
- }
- Buff.add(A + barcodeCountMap.get(A));
- }
- return Buff;
- }
+ // BarCode鐨勬绱� 鎵�鏈夊湪搴�
+ List<Consumable_order_details2__c> reSet = [
+ SELECT
+ Id,
+ Consumable_Product__c,
+ Consumable_Product__r.Name__c,
+ Box_Piece__c,
+ Bar_Code_search__c,
+ Dealer_Shipment__c,
+ Dealer_Saled__c,
+ Lose_Flag__c,
+ Bar_Code__c,
+ Cancellation_Flag__c,
+ Isoverdue__c,
+ Sterilization_limit__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Bar_Code_search__c IN :BarCodeListP
+ AND Dealer_Arrive__c = TRUE
+ AND Cancellation_Flag__c = FALSE
+ AND Dealer_Returned__c = FALSE
+ AND Bar_Code__c != NULL
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Dealer_Info_text__c = :accountInfo.Name
+ ORDER BY Name
+ ];
- // Data Bean
- @TestVisible
- class orderBean implements Comparable {
- @AuraEnabled
- public Consumable_order_details2__c orderdetails2 { get; set; }
- @AuraEnabled
- public Product2__c Prod { get; set; }
- @AuraEnabled
- public Boolean check { get; set; }
+ System.debug('reSet===>' + reSet);
- // 杩囨湡搴撳瓨
- @AuraEnabled
- public Integer overlimitCount { get; set; }
- // 閿�瀛樻暟閲�
- @AuraEnabled
- public Integer pandian { get; set; }
- // 閿�瀛樺師鍥�
- @AuraEnabled
- public String diffReason { get; set; }
- // 鍗曚綅
- @AuraEnabled
- public String boxPiece { get; set; }
- @AuraEnabled
- public String prodname { get; set; }
- @AuraEnabled
- public String prodid { get; set; }
- orderBean(Consumable_order_details2__c e, string str) {
- orderdetails2 = e;
- Prod = e.Consumable_Product__r;
- DiffReason = str;
+ for (Consumable_order_details2__c cod2 : reSet) {
+ if (
+ (cod2.Dealer_Shipment__c == false &&
+ cod2.Dealer_Saled__c == false &&
+ cod2.Lose_Flag__c == false &&
+ cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0
+ ) {
+ for (orderBean codPage : codPageRecords) {
+ if (cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece) {
+ overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�'));
+ overdueList.add(cod2);
+ codPage.pandian++;
+ codPage.check = true;
+ }
+ }
+ } else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) {
+ overduePageRecords.add(new orderBean(cod2, '浜у搧宸茬粡鍑哄簱'));
+ } else {
+ overduePageRecords.add(new orderBean(cod2, '涓嶆槸杩囨湡搴撳瓨'));
+ }
+ }
+ System.debug('overduePageRecords = ' + overduePageRecords);
+ data.put('overduePageRecords', JSON.serialize(overduePageRecords));
+ data.put('codPageRecords', JSON.serialize(codPageRecords));
+ data.put('iSinventory', iSinventory);
+ data.put('overdueList', overdueList);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
}
- public orderBean(AggregateResult e) {
- check = false;
- overlimitCount = Integer.valueOf(e.get('countsum'));
- prodname = String.valueOf(e.get('prodname'));
- prodid = String.valueOf(e.get('prodid'));
- boxPiece = String.valueOf(e.get('BoxPiece'));
- pandian = 0;
+
+ // 淇濆瓨鎸夐挳
+ @AuraEnabled
+ public static ResponseBodyLWC save(Boolean iSinventory, string saveCodPageRecords, List<Consumable_order_details2__c> saveoverdueList) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ system.debug('saveCodPageRecords=============>' + saveCodPageRecords);
+ system.debug('saveoverdueList' + saveoverdueList);
+ overdueList = saveoverdueList;
+ // if(saveoverdueList==null){
+ // return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
+
+ // }
+
+ List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(saveCodPageRecords, List<orderBean>.class);
+ // List<Consumable_order_details2__c> overdueList = (List<Consumable_order_details2__c>)JSON.deserialize(saveoverdueList,List<Consumable_order_details2__c>.class);
+ // add by Wang Xueqin 2023/04/12
+ // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
+ user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+ accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid];
+
+ // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂�
+ StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
+ if (!iSinventory) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�'));
+ return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', '');
+ // return null;
+ }
+ integer Lo = 0;
+ for (orderBean header : codPageRecords) {
+ if (header.check == true) {
+ Lo++;
+ }
+ }
+ if (Lo == 0) {
+ iSinventory = false;
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�'));
+ return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
+ // return null;
+ }
+ Integer orderDetNo = 1;
+ Savepoint sp = Database.setSavepoint();
+ Consumable_order__c po = new Consumable_order__c();
+ po.Name = '*';
+ po.Order_status__c = '鎵瑰噯';
+ po.Inventory_date__c = Date.today();
+ po.Order_type__c = '閿�瀛�';
+ po.Dealer_Info__c = accountInfo.Id;
+ po.Order_ProType__c = agencyProType;
+ po.RecordTypeid = System.Label.RT_ConOrder_Overdue;
+ try {
+ insert po;
+ Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id = :po.id];
+ List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>();
+ for (orderBean header : codPageRecords) {
+ if (header.check == true) {
+ Consumable_orderdetails__c insPan = new Consumable_orderdetails__c();
+ String str = string.valueOf(orderDetNo);
+ if (str.length() == 1) {
+ str = '0' + str;
+ }
+ insPan.Name = order.Name + '-' + str;
+ insPan.Consumable_Product__c = header.prodId;
+ insPan.Consumable_order__c = po.Id;
+ insPan.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�';
+ insPan.Overdue_count__c = header.pandian;
+ insPan.Overdue_SUM__c = header.overlimitCount;
+ insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
+ orderDetNo++;
+ InsList.add(insPan);
+ }
+ }
+ // 鐢熸垚鏄庣粏1
+ if (InsList.size() > 0) {
+ insert InsList;
+ }
+
+ for (Consumable_order_details2__c cod : overdueList) {
+ cod.Consumable_Inventory_order__c = po.Id;
+ cod.Inventory_date__c = Date.today();
+ cod.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�';
+ cod.Lose_Flag__c = true;
+ }
+ if (overdueList.size() > 0) {
+ ControllerUtil.updateOrderDetailsSatus(overdueList);
+ }
+ } catch (Exception ex) {
+ Database.rollback(sp);
+ ApexPages.addMessages(ex);
+ return null;
+ }
+ // return new Pagereference('/' + po.Id);
+ data.put('Id', po.Id);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
}
- // 鎺掑簭
- public Integer compareTo(Object compareTo) {
- orderBean compareToesd = (orderBean) compareTo;
- Integer returnValue = 0;
- if (overlimitCount > compareToesd.overlimitCount) {
- returnValue = -1;
- } else if (overlimitCount < compareToesd.overlimitCount) {
- returnValue = 1;
- }
- return returnValue;
+
+ // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
+ public static List<String> ParseBarCode(String Code) {
+ Map<String, Integer> barcodeCountMap = new Map<String, Integer>();
+ String[] Cache = new List<String>{};
+ Cache = Code.split('\n');
+ List<String> Buff = new List<String>();
+ for (String A : Cache) {
+ A = A.trim().toUpperCase();
+ if (barcodeCountMap.containsKey(A)) {
+ barcodeCountMap.put(A, barcodeCountMap.get(A) + 1);
+ } else {
+ barcodeCountMap.put(A, 1);
+ }
+ Buff.add(A + barcodeCountMap.get(A));
+ }
+ return Buff;
}
- }
-}
+
+ // Data Bean
+ @TestVisible
+ class orderBean implements Comparable {
+ @AuraEnabled
+ public Consumable_order_details2__c orderdetails2 { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public Boolean check { get; set; }
+
+ // 杩囨湡搴撳瓨
+ @AuraEnabled
+ public Integer overlimitCount { get; set; }
+ // 閿�瀛樻暟閲�
+ @AuraEnabled
+ public Integer pandian { get; set; }
+ // 閿�瀛樺師鍥�
+ @AuraEnabled
+ public String diffReason { get; set; }
+ // 鍗曚綅
+ @AuraEnabled
+ public String boxPiece { get; set; }
+ @AuraEnabled
+ public String prodname { get; set; }
+ @AuraEnabled
+ public String prodid { get; set; }
+ orderBean(Consumable_order_details2__c e, string str) {
+ orderdetails2 = e;
+ Prod = e.Consumable_Product__r;
+ DiffReason = str;
+ }
+ public orderBean(AggregateResult e) {
+ check = false;
+ overlimitCount = Integer.valueOf(e.get('countsum'));
+ prodname = String.valueOf(e.get('prodname'));
+ prodid = String.valueOf(e.get('prodid'));
+ boxPiece = String.valueOf(e.get('BoxPiece'));
+ pandian = 0;
+ }
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ orderBean compareToesd = (orderBean) compareTo;
+ Integer returnValue = 0;
+ if (overlimitCount > compareToesd.overlimitCount) {
+ returnValue = -1;
+ } else if (overlimitCount < compareToesd.overlimitCount) {
+ returnValue = 1;
+ }
+ return returnValue;
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1