jingh
2021-12-29 d94d583abc305f679db67962aa7f9bc7023b89d5
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_StockCheckItemBillController.cs
@@ -16,7 +16,7 @@
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        public Models.ClsGy_StockCheckItemBill BillNew0 = new Models.ClsGy_StockCheckItemBill();
        public Models.ClsGy_StockCheckItemBill BillNew0 = new ClsGy_StockCheckItemBill();
        #region ç›˜ç‚¹æ–¹æ¡ˆåˆ—表
        [Route("Gy_StockCheckItemBill/Get_StockCheckItemList")]
@@ -254,24 +254,17 @@
        #region ç›˜ç‚¹åˆ†æžåˆ—表
        [Route("Gy_StockCheckItemBill/Get_InventoryAnalysisList")]
        [HttpGet]
        public object Get_InventoryAnalysisList(string sWhere)
        public object Get_InventoryAnalysisList(string sWhere,string sID)
        {
            DataSet ds;
            List<object> list = new List<object>();
            List<object> list1 = new List<object>();//正常
            List<object> list2 = new List<object>();//调拨
            List<object> list3 = new List<object>();//出库
            List<object> list4 = new List<object>();//先做领用退库单,再做领用出库单
            List<object> list5 = new List<object>();//盘盈
            List<object> list6 = new List<object>();//盘亏
            List<object> list7 = new List<object>();//退库
            string sql;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql;
                if (sWhere != null&&sWhere!="")
                if (sID == null || sID == "")
                {
                     sql = string.Format(@"select k.HBarCode æ¡ç ,m.HNumber å™¨å…·ç¼–号,s.HName ç›˜ç‚¹æ–¹æ¡ˆ,
                    sql = string.Format(@"select k.HBarCode æ¡ç ,m.HBillNo å™¨å…·ç¼–号,s.HName ç›˜ç‚¹æ–¹æ¡ˆ,
                        case when k.HCorrespondentTypeID=1 then '供应商' when k.HCorrespondentTypeID=2 then '客户' when k.HCorrespondentTypeID=4 then '仓库' end å®žé™…位置类型,
                        case when k.HCorrespondentTypeID=1 then p.HName when  k.HCorrespondentTypeID=2 then c.HName when k.HCorrespondentTypeID=4 then w.HName end å®žé™…位置,
                        case when m.HNowSupTypeID=1 then '供应商' when m.HNowSupTypeID=2 then '客户' when m.HNowSupTypeID=4 then '仓库' end è´¦é¢ä½ç½®ç±»åž‹,
@@ -280,16 +273,16 @@
                        left join Gy_MouldFileMain m on k.HBarCode=m.HBarCode
                        left join Gy_StockCheckItem s on k.HSourceInterID=s.HItemID 
                        left join Gy_Supplier p on k.HCorrespondentID=p.HItemID
                        left join Gy_Supplier p1 on m.HNowSupTypeID=p1.HItemID
                        left join Gy_Supplier p1 on m.HNowSupID=p1.HItemID
                        left join Gy_Customer c on k.HCorrespondentID=c.HItemID
                        left join Gy_Customer c1 on m.HNowSupTypeID=c1.HItemID
                        left join Gy_Warehouse w on k.HSourceInterID=w.HItemID
                        left join Gy_Warehouse w1 on m.HNowSupTypeID=w1.HItemID
                        where (select  HEndDate from Gy_StockCheckItem where Hitemid=(select top 1 HSourceInterID from Sc_MouldStockBillMain_Temp WHERE HSourceInterID=0))<getdate()");
                        left join Gy_Customer c1 on m.HNowSupID=c1.HItemID
                        left join Gy_Warehouse w on k.HCorrespondentID=w.HItemID
                        left join Gy_Warehouse w1 on m.HNowSupID=w1.HItemID
                  where " + sWhere);
                }
                else
                {
                     sql = string.Format(@"select k.HBarCode æ¡ç ,m.HNumber å™¨å…·ç¼–号,s.HName ç›˜ç‚¹æ–¹æ¡ˆ,
                    sql = string.Format(@"select k.HBarCode æ¡ç ,m.HBillNo å™¨å…·ç¼–号,s.HName ç›˜ç‚¹æ–¹æ¡ˆ,
                        case when k.HCorrespondentTypeID=1 then '供应商' when k.HCorrespondentTypeID=2 then '客户' when k.HCorrespondentTypeID=4 then '仓库' end å®žé™…位置类型,
                        case when k.HCorrespondentTypeID=1 then p.HName when  k.HCorrespondentTypeID=2 then c.HName when k.HCorrespondentTypeID=4 then w.HName end å®žé™…位置,
                        case when m.HNowSupTypeID=1 then '供应商' when m.HNowSupTypeID=2 then '客户' when m.HNowSupTypeID=4 then '仓库' end è´¦é¢ä½ç½®ç±»åž‹,
@@ -298,111 +291,15 @@
                        left join Gy_MouldFileMain m on k.HBarCode=m.HBarCode
                        left join Gy_StockCheckItem s on k.HSourceInterID=s.HItemID 
                        left join Gy_Supplier p on k.HCorrespondentID=p.HItemID
                        left join Gy_Supplier p1 on m.HNowSupTypeID=p1.HItemID
                        left join Gy_Supplier p1 on m.HNowSupID=p1.HItemID
                        left join Gy_Customer c on k.HCorrespondentID=c.HItemID
                        left join Gy_Customer c1 on m.HNowSupTypeID=c1.HItemID
                        left join Gy_Warehouse w on k.HSourceInterID=w.HItemID
                        left join Gy_Warehouse w1 on m.HNowSupTypeID=w1.HItemID");
                        left join Gy_Customer c1 on m.HNowSupID=c1.HItemID
                        left join Gy_Warehouse w on k.HCorrespondentID=w.HItemID
                        left join Gy_Warehouse w1 on m.HNowSupID=w1.HItemID
                  where " + sWhere + " and k.HSourceInterID=(select HItemID from Gy_StockCheckItem where HItemID=" + sID + ") and k.HMakeDate<=(select HEndDate from Gy_StockCheckItem where HItemID=" + sID + ")");
                }
                ds = oCN.RunProcReturn(sql, "Sc_MouldStockBillMain_Temp");
                DataTable dt = ds.Tables[0];
                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["实际位置类型"].ToString()== dr["账面位置类型"].ToString()&& dr["实际位置类型"].ToString()=="供应商")
                        {
                            //正常
                            if (dr["实际位置"].ToString() == dr["账面位置"].ToString())
                            {
                                list1.Add(dr);
                            }
                            //盘盈  å®žç‰©åœ¨A供应商,但是在账面上没有这个台车
                            if (dr["实际位置"].ToString() !=""|| dr["实际位置"].ToString() != null && dr["账面位置"].ToString()==""|| dr["账面位置"].ToString() == null)
                            {
                                list5.Add(dr);
                            }
                            //盘亏  A供应商没有这个台车,但是在账面上有这个台车
                            if (dr["实际位置"].ToString() == "" || dr["实际位置"].ToString() == null && dr["账面位置"].ToString() != "" || dr["账面位置"].ToString() != null)
                            {
                                list6.Add(dr);
                            }
                            //先做领用退库单,再做领用出库单  å°è½¦åœ¨A供应商/客户,但是账面上台车在B供应商/客户
                            if (dr["实际位置类型"].ToString()=="客户"&& dr["实际位置"].ToString() != dr["实际位置"].ToString())
                            {
                                list4.Add(dr);
                            }
                            //出库
                            if (dr["实际位置类型"].ToString() == "供应商" && dr["账面位置类型"].ToString() == "仓库")
                            {
                                list3.Add(dr);
                            }
                        }
                        if (dr["实际位置类型"].ToString() == dr["账面位置类型"].ToString() && dr["实际位置类型"].ToString() == "客户")
                        {
                            //正常
                            if (dr["实际位置"].ToString() == dr["账面位置"].ToString())
                            {
                                list1.Add(dr);
                            }
                            //盘盈  å®žç‰©åœ¨A供应商,但是在账面上没有这个台车
                            if (dr["实际位置"].ToString() != "" || dr["实际位置"].ToString() != null && dr["账面位置"].ToString() == "" || dr["账面位置"].ToString() == null)
                            {
                                list5.Add(dr);
                            }
                            //盘亏  A供应商没有这个台车,但是在账面上有这个台车
                            if (dr["实际位置"].ToString() == "" || dr["实际位置"].ToString() == null && dr["账面位置"].ToString() != "" || dr["账面位置"].ToString() != null)
                            {
                                list6.Add(dr);
                            }
                            //出库
                            if (dr["实际位置类型"].ToString() == "客户" && dr["账面位置类型"].ToString() == "仓库")
                            {
                                list3.Add(dr);
                            }
                            //先做领用退库单,再做领用出库单  å°è½¦åœ¨A供应商/客户,但是账面上台车在B供应商/客户
                            if (dr["实际位置类型"].ToString() == "供应商" && dr["实际位置"].ToString() != dr["实际位置"].ToString())
                            {
                                list4.Add(dr);
                            }
                        }
                        if (dr["实际位置类型"].ToString() == dr["账面位置类型"].ToString() && dr["实际位置类型"].ToString() == "仓库")
                        {
                            //正常
                            if (dr["实际位置"].ToString() == dr["账面位置"].ToString())
                            {
                                list1.Add(dr);
                            }
                            //盘盈  å®žç‰©åœ¨A供应商,但是在账面上没有这个台车
                            if (dr["实际位置"].ToString() != "" || dr["实际位置"].ToString() != null && dr["账面位置"].ToString() == "" || dr["账面位置"].ToString() == null)
                            {
                                list5.Add(dr);
                            }
                            //盘亏  A供应商没有这个台车,但是在账面上有这个台车
                            if (dr["实际位置"].ToString() == "" || dr["实际位置"].ToString() == null && dr["账面位置"].ToString() != "" || dr["账面位置"].ToString() != null)
                            {
                                list6.Add(dr);
                            }
                            //退库
                            if (dr["账面位置类型"].ToString()=="供应商"|| dr["账面位置类型"].ToString() == "客户")
                            {
                                list7.Add(dr);
                            }
                            //调拨
                            if (dr["实际位置"].ToString() != dr["账面位置"].ToString())
                            {
                                list2.Add(dr);
                            }
                        }
                    }
                    list.Add(list1);
                    list.Add(list2);
                    list.Add(list3);
                    list.Add(list4);
                    list.Add(list5);
                    list.Add(list6);
                    list.Add(list7);
                }
                list.Add(ds.Tables[0]);
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取信息成功!";