王 垚
2022-07-27 4286ee5823987af404e167a7c4aeacbe7def3c36
WebAPI/Controllers/Éú²ú¹ÜÀí/Éú²úÈÎÎñµ¥/Sc_ICMOBillController.cs
@@ -109,33 +109,35 @@
        {
            try
            {
                string sql = string.Format(@"select a.HInterID,a.HBillNo,b.HEntryID,a.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, a.HUnitID,u.HName HUnitName,b.HQty HPlanQty,a.HCusID, c.HName HCusName,a.HEmpID,e.HName HEmpName,a.HDeptID,d.HName HDeptName,a.HPlanEndDate,0 HMinQty,0 HTotalQty,0 HSpsQty,a.HSeOrderBillNo
                                            from Sc_ICMOBillMain a
                                            left join Sc_ICMOBillSub b on a.HInterID=b.HInterID
                                            left join Gy_Material m on b.HMaterID=m.HItemID
                                            left join Gy_Unit u on b.HUnitID=u.HItemID
                                            left join Gy_Customer c on a.HCusID=c.HItemID
                                            left join Gy_Employee e on a.HEmpID=e.HItemID
                                            left join Gy_Department d on a.HDeptID=d.HItemID
                                            where b.HInterID=(select HICMOInterID from Sc_PPBomBillMain where HBillNo='" + HBillNo + "')");
                //string sql = string.Format(@" select a.HInterID,a.HBillNo,b.HEntryID,a.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, a.HUnitID,u.HName HUnitName,b.HQty HPlanQty,a.HCusID,
                //    c.HName HCusName,a.HEmpID,e.HName HEmpName,a.HDeptID,d.HName HDeptName,a.HPlanEndDate,0 HMinQty,0 HTotalQty,0 HSpsQty,a.HSeOrderBillNo
                //     ,fo.FBILLNO FBillNo,fo.F_ZZZZ_TEXT7 FLXName,fo.FRECEIVEADDRESS FInAddress,fm1.FOLDNUMBER FMaterName,fo.F_ZZZZ_TEXT FBZFS,fu.FDATAVALUE FHX,
                //    fu1.FDATAVALUE FQK,fo.F_ZZZZ_WBBZ FWBBZ
                //    from Sc_ICMOBillMain a
                //    left join Sc_ICMOBillSub b on a.HInterID=b.HInterID
                //    left join Gy_Material m on b.HMaterID=m.HItemID
                //    left join Gy_Unit u on b.HUnitID=u.HItemID
                //    left join Gy_Customer c on a.HCusID=c.HItemID
                //    left join Gy_Employee e on a.HEmpID=e.HItemID
                //    left join Gy_Department d on a.HDeptID=d.HItemID
                //     left join AIS20200908101915zs..T_PRD_MOENTRY f1 on b.HERPEntryID=f1.FENTRYID
                //    left join AIS20200908101915zs..T_SAL_ORDER fo on f1.FSaleOrderId =fo.FID
                //    left join AIS20200908101915zs..T_SAL_ORDERENTRY fo1 on fo.FID=fo1.FID
                //    left join AIS20200908101915zs..T_BD_MATERIAL fm1 on fo1.FSUBMATERIALNUMBER=fm1.FMATERIALID
                //    LEFT JOIN AIS20200908101915zs..T_BAS_ASSISTANTDATAENTRY_L fu1 on fo1.F_ZZZZ_ASSISTANT1=fu1.FENTRYID
                //    LEFT JOIN AIS20200908101915zs..T_BAS_ASSISTANTDATAENTRY_L fu on fo1.F_ZZZZ_ASSISTANT2=fu.FENTRYID
                //     where b.HInterID=(select HICMOInterID from Sc_PPBomBillMain where HBillNo='" + HBillNo + "')");
                //string sql = string.Format(@"select a.HInterID,a.HBillNo,b.HEntryID,b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, b.HUnitID,u.HName HUnitName,b.HQty HPlanQty,b.HQty HSPlanQty,
                //                            a.HCusID, c.HName HCusName,a.HEmpID,e.HName HEmpName,b.HDeptID,d.HName HDeptName,a.HPlanEndDate,0 HMinQty,0 HTotalQty,0 HSpsQty,a.HSeOrderBillNo,a.HRemark
                //                            from Sc_ICMOBillMain a
                //                            left join Sc_ICMOBillSub b on a.HInterID=b.HInterID
                //                            left join Gy_Material m on b.HMaterID=m.HItemID
                //                            left join Gy_Unit u on b.HUnitID=u.HItemID
                //                            left join Gy_Customer c on a.HCusID=c.HItemID
                //                            left join Gy_Employee e on a.HEmpID=e.HItemID
                //                            left join Gy_Department d on a.HDeptID=d.HItemID
                //                            where b.HInterID=(select HICMOInterID from Sc_PPBomBillMain where HBillNo='" + HBillNo + "')");
                string sql = string.Format(@"select a.HInterID,a.HBillNo,b.HMaterID,b.HEntryID, m.HNumber HMaterNumber, m.HName HMaterName, b.HUnitID,u.HName HUnitName,b.HQty HPlanQty,b.HQty HSPlanQty,a.HCusID, c.HName HCusName,
                    a.HEmpID,e.HName HEmpName,b.HDeptID,d.HName HDeptName,a.HPlanEndDate,0 HMinQty,0 HTotalQty,0 HSpsQty,a.HSeOrderBillNo,a.HRemark,
                     fo.FBILLNO FBillNo,fo.F_ZZZZ_TEXT7 FLXName,fo.FRECEIVEADDRESS FInAddress,fmn.FNAME FMaterName,fo1.F_ZZZZ_TEXT FBZFS,fu.FDATAVALUE FHX,
                    fu1.FDATAVALUE FQK,fo1.F_ZZZZ_WBBZ1 FWBBZ
                    from Sc_ICMOBillMain a
                    left join Sc_ICMOBillSub b on a.HInterID=b.HInterID
                    left join Gy_Material m on b.HMaterID=m.HItemID
                    left join Gy_Unit u on b.HUnitID=u.HItemID
                    left join Gy_Customer c on a.HCusID=c.HItemID
                    left join Gy_Employee e on a.HEmpID=e.HItemID
                    left join Gy_Department d on a.HDeptID=d.HItemID
                     left join AIS20200908101915zs..T_PRD_MOENTRY f1 on b.HERPEntryID=f1.FENTRYID
                    left join AIS20200908101915zs..T_SAL_ORDERENTRY fo1 on f1.FSaleOrderEntryId=fo1.FENTRYID
                    left join AIS20200908101915zs..T_SAL_ORDER fo on fo1.FID=fo.FID
                    left join AIS20200908101915zs..T_BD_MATERIAL fm1 on fo1.FSUBMATERIALNUMBER=fm1.FMATERIALID
                    left join AIS20200908101915zs..T_BD_MATERIAL_L fmn on fo1.FSUBMATERIALNUMBER=fmn.FMATERIALID
                    LEFT JOIN AIS20200908101915zs..T_BAS_ASSISTANTDATAENTRY_L fu1 on fo1.F_ZZZZ_ASSISTANT1=fu1.FENTRYID
                    LEFT JOIN AIS20200908101915zs..T_BAS_ASSISTANTDATAENTRY_L fu on fo1.F_ZZZZ_ASSISTANT2=fu.FENTRYID
                     where b.HInterID=(select HICMOInterID from Sc_PPBomBillMain where HBillNo='" + HBillNo + "')");
                ds = oCN.RunProcReturn(sql, "Sc_ICMOBillMain");
                if (ds.Tables[0].Rows.Count != 0 || ds != null)
@@ -171,15 +173,17 @@
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString();
            string msg4 = sArray[2].ToString();
            string msg5 = sArray[3].ToString();
            string msg2 = sArray[0].ToString();//表格数据
            string msg3 = sArray[1].ToString();//登录人
            string msg5 = sArray[2].ToString();//登录组织
            string msg6 = sArray[3].ToString();//标记
            string msg7 = sArray[4].ToString();//当前用料清单
            ListModels oListModels = new ListModels();
            DataSet ds = new DataSet();
            ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where HItemID=" + msg5, "Xt_ORGANIZATIONS");
            string OrgNum = ds.Tables[0].Rows[0]["HNumber"].ToString();//组织代码
            DataSet d = oCN.RunProcReturn("select HRemark from Sc_PPBomBillMain where HBillNo='" + msg7 + "'", "Sc_ICMOBillMain");//查找该用料清单上次生成的箱号(HRemark存放箱号)
            DataSet Ds1 = new DataSet();
            try
            {
@@ -205,6 +209,8 @@
                int LSH;
                string LSH2;
                string TM = "";
                int XH = Convert.ToInt32(d.Tables[0].Rows[0]["HRemark"].ToString() == ""? 0 : Convert.ToInt32(d.Tables[0].Rows[0]["HRemark"].ToString()));
                foreach (Models.ClsQK_PackingBill oItemSub in ls)
                {
                    //根据生成条数生成相应数量条码
@@ -221,8 +227,18 @@
                            LSH2 = "0" + LSH2;
                        }
                        TM = sTMNumber + LSH2;
                        if (msg6 == "ZZ")
                        {
                            XH = XH +1;
                        }
                        else if (msg6 == "PZ"&& ls.IndexOf(oItemSub) == 0)
                        {
                            XH = XH + 1;
                        }
                        //获取内码
                        oCN.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                        oCN.RunProc("insert into Gy_BarCodeBill (HEntryID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                                    ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
@@ -230,18 +246,25 @@
                                    ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID " +
                                    ",HGiveAwayFlag " +
                                    ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
                                    ") values ("
                                    + "'" + TM + "','唯一条码'," + oItemSub.HMaterID.ToString() + "," + oItemSub.HUnitID.ToString() + "," + oItemSub.HMinQty.ToString()
                                    ") values ("+i
                                    + ",'" + TM + "','唯一条码'," + oItemSub.HMaterID.ToString() + "," + oItemSub.HUnitID.ToString() + "," + oItemSub.HMinQty.ToString()
                                    + ",'',0,0,'" + msg3 + "',getdate(),0," + oItemSub.HMinQty.ToString()
                                    + ", " + oItemSub.HInterID.ToString() + "," + oItemSub.HInterID.ToString() + ",'" + oItemSub.HBillNo + "','3710',''"
                                    + ",1,1," + oItemSub.HDeptID.ToString() + ",0,0,''"
                                    + ", " + oItemSub.HInterID.ToString() + "," + oItemSub.HEntryID.ToString() + ",'" + oItemSub.HBillNo + "','3710',''"
                                    + ",1,1," + oItemSub.HDeptID.ToString() + ",0,0,'"+ XH + "'"
                                    + ", " + oItemSub.HCusID.ToString() + ",'',getdate(),'',getdate()"
                                    + ", " + msg5.ToString() + "," + OrgNum.ToString() + ",'" + oItemSub.HSeOrderBillNo.ToString() + "'," + HInterID.ToString()
                                    + ",0"
                                    + ",'" + oItemSub.HMaterName + "','','',0,'','')");
                        oCN.RunProc("update Sc_ICMOBillSub set HQty=" + (oItemSub.HPlanQty- oItemSub.HMinQty).ToString() + " where HEntryID=" + oItemSub.HEntryID);
                        oCN.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                        FID = FID + HInterID + ",";
                    }
                    oCN.RunProc("update Sc_ICMOBillSub set HQty=" + oItemSub.HSpsQty  + " where HEntryID=" + oItemSub.HEntryID);
                    oCN.RunProc("update Sc_PPBomBillMain set HRemark=" +XH+ " where HBillNo='" + msg7+"'");
                    DataSet Dsn = oCN.RunProcReturn("select top " + oItemSub.HTotalQty + " HItemID from Gy_BarCodeBill order by HItemID desc", "Gy_BarCodeBill");    //获取最大流水号
                    for (int i = 0; i < oItemSub.HTotalQty; i++)
                    {
                        FID = FID + Dsn.Tables[0].Rows[i][0] + ",";
                    }
                }
                objJsonResult.code = FID;
@@ -440,14 +463,15 @@
        public static DataSet QK_GetPackingBillList_s(string sWhere)
        {
            ;
            if (sWhere == null || sWhere.Equals(""))
            {
                return new SQLHelper.ClsCN().RunProcReturn("select *  from h_v_QK_PackedBillList order by hmainid desc", "h_v_QK_PackedBillList");
                return new SQLHelper.ClsCN().RunProcReturn("select *  from h_v_QK_PackedBillList order by åˆ¶å•日期 desc", "h_v_QK_PackedBillList");
            }
            else
            {
                string sql1 = "select * from h_v_QK_PackedBillList where 1 = 1 ";
                string sql = sql1 + sWhere + "order by hmainid desc";
                string sql1 = "select * from h_v_QK_PackedBillList where HBarCodeType='唯一条码' ";
                string sql = sql1 + sWhere + " order by åˆ¶å•日期 desc";
                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_QK_PackedBillList");
            }
@@ -461,6 +485,8 @@
        /// <summary>
        /// å¢™å’”装箱列表-删除
        /// </summary>
        /// <param name="HInterID">条码档案主表主ID(唯一)</param>
        /// <param name="Flag">标识</param>
        /// <returns></returns>
        [Route("Sc_ICMOBillController/DeleteQK_GetPackingBillList")]
        [HttpGet]
@@ -475,14 +501,14 @@
                    ds = oCN.RunProcReturn("select * from Gy_BarCodeBill where HItemID=" + HInterID, "Gy_BarCodeBill");
                    DataRow dr = ds.Tables[0].Rows[0];
                    string sql = string.Format(@"delete from Gy_BarCodeBill where HItemID=" + HInterID);
                    string sql1 = string.Format(@"update Sc_ICMOBillSub set HQty=HPlanQty+" + dr["HQty"] + " where HInterID=(select HSourceInterID from Gy_BarCodeBill where HItemID=" + HInterID + ")");
                    oCN.RunProc(sql);
                    string sql1 = string.Format(@"update Sc_ICMOBillSub set HQty=HQty+" + dr["HQty"] + " where HEntryID=(select HSourceEntryID from Gy_BarCodeBill where HItemID=" + HInterID + ")");
                    oCN.RunProc(sql1);
                    oCN.RunProc(sql);
                }
                else
                {
                    //通过条码id找到托条码,通过托条码找到组托单子表中的唯一码
                    string sql2 = "select HBarCode from Sc_PackUnionBillSub where HInterID=(select HBarcodeNo from Gy_BarCodeBill where HItemID=" + HInterID;
                    string sql2 = "select HBarCode from Sc_PackUnionBillSub where HInterID=(select HBarcodeNo from Gy_BarCodeBill where HItemID=" + HInterID+")";
                    //string sql2 = "select HBarCode from Sc_PackUnionBillSub where HInterID=(select HBarcodeNo from Gy_BarCodeBill where HItemID=3250)";
                    DataSet ds1 = oCN.RunProcReturn(sql2, "Sc_PackUnionBillSub");
                    DataTable dt = ds1.Tables[0];
@@ -496,9 +522,9 @@
                            DataRow dr1 = ds.Tables[0].Rows[0];
                            string sql = string.Format(@"delete from Gy_BarCodeBill where HBarCode='" + dr["HBarCode"].ToString() + "'");
                            string sql1 = string.Format(@"update Sc_ICMOBillSub set HQty=HPlanQty+" + dr1["HQty"] + " where HInterID=(select HSourceInterID from Gy_BarCodeBill where HBarCode='" + dr["HBarCode"].ToString() + "')");
                            string sql1 = string.Format(@"update Sc_ICMOBillSub set HQty=HQty+" + dr1["HQty"] + " where HEntryID=(select HSourceEntryID from Gy_BarCodeBill where HBarCode='" + dr["HBarCode"].ToString() + "')");
                             oCN.RunProc(sql1);
                            oCN.RunProc(sql);
                            oCN.RunProc(sql1);
                        }
                    }