zgq
2021-07-23 fc96db38cf5e190cd8724b0cf945041c4d41b146
WebAPI/Controllers/MoveStockBillController.cs
@@ -100,9 +100,184 @@
        /// <param name="SCWhID"></param>
        /// <param name="SCSPID"></param>
        /// <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)
        //{
        //    try
        //    {
        //        WebS.ClsKF_PonderationBillMain_Temp model = new WebS.ClsKF_PonderationBillMain_Temp();
        //        string sErrMsg = "";
        //        bool sBool = false;
        //        double sRelQty = 0;
        //        oView = webserver.get_InfoByBarCode_Source(sCode, sInterID, ref sBool, ref DBUtility.ClsPub.sErrInfo);
        //        if (oView == null)
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "单据号:" + sBillNo + ",单据ID:" + sInterID + ";" + DBUtility.ClsPub.sErrInfo;
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        if (oView.HBarCodeType == "唯一条码" && sQty > 0 && oView.HQty < sQty)
        //        {
        //            sRelQty = oView.HQty;
        //        }
        //        else if (sQty > 0)
        //        {
        //            sRelQty = sQty;
        //        }
        //        else
        //        {
        //            sRelQty = oView.HQty;
        //        }
        //        model.HInterID = DBUtility.ClsPub.isLong(sInterID);
        //        model.HBillNo = DBUtility.ClsPub.isStrNull(sBillNo);
        //        model.HBillType = this.HBillType;
        //        model.HMaker = DBUtility.ClsPub.CurUserName;
        //        //
        //        model.HMaterID = oView.HMaterID;
        //        model.HAuxPropID = oView.HAuxPropID;
        //        model.HErpClsID = oView.HErpClsID;
        //        model.HQty = oView.HQty;
        //        model.HQtyMust = oView.HinitQty;
        //        model.HBarCode = oView.HBarCode;
        //        model.HBatchNo = oView.HBatchNo;
        //        model.HMTONo = oView.HMTONo;
        //        model.HWhID = DBUtility.ClsPub.isLong(HWHID);
        //        model.HStockPlaceID = DBUtility.ClsPub.isLong(HSPID);
        //        model.HSCWHID = SCWhID;
        //        model.HOutStockPlaceID = SCSPID;
        //        //model.HVDAPack = txtHVDAPack2.Text.Trim();
        //        //model.HVDAMaterNum = txtHVDAMaterID.Text.Trim();
        //        //model.HVDAQty = DBUtility.ClsPub.ObjToDouble(txtHVDAQty.Text.Trim());
        //        //
        //        model.HSourceInterID = oView.HSourceInterID;
        //        model.HSourceEntryID = oView.HSourceEntryID;
        //        model.HSourceBillNo = oView.HSourceBillNo;
        //        model.HSourceBillType = oView.HSourceBillType;
        //        model.HRedBlueFlag = false;
        //        model.HPieceQty = 1;
        //        //model.HSTOCKORGID = DBUtility.ClsPub.HORGANIZATIONSID;
        //        //model.HOWNERID = DBUtility.ClsPub.HORGANIZATIONSID;
        //        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)
        //        {
        //            sQty = sRelQty;
        //        }
        //        else if (sRelQty == 0)
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "无库存!";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        else
        //        {
        //            sQty = sRelQty;
        //        }
        //        if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 1;
        //            objJsonResult.Message = "扫码成功!";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        else
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "扫码失败!" + DBUtility.ClsPub.sErrInfo;
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //    }
        //    catch (Exception)
        //    {
        //        throw;
        //    }
        //}
        /// <summary>
        /// 调拨单/扫条码
        /// </summary>
        /// <param name="sCode"></param>
        /// <param name="sInterID"></param>
        /// <param name="sBillNo"></param>
        /// <param name="sQty"></param>
        /// <param name="HWHID"></param>
        /// <param name="HSPID"></param>
        /// <param name="SCWhID"></param>
        /// <param name="SCSPID"></param>
        /// <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)
        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)
        {
            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);
                }
                else
                {
                    //如果是雅琪诺则托盘条码分解并模拟扫码
                    //分解托条码得到明细条码信息写入出入库条码临时表
                    DataSet dsTBarCode;
                    string sBarCode_MX;
                    dsTBarCode = oCn.RunProcReturn("select b.HBarCode HBarCodeMX from Sc_PackUnionBillMain a  " +
                    " inner join Sc_PackUnionBillSub b on a.HInterID = b.HInterID " +
                    " Where a.HBarCode_Pack = '" + sCode + "'", "Sc_PackUnionBillMain");
                    if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
                    {
                        //sErrMsg = "没有找到托盘条码!";
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "扫码失败!没有找到托盘条码!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        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);
                            if (objJsonResult.code == "0")
                            {
                                return objJsonResult;
                            }
                        }
                        return objJsonResult;
                    }
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "扫码失败!" + DBUtility.ClsPub.isStrNull(e);
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        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)
        {
            try
            {
@@ -115,7 +290,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据号:" + sBillNo + ",单据ID:" + sInterID + ";" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.Message = "1-单据号:" + sBillNo + ",单据ID:" + sInterID + ";" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -135,7 +310,7 @@
                model.HInterID = DBUtility.ClsPub.isLong(sInterID);
                model.HBillNo = DBUtility.ClsPub.isStrNull(sBillNo);
                model.HBillType = this.HBillType;
                model.HMaker = DBUtility.ClsPub.CurUserName;
                model.HMaker = HMaker;
                //
                model.HMaterID = oView.HMaterID;
                model.HAuxPropID = oView.HAuxPropID;
@@ -160,34 +335,40 @@
                model.HSourceBillType = oView.HSourceBillType;
                model.HRedBlueFlag = false;
                model.HPieceQty = 1;
                //model.HSTOCKORGID = DBUtility.ClsPub.HORGANIZATIONSID;
                //model.HOWNERID = DBUtility.ClsPub.HORGANIZATIONSID;
                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)
                {
                    sQty = sRelQty;
                    //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)
                else if (sRelQty == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无库存!";
                    objJsonResult.Message = "2-无库存!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    sQty = sRelQty;
                }
                if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "扫码成功!";
                    objJsonResult.Message = "3-扫码成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -195,14 +376,14 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "扫码失败!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.Message = "4-扫码失败!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
@@ -257,7 +438,7 @@
                websLsmain.HStockStyle = "";
                websLsmain.HBillType = "1207";
                websLsmain.HSupID = 0;
                websLsmain.HGroupID = lsmain[0].HGroupID;
                //websLsmain.HGroupID = lsmain[0].HGroupID;
                if (webserver.set_SaveMoveStockBill(websLsmain, "-1", ref DBUtility.ClsPub.sErrInfo))
                {