| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using CoreFS.CA06;
- using System.ComponentModel;
- using System.Drawing;
- using System.Windows.Forms;
- using Infragistics.Win.UltraWinGrid;
- using System.Collections;
- using ColumnDefine = Core.StlMes.Client.Sale.Common.TbColumnDefine.TbColumnDefine;
- namespace Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Order
- {
- public class SlmOrderBll : SaleBusinessMgt.BllBase.BaseBll
- {
- public SlmOrderBll(OpeBase ob)
- : base(ob)
- {
-
- }
- public DataSet GetSlmOrderLineByCreateTime(DateTime orderBdate, DateTime orderEdate)
- {
- string sqlCondition = Util.ConverObject.ConvertDateTimeValueToDbLanguage("b.CREATE_TIME", orderBdate, orderEdate);
- // string sqlStr = @" SELECT a.*,b.*,c.*
- // FROM SLM_ORDER_LINE A
- // join SLM_ORDER_HEAD b
- // on a.ord_pk = b.ord_pk
- // left join SLM_ORDER_PRICE_LIST c
- // on a.ord_ln_pk = c.ord_ln_pk where 1 = 1 and a.VALIDFLAG = '1' {0}";
- string sqlStr = @" SELECT a.*,b.*
- FROM SLM_ORDER_LINE A
- join SLM_ORDER_HEAD b
- on a.ord_pk = b.ord_pk
- where 1 = 1 and a.VALIDFLAG = '1' {0}";
- sqlStr = string.Format(sqlStr, sqlCondition);
- return base.ExecuteQuery(sqlStr);
- }
- public DataSet GetSlmOrderLineByOrderNoWithApproximateMatch(string orderNo)
- {
- string sqlCondition = string.Format(" and b.ORDER_NO like '%'|| '{0}'||'%' ", orderNo);
- // string sqlStr = @" SELECT a.*,b.*,c.*
- // FROM SLM_ORDER_LINE A
- // join SLM_ORDER_HEAD b
- // on a.ord_pk = b.ord_pk
- // left join SLM_ORDER_PRICE_LIST c
- // on a.ord_ln_pk = c.ord_ln_pk where 1 = 1 and a.VALIDFLAG = '1' {0}";
- string sqlStr = @" SELECT a.*,b.*
- FROM SLM_ORDER_LINE A
- join SLM_ORDER_HEAD b
- on a.ord_pk = b.ord_pk
- where 1 = 1 and a.VALIDFLAG = '1' {0}";
- sqlStr = string.Format(sqlStr, sqlCondition);
- return base.ExecuteQuery(sqlStr);
- }
- public void UpdateFinallBalPrice(string ordLnPk, string price,String person, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerNameBal, "updateFinallBalPrice", new object[] { ordLnPk,price, person });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- public void UpdateFinallBalPriceOrg(string ordLnPk, string price, String person, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerNameBal, "updateFinallBalPriceOrg", new object[] { ordLnPk,price, person });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- public void AffrimFinallBalPrice(string orderNo, String person, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerNameBal, "affrimFinallBalPrice", new object[] { orderNo, person });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- public void AffrimFinallBalPriceOrg(string orderNo, String person, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerNameBal, "affrimFinallBalPriceOrg", new object[] { orderNo, person });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- public void UnAffrimFinallBalPrice(string orderNo, String person, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerNameBal, "unAffrimFinallBalPrice", new object[] { orderNo, person });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- public void UnAffrimFinallBalPriceOrg(string orderNo, String person, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerNameBal, "unAffrimFinallBalPriceOrg", new object[] { orderNo, person });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- private string _ServerNameBal = "core.stlmes.server.sale.service.balance.SlmBalanceTickets";
- /// <summary>
- /// 查询合同头入口
- /// </summary>
- /// <param name="sqlCondition"></param>
- /// <returns></returns>
- private DataSet GetSlmOrderHead(string sqlCondition)
- {
- string sqlStr =string.Format(SqlCollection.Order.QUERY_ORDER_HEAD, sqlCondition, base.DateTimeTocharFormat);
- return base.ExecuteQuery(sqlStr);
- }
- /// <summary>
- /// 查询合同行入口
- /// </summary>
- /// <param name="sqlCondition"></param>
- /// <returns></returns>
- private DataSet GetSlmOrderLine(string sqlCondition)
- {
- string sqlStr = string.Format(SqlCollection.Order.QUERY_ORDER_LINE, sqlCondition, base.DateTimeTocharFormat);
- return base.ExecuteQuery(sqlStr);
- }
- /// <summary>
- /// 查询订单所有信息
- /// </summary>
- /// <param name="sqlCondition"></param>
- /// <returns></returns>
- private DataSet GetSlmOrderDetail(string sqlCondition)
- {
- string sqlStr = string.Format(SqlCollection.Order.QUERY_ORDER_DETAIL, sqlCondition,base.DateTimeTocharFormat);
- return base.ExecuteQuery(sqlStr);
- }
- /// <summary>
- /// 查询订单信息
- /// </summary>
- /// <param name="sqlCondition"></param>
- /// <returns></returns>
- private DataSet GetSlmOrderProd(string sqlCondition)
- {
- string sqlStr = string.Format(SqlCollection.Order.QUERY_ORDER_PROD, sqlCondition, base.DateTimeTocharFormat);
- return base.ExecuteQuery(sqlStr);
- }
- /// <summary>
- /// 查询订单运输信息
- /// </summary>
- /// <param name="sqlCondition"></param>
- /// <returns></returns>
- private DataSet GetSlmOrderDeliveryTransit(string sqlCondition)
- {
- string sqlStr = string.Format(SqlCollection.Order.SLM_ORDER_DELIVERY_TRANSIT, sqlCondition, base.DateTimeTocharFormat);
- return base.ExecuteQuery(sqlStr);
- }
- /// <summary>
- /// 查询合同头所有有效信息
- /// </summary>
- /// <returns></returns>
- public DataSet GetValidSlmOrderHead()
- {
- string sqlCondition = " and validflag = '1'";
- return GetSlmOrderHead(sqlCondition);
- }
- /// <summary>
- /// 查询合同头所有信息(有效、无效)
- /// </summary>
- /// <returns></returns>
- public DataSet GetSlmOrderHeadAll()
- {
- return GetSlmOrderHead("");
- }
- /// <summary>
- /// 查询合同行所有信息
- /// </summary>
- /// <returns></returns>
- public DataSet GetSlmOrderLineAll()
- {
- return GetSlmOrderLine("");
- }
- /// <summary>
- /// 根据合同号查询合同行信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderLineByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and order_no = '{0}' ", orderNo);
- return GetSlmOrderLine(sqlCondition);
- }
- /// <summary>
- /// 合同头根据合同号查询
- /// </summary>
- /// <param name="orderNO"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderHeadByOrderNo(string orderNO)
- {
- string sqlCondition = string.Format(" and order_no = '{0}' ", orderNO);
- return GetSlmOrderHead(sqlCondition);
- }
- /// <summary>
- /// 根据合同号模糊查找合同信息
- /// </summary>
- /// <param name="orderNO"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderHeadByApproximateMatchOrderNo(string orderNO)
- {
- string sqlCondition = string.Format(" and order_no like '%{0}%' ", orderNO);
- return GetSlmOrderHead(sqlCondition);
- }
- /// <summary>
- /// 根据合同编号查询信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderDetailByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and a.order_no = '{0}' ", orderNo);
- return GetSlmOrderDetail(sqlCondition);
- }
- /// <summary>
- /// 根据合同编号查询产品信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderProdByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and order_no = '{0}' ", orderNo);
- return GetSlmOrderProd(sqlCondition);
- }
- /// <summary>
- /// 根据合同编号查询运输信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderDeliveryTransitByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and order_no = '{0}' ", orderNo);
- return GetSlmOrderDeliveryTransit(sqlCondition);
- }
- /// <summary>
- /// 根据合同编号查询已申报跟未申报信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetDeclareAndUnDeclareSlmOrderDeliveryInfoByOrderNo(string orderNo)
- {
- string sqlCondition = " and order_no = '" + orderNo + "' and (order_ln_status = '1' or order_ln_status = '2')";
- return GetSlmOrderLine(sqlCondition);
- }
-
- /// <summary>
- /// 根据合同编号查询评审通过和评审不通过信息(包括已申报为评审的信息)
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetPassAndUnPassSlmOrderDeliveryByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and (order_ln_status = '2' or order_ln_status = '3' or order_ln_status = '-3') and order_no = '{0}'", orderNo);
- return GetSlmOrderLine(sqlCondition);
- }
- /// <summary>
- /// 查询资源下发与未下发的信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetPassAndPlanSlmOrderDeliveryByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and (order_ln_status = '6' or order_ln_status = '7') and order_no = '{0}'", orderNo);
- return GetSlmOrderLine(sqlCondition);
- }
- /// <summary>
- /// 根据合同编号查询生效合同与评审确认通过的信息
- /// </summary>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetPassSlmOrderDeliveryByOrderNo(string orderNo)
- {
- string sqlCondition = string.Format(" and (order_ln_status = '5' or order_ln_status = '6') and order_no = '{0}'",orderNo);
- return GetSlmOrderLine(sqlCondition);
- }
- /// <summary>
- /// 查询合同关闭和未关闭的信息
- /// </summary>
- /// <returns></returns>
- public DataSet GetSlmOrderSendCloseInfo()
- {
- string sqlCondition = " and order_ln_status = '7' or order_ln_status = '8'";
- return GetSlmOrderLine(sqlCondition);
- }
- /// <summary>
- /// 查询待评审合同信息
- /// </summary>
- /// <returns></returns>
- public DataSet GetToReviewSlmOrderDelivery()
- {
- string sqlCondition = " and order_ln_status = '1'";
- return GetSlmOrderLine(sqlCondition);
- }
- /// <summary>
- /// 根据合同开始时间查询合同
- /// </summary>
- /// <param name="orderBdate"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderHeadByBigindate(DateTime orderBdate)
- {
- string sqlCondition = Util.ConverObject.GetTimeStringValueToDateFunction(orderBdate);
- return GetSlmOrderHead(sqlCondition);
- }
- /// <summary>
- /// 根据开始时间到结束时间查询合同
- /// </summary>
- /// <param name="orderBdate"></param>
- /// <param name="orderEdate"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderHeadByBigindateToEeddate(DateTime orderBdate, DateTime orderEdate)
- {
- string sqlCondition = Util.ConverObject.ConvertDateTimeValueToDbLanguage("order_bdate", orderBdate, orderEdate);
- return GetSlmOrderHead(sqlCondition);
- }
- /// <summary>
- /// 在时间范围内查询指定的合同号的信息
- /// </summary>
- /// <param name="orderBdate"></param>
- /// <param name="orderEdate"></param>
- /// <param name="orderNo"></param>
- /// <returns></returns>
- public DataSet GetSlmOrderHeadByOrderNoOfBigindateToEeddate(DateTime orderBdate, DateTime orderEdate, string orderNo)
- {
- string sqlCondition = Util.ConverObject.ConvertDateTimeValueToDbLanguage("order_bdate", orderBdate, orderEdate);
- sqlCondition += string.Format(" and order_no like '%{0}%' ", orderNo);
- return GetSlmOrderHead(sqlCondition);
-
- }
- /// <summary>
- /// 新增合同
- /// </summary>
- /// <param name="hs"></param>
- /// <param name="errMsg"></param>
- public void Insert(Hashtable hs, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "insertHead", new object[] { hs });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 删除合同
- /// </summary>
- /// <param name="order_no"></param>
- /// <param name="errMsg"></param>
- public void Delete(string order_no,out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "deleteHead", new object[] { order_no });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 修改合同
- /// </summary>
- /// <param name="hs"></param>
- /// <param name="errMsg"></param>
- public void Update(Hashtable hs, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "updateHead", new object[] { hs });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 合同确认
- /// </summary>
- /// <param name="orderNo"></param>
- /// <param name="approvalMan"></param>
- /// <param name="errMsg"></param>
- public void Affrim(string orderNo, string approvalMan, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "affrimHead", new object[] { orderNo, approvalMan });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 订单信息新增
- /// </summary>
- /// <param name="hsLine"></param>
- /// <param name="hsProd"></param>
- /// <param name="hsTrans"></param>
- /// <param name="errMsg"></param>
- public void InsertOrderDetail(Hashtable hsLine,Hashtable hsProd,Hashtable hsTrans,out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "insertDetail", new object[] { hsLine, hsProd, hsTrans });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 订单信息修改
- /// </summary>
- /// <param name="hsLine"></param>
- /// <param name="hsProd"></param>
- /// <param name="hsTrans"></param>
- /// <param name="errMsg"></param>
- public void UpdateOrderDetail(Hashtable hsLine, Hashtable hsProd, Hashtable hsTrans, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "updateDetail", new object[] { hsLine, hsProd, hsTrans });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 订单信息删除
- /// </summary>
- /// <param name="order_no"></param>
- /// <param name="order_seq"></param>
- /// <param name="errMsg"></param>
- public void DeleteOrderDetail(string order_no, string order_seq, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "deleteDetail", new object[] { order_no, order_seq });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 订单信息为有效
- /// </summary>
- /// <param name="order_no"></param>
- /// <param name="order_seq"></param>
- /// <param name="errMsg"></param>
- public void AffrimOrderLine(string orderNo,string orderSeq , out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "affrim", new object[] { orderNo,orderSeq });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 合同评审申报
- /// </summary>
- /// <param name="hs"></param>
- /// <param name="errMsg"></param>
- public void Declare(string orderNo,string reviewName, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "declare", new object[] { orderNo, reviewName });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 合同评审申报撤销
- /// </summary>
- /// <param name="order_no"></param>
- /// <param name="order_seq"></param>
- /// <param name="errMsg"></param>
- public void unDeclare(string orderNo,string reviewName, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "unDeclare", new object[] { orderNo, reviewName });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 评审结果录入为通过
- /// </summary>
- /// <param name="hs"></param>
- /// <param name="errMsg"></param>
- public void DeclarePass(string orderNo,string reviewName, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "declarePass", new object[] { orderNo, reviewName});
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 评审结果录入为不通过
- /// </summary>
- /// <param name="hs"></param>
- /// <param name="errMsg"></param>
- public void DeclareUnPass(string orderNo, string reviewName, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "declareUnPass", new object[] { orderNo, reviewName });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 合同确认状态为6
- /// </summary>
- /// <param name="hs"></param>
- /// <param name="errMsg"></param>
- public void OrderAffrim(string orderNo,string orderSeq, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "orderAffrim", new object[] { orderNo,orderSeq });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 合同取消确认状态为5
- /// </summary>
- /// <param name="list"></param>
- /// <param name="errMsg"></param>
- public void OrderUnAffrim(string orderNo,string orderSeq, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "orderUnAffrim", new object[] { orderNo,orderSeq });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 订单发运关闭 状态为8(订单发运关闭)
- /// </summary>
- /// <param name="list"></param>
- /// <param name="errMsg"></param>
- public void OrderClose(string orderNo,string orderSeq, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "orderClose", new object[] { orderNo,orderSeq });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- /// <summary>
- /// 订单取消发运关闭 状态为7(资源计划下发)
- /// </summary>
- /// <param name="list"></param>
- /// <param name="errMsg"></param>
- public void OrderUnClose(string orderNo,string orderSeq, out string errMsg)
- {
- errMsg = "";
- CoreClientParam param = base.GetCoreClientParam(_ServerName, "orderUnClose", new object[] { orderNo,orderSeq });
- CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal);
- errMsg = base.GetReturnErrorInfo(result);
- }
- private string _ServerName = "core.stlmes.server.sale.service.order.SlmBaseOrder";
- }
- }
|