YL
2022-01-21 6faa5645a611136fce797047a50f94ebafb47e68
WebAPI/Controllers/MoveStockBillController.cs
@@ -221,16 +221,23 @@
        /// <returns></returns>
        [Route("MoveStockBill/get_InfoByBarCode_Source_Json")]
        [HttpGet]
        public object get_InfoByBarCode_Source_Json(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID, string HMaker, Int64 HOrgID)
        public object get_InfoByBarCode_Source_Json(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID, string HMaker, Int64 HOrgID,string HSourceBillNo,string HSourceBillType)
        {
            try
            {
                DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                dal.GetInfoByNumber_View(sCode);
                if (dal.omodel_View.HBarCodeType != "托盘条码")
                {
                    return get_InfoByBarCode_Source_Json_s(sCode, sInterID, sBillNo, sQty, HWHID, HSPID, SCWhID, SCSPID, HMaker, HOrgID);
                    if (HSourceBillNo == null)
                    {
                        HSourceBillNo = "";
                    }
                    return get_InfoByBarCode_Source_Json_s(sCode, sInterID, sBillNo, sQty, HWHID, HSPID, SCWhID, SCSPID, HMaker, HOrgID, HSourceBillNo, HSourceBillType);
                }
                else
                {
@@ -256,7 +263,7 @@
                        for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
                        {
                            sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]);
                            objJsonResult = (JsonResult)get_InfoByBarCode_Source_Json_s(sBarCode_MX, sInterID, sBillNo, sQty, HWHID, HSPID, SCWhID, SCSPID, HMaker,HOrgID);
                            objJsonResult = (JsonResult)get_InfoByBarCode_Source_Json_s(sBarCode_MX, sInterID, sBillNo, sQty, HWHID, HSPID, SCWhID, SCSPID, HMaker,HOrgID,HSourceBillNo,HSourceBillType);
                            if (objJsonResult.code == "0")
                            {
                                return objJsonResult;
@@ -277,7 +284,7 @@
            }
        }
        public object get_InfoByBarCode_Source_Json_s(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID, string HMaker,Int64 HOrgID)
        public object get_InfoByBarCode_Source_Json_s(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID, string HMaker,Int64 HOrgID,string HSourceBillNo,string HSourceBillType)
        {
            try
            {
@@ -285,7 +292,24 @@
                string sErrMsg = "";
                bool sBool = false;
                double sRelQty = 0;
                oView = webserver.get_InfoByBarCode_Source(sCode, sInterID, ref sBool, ref DBUtility.ClsPub.sErrInfo);
                int sRow = 0;
                long sHMaterID = 0;
                long sHAuxPropID = 0;
                string[] NewBarCode;
                if (sCode.CompareTo("#") > 0)
                {
                    NewBarCode = sCode.Split(Convert.ToChar("#"));
                    sCode = NewBarCode[0];
                }
                string sBarCode = sCode.Trim();
                string sBarCodePrefix = sBarCode.Substring(0, Math.Min(3, sBarCode.Length));//截取条码前三位字符串
                WebS.ClsGy_BarCodeBill_WMS_Model_View oView = new WebS.ClsGy_BarCodeBill_WMS_Model_View();
                WebS.WebService1 oWebs1 = new WebS.WebService1();
                oView = oWebs1.get_InfoByBarCode_Source(sCode, sInterID, ref sBool, ref sErrMsg);
                //oView = webserver.get_InfoByBarCode_Source(sCode, sInterID, ref sBool, ref DBUtility.ClsPub.sErrInfo);
                if (oView == null)
                {
                    objJsonResult.code = "0";
@@ -294,18 +318,81 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oView.HBarCodeType == "唯一条码" && sQty > 0 && oView.HQty < sQty)
                else {
                if (HSourceBillNo.Trim() != "")
                {
                    sRelQty = oView.HQty;
                    if (sBool == false)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + "该物料并不存在于此调拨单,请确认物料无误后重新扫描!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else if (sQty > 0)
                if (oView.HBarCodeType != "托盘条码")
                {
                    sRelQty = sQty;
                    if (oView.HBarCodeType == "唯一条码" && sQty > 0 && oView.HQty < sQty)
                    {
                        sRelQty = oView.HQty;
                    }
                    else if (sQty > 0)
                    {
                        sRelQty = sQty;
                    }
                    else
                    {
                        sRelQty = oView.HQty;
                    }
                    if (oView.HBarCodeType != "唯一条码")
                    {
                        if (SCWhID == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "调出仓库没有选择!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            if (SCSPID == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "调出仓位没有选择!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                    //if (webserver.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                    bool flag = oWebs1.Get_CheckQtyByBarCode_GetWhAndSP(model.HInterID, model.HBillType, model.HBarCode, ref SCWhID, ref SCSPID, sRelQty, ref sRelQty);
                    if (flag)
                    {
                        //sQty = sRelQty;
                        model.HSCWHID = SCWhID;
                        model.HOutStockPlaceID = SCSPID;
                        if (SCWhID <= 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "1-仓库无库存!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else if (sRelQty == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "2-无库存!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    sRelQty = oView.HQty;
                }
             }
                model.HInterID = DBUtility.ClsPub.isLong(sInterID);
                model.HBillNo = DBUtility.ClsPub.isStrNull(sBillNo);
@@ -337,49 +424,103 @@
                model.HPieceQty = 1;
                model.HSTOCKORGID = HOrgID;
                model.HOWNERID = HOrgID;
                WebS.WebService1 oWebs = new WebS.WebService1();
                //if (webserver.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                bool flag = oWebs.Get_CheckQtyByBarCode_GetWhAndSP(model.HInterID, model.HBillType, model.HBarCode, ref SCWhID, ref SCSPID, sRelQty, ref sRelQty);
                if (flag)
                if(sBool)
                {
                    //sQty = sRelQty;
                    model.HSCWHID = SCWhID;
                    model.HOutStockPlaceID = SCSPID;
                    if(SCWhID<=0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "1-仓库无库存!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    model.HSourceBillType = HSourceBillType;
                }
                else if (sRelQty == 0)
                if(oWebs1.Get_CheckWhAndSP_BeUpdate(SCWhID,SCSPID,ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "2-无库存!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "3-扫码成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "4-扫码失败!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";调出仓库," + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if(model.HWhID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";调入仓库没有选择!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                WebS.WebService1 oWebs = new WebS.WebService1();
                if(sBool)
                {
                    if(oWebs.set_SavePonderationBillMain_Temp_Select_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                    {
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";扫描失败!" + DBUtility.ClsPub.sErrInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (oView.HBarCodeType != "托盘条码")
                    {
                        if (HSourceBillType == "下架通知单" && HSourceBillNo != "")
                        {
                            if (oWebs.set_SavePonderationBillMain_Temp_FIFO(model, ref DBUtility.ClsPub.sErrInfo))
                            {
                            }
                            else
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";扫描失败!" + DBUtility.ClsPub.sErrInfo;
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                        else
                        {
                            if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                            {
                            }
                            else
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";扫描失败!" + DBUtility.ClsPub.sErrInfo;
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                    else
                    {
                        if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                        {
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";扫描失败!" + DBUtility.ClsPub.sErrInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                //return objJsonResult;
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "扫码成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception)
            {
@@ -604,6 +745,8 @@
            {
                // DataSet ds = new DataSet();
                // WebServer webserver = new WebServer();
                WebS.WebService1 oWebs = new WebS.WebService1();
                string sWhere = " Where 单据号 like '%" + HSourceBillNo.Trim() + "%'";
                if (HSourceBillType == "3720")
                {
@@ -611,7 +754,8 @@
                }
                else if (HSourceBillType == "1243")
                {
                    ds = webserver.GetKf_MoveStockRequestBillList(sWhere);
                    //ds = webserver.GetKf_MoveStockRequestBillList(sWhere);
                    ds = oWebs.GetKf_MoveStockRequestBillList(sWhere);
                }
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
@@ -634,7 +778,7 @@
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "返回记录成功!";
                        objJsonResult.data = null;
                        objJsonResult.data = ds.Tables[0];
                        return objJsonResult;
                    }
                    else