智云SRM-WEBAPI(目前客户通用API)
nn
王 垚
2021-12-31 99e41064f7a5ac3f5a70c9d80637318a6e3ee45d
WebAPI/Controllers/POInStockController.cs
@@ -295,6 +295,8 @@
            ListModels oListModels = new ListModels();
            try
            {
                //获取客户名称
                string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill();
                List<Model.ClsCg_POInStockBillMain> lsmain = new List<Model.ClsCg_POInStockBillMain>();
                msg2 = msg2.Replace("\\", "");
@@ -312,7 +314,7 @@
                    oItem.HMainSourceInterID = oItem.HInterID;
                    oItem.HInterID = 0;
                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
                    if (oSystemParameter.omodel.WMS_CampanyName == "安瑞医疗") //系统参数  客户定制化名称     空白为通用
                    if (FCusName == "安瑞医疗") //系统参数  客户定制化名称     空白为通用
                    {
                        if (DBUtility.ClsPub.isStrNull(oItem.HDHDate) == "")
                        {
@@ -362,7 +364,7 @@
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if (oSystemParameter.omodel.WMS_CampanyName == "安瑞医疗") //系统参数  客户定制化名称     空白为通用
                    if (FCusName == "安瑞医疗") //系统参数  客户定制化名称     空白为通用
                    {
                        if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "")
                        {
@@ -621,8 +623,10 @@
                }
                string kdTbaleName = "AIS20211209082932";
                //string kdTbaleName = "AIS20211130140219";//夏宝正式
                string sql = string.Format(@"
 SELECT B.HINTERID,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,E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID ,CU.FNUMBER AS FUNITNUMBER FROM
 SELECT 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,E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID ,CU.FNUMBER AS FUNITNUMBER 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
@@ -654,6 +658,7 @@
                        JObject model = new JObject();
                        model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //单据类型
                        model.Add("FBILLNO", dr["HBillNo"].ToString()); //单据类型
                        model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //通知日期
                        model.Add("FStockOrgId", new JObject() { ["Fnumber"] = dr["FRECEIVENUMBER"].ToString() }); // 收料组织 
                        model.Add("FPurOrgId", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() }); //采购组织
@@ -678,7 +683,7 @@
                            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
                            JArray Fentity2 = new JArray();
                            JObject FentityModel2 = new JObject();
@@ -807,6 +812,90 @@
            return HInterID;
        }
        [Route("DeltetPOInStockBill")]
        [HttpGet]
        public object DeltetPOInStockBill(string HInterID, string HUserName, string HBillNo)
        {
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            try
            {
                DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill();
                //先删除 金蝶数据
                objjson = DeleteKingDee(HInterID);
                LogService.Write(objjson.ToString());
                if (objjson.code == "0")
                    return objjson;
                WebAPIController.Add_Log("送货单删除,单号:" + HBillNo, HUserName, "送货单删除");
                oCN.BeginTran();
                oBill.DeleteRelation(ref DBUtility.ClsPub.sExeReturnInfo, Convert.ToInt32(HInterID));
                oCN.RunProc("Delete From Cg_POInStockBillMain where HInterID = " + HInterID);
                oCN.RunProc("Delete From Cg_POInStockBillSub where HInterID = " + HInterID);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //审核 删除 删除金蝶数据库对应 收料通知到数据
        public json DeleteKingDee(string hinterid)
        {
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            string sql = string.Format("select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain where HERPInterID>0 and hinterid in (" + hinterid + ")");
            DataTable dt = oCN.RunProcReturn(sql, "deleteDt").Tables[0];
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    var sJson = new
                    {
                        Numbers = dr["HERPBillNO"].ToString(),
                        Ids = ""
                    };
                    var loginRet = InvokeHelper.Login();
                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                    if (isSuccess == 0)
                    {
                        objjson.code = "0";
                        objjson.count = 0;
                        objjson.Message = "操作失败,金蝶账号登录异常。" + loginRet;
                        objjson.data = null;
                        return objjson;
                    }
                    LogService.Write("");
                    var result = InvokeHelper.Delete("PUR_ReceiveBill", JsonConvert.SerializeObject(sJson));
                    LogService.Write(result);
                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                    {
                        objjson.code = "0";
                        objjson.count = 0;
                        objjson.Message = "对应金蝶收料通知单删除失败 !" + result;
                        objjson.data = null;
                        return objjson;
                    }
                }
            }
            objjson.code = "1";
            objjson.count = 1;
            objjson.Message = "Sucess!";
            objjson.data = null;
            return objjson;
        }
        //[Route("POInStockAccept")]
        //[HttpGet]
        ///// <summary>