| | |
| | | public object AuditPOInStockBill(string HInterID, string CurUserName, string HBillNo) |
| | | { |
| | | json objjson = new json(); |
| | | SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); |
| | | try |
| | | { |
| | | SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); |
| | | { |
| | | //采购订单 生成送货单列表 |
| | | if (!String.IsNullOrEmpty(HBillNo)) |
| | | HInterID = GetHinterIDByBillNo(HBillNo, "Aduit").ToString(); |
| | |
| | | //var HValue = oCn.RunProcReturn(parameterSql, "dt").Tables[0].Rows[0][0].ToString(); |
| | | string HValue = "Y"; |
| | | string CustomFields = "";//自定义字段 |
| | | |
| | | oCn.BeginTran(); //开始事物 |
| | | |
| | | if (HValue == "Y") |
| | | { |
| | | if (FCusName == "夏宝电器") |
| | | //==================================== Begin 送货单审核前控制 Begin ==================================== |
| | | DataSet ds; |
| | | |
| | | string[] sArray = HInterID.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); |
| | | |
| | | for (int i = 0; i < sArray.Length; i++) |
| | | { |
| | | ds = oCn.RunProcReturn("exec h_p_SRM_Cg_POInStockBill_BeforeCheckCtrl " + sArray[i] + ",'" + HBillNo + "','" + CurUserName + "'", "h_p_SRM_Cg_POInStockBill_BeforeCheckCtrl"); |
| | | if (ds == null) |
| | | { |
| | | oCn.RollBack(); //回滚事物 |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "审核前判断失败!无数据返回"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") |
| | | { |
| | | oCn.RollBack(); //回滚事物 |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemarkBack"]); |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | } |
| | | |
| | | //====================================== End 送货单审核前控制 End ====================================== |
| | | if (FCusName == "夏宝电器") |
| | | { |
| | | sql = string.Format(@" |
| | | SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER |
| | | ,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER AS FSETTLEORGNUMBER, |
| | |
| | | ,CU.FNUMBER AS FUNITNUMBER,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER |
| | | ,B.HExpressNumberSub,B.HExpressSupplierSub,B.HRemark,B.HPlanArrivalDate,B.HBoxNumber,B.HBatChNo,D.FBILLTYPEID |
| | | ,isnull(VW.FNUMBER,'') AS FReceiverNUMBER,isnull(B.HKFDate,'') As FProduceDate,B.HTAXPRICE_T AS F_AAAA_PRICE1 |
| | | ,C.FGiveAway AS FGiveAway |
| | | FROM CG_POINSTOCKBILLSUB B |
| | | JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID |
| | | JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID |
| | |
| | | FentityModel.Add("FSRCENTRYID", item["FENTRYID"].ToString());//源单分录内码 |
| | | FentityModel.Add("FORDERBILLNO", item["FBILLNO"].ToString());//源单单号 |
| | | FentityModel.Add("FPOORDERENTRYID", item["FENTRYID"].ToString());//源单分录内码 |
| | | FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid |
| | | FentityModel.Add("FPrice", item["FPRICE"].ToString());//单价 |
| | | FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//含税单价 |
| | | FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//税率 |
| | | FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid |
| | | FentityModel.Add("FLot", new JObject() { ["Fnumber"] = item["HBatChNo"].ToString() }); // 批号 |
| | | FentityModel.Add("FProduceDate", item["FProduceDate"].ToString());//生产日期 |
| | | FentityModel.Add("F_aaaa_Price1", item["F_aaaa_Price1"].ToString());//含税重量单价/吨 |
| | |
| | | FentityModel.Add("FDescription", item["HRemark"].ToString());//表体备注 (瑞琪) |
| | | FentityModel.Add("F_bsv_dhrq", item["HPlanArrivalDate"].ToString());//到货日期 (瑞琪) |
| | | FentityModel.Add("F_bsv_xh", item["HBoxNumber"].ToString());//箱号 (瑞琪) |
| | | |
| | | FentityModel.Add("FPrice", item["FPRICE"].ToString());//单价 |
| | | FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//含税单价 |
| | | FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//税率 |
| | | FentityModel.Add("FGiveAway", item["FGiveAway"].ToString());//是否赠品 |
| | | JArray Fentity2 = new JArray(); |
| | | JObject FentityModel2 = new JObject(); |
| | | FentityModel2.Add("FDetailEntity_Link_FRULEID", "PUR_PurchaseOrder-PUR_ReceiveBill"); |
| | |
| | | LogService.Write("收料通知单审核无数据:" + sql); |
| | | } |
| | | } |
| | | |
| | | //==================================== Begin 送货单审核后控制 Begin ==================================== |
| | | for (int i = 0; i < sArray.Length; i++) |
| | | { |
| | | ds = oCn.RunProcReturn("exec h_p_SRM_Cg_POInStockBill_AfterCheckCtrl " + sArray[i] + ",'" + HBillNo + "','" + CurUserName + "'", "h_p_SRM_Cg_POInStockBill_AfterCheckCtrl"); |
| | | if (ds == null) |
| | | { |
| | | oCn.RollBack(); //回滚事物 |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "审核后判断失败!无数据返回"; |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") |
| | | { |
| | | oCn.RollBack(); //回滚事物 |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemarkBack"]); |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | } |
| | | //====================================== End 送货单审核后控制 End ====================================== |
| | | } |
| | | |
| | | ////更新物流字段 (瑞与琪) |
| | |
| | | HCheckDate = getdate() |
| | | where HInterID in ({1})", CurUserName, HInterID); |
| | | oCn.RunProc(sql); |
| | | |
| | | oCn.Commit(); //提交事物 |
| | | |
| | | objjson.code = "1"; |
| | | objjson.count = 1; |
| | | objjson.Message = "操作成功"; |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | oCn.RollBack(); //回滚事物 |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "操作失败" + ex.Message.ToString(); |
| | |
| | | /// <returns></returns> |
| | | public object TestSaverPOInStock(string ids, string entryids) |
| | | { |
| | | List<string> mylist = new List<string>(ids.Split(',').Distinct()); |
| | | List<string> entryList = new List<string>(entryids.Split(',').Distinct()); |
| | | List<string> mylist = new List<string>(ids.Split(','));//.Distinct() |
| | | List<string> entryList = new List<string>(entryids.Split(','));//.Distinct() |
| | | SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); |
| | | string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | if (FCusName == "夏宝电器" && mylist.Count > 1) |
| | |
| | | } |
| | | try |
| | | { |
| | | DataSet ds2; |
| | | oCn.BeginTran(); //开始事物 |
| | | |
| | | //采购订单下推生成送货单 时候 判断是否有生成采购订单变更单 如果有且变更单状态不为已审核 限制下推 |
| | | objJsonResult = TestPOOrder(entryids); |
| | | if (objJsonResult.code == "0") |
| | | return objJsonResult; |
| | | |
| | | if (mylist.Count != entryList.Count) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "主内码与子内码数量不一致!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | for (int i = 0;i < mylist.Count;i++) |
| | | { |
| | | //采购订单下推生成送货单前控制 |
| | | string sql = "exec h_p_SRM_POOrderBill_BeforePushDownCtrl " + mylist[i] + "," + entryList[i]; |
| | | ds2 = oCn.RunProcReturn(sql, "h_p_SRM_POOrderBill_BeforePushDownCtrl"); |
| | | |
| | | if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0") |
| | | { |
| | | oCn.RollBack(); //回滚事物 |
| | | objjson.code = "0"; |
| | | objjson.count = 0; |
| | | objjson.Message = "审核前判断失败!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HRemarkBack"]); |
| | | objjson.data = null; |
| | | return objjson; |
| | | } |
| | | } |
| | | |
| | | for (int i = 0; i < mylist.Count; i++) |
| | | { |
| | | //更新关联数量 |
| | |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | oCn.Commit(); //提交事物 |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "操作成功!"; |