1
zrg
2024-06-25 4bfab3d9173fcced07cea4afb71227b83b47c469
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -31,6 +31,7 @@
        public WebS.WebService1 oWebs = new WebS.WebService1();
        public WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        string ComputerName = SystemInformation.ComputerName;   //设备名称
        WebS.ClsXt_SystemParameterMain oSystemParameterMain = new WebS.ClsXt_SystemParameterMain();
@@ -127,7 +128,7 @@
                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
                {
                    //判断权限
                    if (!DBUtility.ClsPub.Security_Log(ModRightName, 1, false, HUserName))
                    if (!DBUtility.ClsPub.Security_Log(ModRightName, 3, false, HUserName))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
@@ -1517,6 +1518,63 @@
        /// å·²ä¸Šä¼ åˆ—表界面,撤销功能,删除WMS表和本地出入库单记录,并更新TEMP表中的上传字段 HRelationInterID=0
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_DeleteICStockBillAndWMS_Json")]
        [HttpGet]
        public object set_DeleteICStockBillAndWMS_Json(Int64 HInterID, string HBillNo, string HBillType, string HMaker, string MvarReportTitle)
        {
            try
            {
                string WorkList = "撤销已上传单据,单据号:" + HBillNo;
                string SystemName = "WMS-" + MvarReportTitle + "模块";
                oCn.BeginTran();
                ds = oCn.RunProcReturn("exec h_p_WMS_ICStockBillAndWMS_Delete " + HInterID + ",'" + HBillNo + "','" + HBillType + "'", "h_p_WMS_ICStockBillAndWMS_Delete");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    oCn.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "撤销单据已上传记录失败,撤销单据判断错误!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
                {
                    oCn.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;  //失败!
                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    //写入日志
                    oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                        "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','撤销')"
                        );
                    oCn.Commit();
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;  //成功!
                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCn.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "撤销单据已上传记录失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// å·²ä¸Šä¼ åˆ—表界面,撤销功能,删除WMS表和本地出入库单记录,并更新TEMP表中的上传字段 HRelationInterID=0
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/DeleteICStockBillAndWMS_Json")]
        [HttpGet]
        public object DeleteICStockBillAndWMS_Json(Int64 HInterID, string HBillNo, string HBillType)
@@ -1554,6 +1612,42 @@
        #region æ¡ç å‡ºå…¥åº“缓存列表模块  åˆ é™¤ç¼“存列表单据
        /// <summary>
        /// åˆ é™¤ç¼“存列表单据,写入日志   20240619
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_DelPonderationBillMain_Temp_New_Json")]
        [HttpGet]
        public object set_DelPonderationBillMain_Temp_New_Json(long HInterID, string HBillNo, string HBillType, string HMaker, string MvarReportTitle)
        {
            try
            {
                string WorkList = "删除缓存单据,单据号:" + HBillNo;
                string SystemName = "WMS-" + MvarReportTitle + "模块";
                oCn.BeginTran();
                oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo);
                //写入日志
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','删除')"
                    );
                oCn.Commit();
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "单据号:" + HBillNo + " åˆ é™¤æˆåŠŸ";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCn.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除条码出入库缓存列表单据失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// åˆ é™¤ç¼“存列表单据
@@ -5886,6 +5980,177 @@
        {
            try
            {
                ds = oCn.RunProcReturn("select * from Gy_BarCodeBill where HBarcode='" + HBarCode + "'", "Gy_BarCodeBill");
                if (ds.Tables[0].Rows.Count == 0) {
                    DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
                    string sErrMsg = "";
                    oSystemParameter.ShowBill(ref sErrMsg);
                    if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                    {
                        if (!dal.GetInfoByNumber(HBarCode))
                        {
                            //条码解析
                            string[] str = HBarCode.Split('@');
                            if (str[0] != "CMR" && str[0] != "SRM")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "条码解析失败,请确认条码是否正确!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            int HOrgIDs = 0;
                            //查询组织
                            DataSet ds = oCn.RunProcReturn("select * from Xt_ORGANIZATIONS where HNumber='" + str[1] + "' ", "Xt_ORGANIZATIONS");
                            if (ds.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "条码解析失败,请确认条码组织是否正确!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            else
                            {
                                HOrgIDs = int.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
                            }
                            string HMaterNames = "";
                            string HMaterModels = "";
                            string HMaterIDs = "0";
                            //查询物料
                            ds = oCn.RunProcReturn("select  * from Gy_Material where HNumber='" + str[4] + "' and HUSEORGID=" + HOrgIDs, "Gy_Material");
                            if (ds.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "条码解析失败,请确认条码物料是否正确!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            else
                            {
                                HMaterIDs = ds.Tables[0].Rows[0]["HItemID"].ToString();
                                HMaterNames = ds.Tables[0].Rows[0]["HName"].ToString();
                                HMaterModels = ds.Tables[0].Rows[0]["HModel"].ToString();
                            }
                            string HSupIDs = "0";
                            //查询供应商
                            ds = oCn.RunProcReturn("select * from Gy_Supplier where HNumber='" + str[2] + "' and HUSEORGID=" + HOrgIDs, "Gy_Supplier");
                            if (ds.Tables[0].Rows.Count == 0)
                            {
                                //sErrMsg = "条码解析失败,请确认条码供应商是否正确!";
                                //return null;
                            }
                            else
                            {
                                HSupIDs = ds.Tables[0].Rows[0]["HItemID"].ToString();
                            }
                            string HSourceInterIDs = "0";
                            string HSourceEntryIDs = "0";
                            string HSourceBillNos = "0";
                            string HUnitIDs = "0";
                            //查询采购订单
                            ds = oCn.RunProcReturn(@"select  a.HInterID,b.HEntryID,a.HBillNo,b.HUnitID from Cg_POOrderBillMain a
inner join Cg_POOrderBillSub b on a.HInterID = b.HInterID where HBillNo='" + str[3] + "' and b.HMaterID=" + HMaterIDs, "Cg_POOrderBillMain");
                            if (ds.Tables[0].Rows.Count == 0)
                            {
                                //sErrMsg = "条码解析失败,请确认条码采购订单是否正确!";
                                //return null;
                            }
                            else
                            {
                                HSourceInterIDs = ds.Tables[0].Rows[0]["HInterID"].ToString();
                                HSourceEntryIDs = ds.Tables[0].Rows[0]["HEntryID"].ToString();
                                HSourceBillNos = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                                HUnitIDs = ds.Tables[0].Rows[0]["HUnitID"].ToString();
                            }
                            string HInnerBillNos = "";
                            //查询内部采购订单号
                            ds = oCn.RunProcReturn(@" select * from h_v_IF_POInStockList where é‡‡è´­è®¢å•号= '" + str[3] + "' ", "h_v_IF_POInStockList");
                            if (ds.Tables[0].Rows.Count == 0)
                            {
                                //sErrMsg = "条码解析失败,请确认条码内部采购订单号是否正确!";
                                //return null;
                                HInnerBillNos = str[3];
                            }
                            else
                            {
                                HInnerBillNos = ds.Tables[0].Rows[0]["内部采购订单号"].ToString();
                            }
                            double HQty = double.Parse(str[6]);
                            //日期获取方式
                            string sDate = DateTime.Now.ToString();
                            string HWei = "0";      //尾数
                            string HBarCodeType = "批次条码";
                            Int64 HMaterID = int.Parse(HMaterIDs);
                            Int64 HAuxPropID = 0;
                            Int64 HUnitID = int.Parse(HUnitIDs);
                            double HQty2 = HQty;
                            string HBatchNo2 = str[5];
                            Int64 HSupID = int.Parse(HSupIDs);
                            Int64 HGroupID = 0;
                            int HPrintQty = 0;
                            Int64 HSourceInterID = int.Parse(HSourceInterIDs);
                            Int64 HSourceEntryID = int.Parse(HSourceEntryIDs);
                            string HSourceBillNo = HSourceBillNos;
                            //HSourceBillType = "1102";
                            Int64 HBarcodeNo = 0;       //托号
                            Int64 HBarcodeQtys = 0;     //总托数
                            Int64 HDeptID = 0;
                            //Int64 HWhID = 0;
                            //Int64 HSPID = 0;
                            string HRemark = "条码解析";
                            string HMaterName = HMaterNames;
                            string HMaterModel = HMaterModels;
                            string HPinfan = "";
                            string HMTONo = "";
                            Int64 HCusID = 0;
                            string HCusType = "";
                            DateTime HEndDate = DateTime.Now;
                            string HWorkLineName = "";
                            string HSeOrderBillNo = "";
                            string HInnerBillNo = HInnerBillNos;
                            bool HGiveAwayFlag = false;
                            Int64 HEntryID = 1;
                            Int64 HInterIDs = DBUtility.ClsPub.CreateBillID_Prod("85", ref DBUtility.ClsPub.sExeReturnInfo);
                            int HOrgID = HOrgIDs;
                            string HSourceBillType = "";
                            oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                                               ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                                               ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                                               ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                                               ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " +
                                               ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " +
                                               ",HGiveAwayFlag " +
                                               ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo" +
                                               ",HProduceDate,HExpiryDate " +
                                               ") values ("
                                               + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
                                               + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
                                               + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'"
                                               + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + ",0,0,'" + HRemark + "'"
                                               + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'"
                                               + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterIDs.ToString() + "," + HEntryID.ToString() + ""
                                               + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag)
                                               + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "','','')");
                        }
                    }
                }
                ds = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_MaterToSource " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HBarCode + "','" + HMaker + "'", "h_p_WMS_AddBarCode_MaterToSource");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
@@ -6961,6 +7226,87 @@
            }
        }
        #endregion
        #region æœŸåˆåº“存报表
        /// <summary>
        /// ä»“库收发存报表
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/GetKf_ICInvBalList")]
        [HttpGet]
        public object GetKf_ICInvBalList(string sWhere)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCn.RunProcReturn("select * from h_v_Kf_ICInvBalList ", "h_v_Kf_ICInvBalList");
                }
                else
                {
                    string sql1 = "select * from h_v_Kf_ICInvBalList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCn.RunProcReturn(sql, "h_v_Kf_ICInvBalList");
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æœŸåˆåº“存报表
        /// <summary>
        /// ä»“库收发存报表
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/UpdateKf_ICInvBal")]
        [HttpGet]
        public object UpdateKf_ICInvBal( )
        {
            try
            {
                ds = oCn.RunProcReturn("exec h_p_KF_ICinventory ", "h_p_KF_ICinventory");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "校对成功!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion