|  |  |  | 
|---|
|  |  |  | using System.Collections.Generic; | 
|---|
|  |  |  | using System.Data; | 
|---|
|  |  |  | using System.Data.SqlClient; | 
|---|
|  |  |  | using System.IO; | 
|---|
|  |  |  | using System.Web; | 
|---|
|  |  |  | using System.Web.Http; | 
|---|
|  |  |  | using System.Windows.Forms; | 
|---|
|  |  |  | using WebAPI.Models; | 
|---|
|  |  |  | 
|---|
|  |  |  | private json objJsonResult = new json(); | 
|---|
|  |  |  | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); | 
|---|
|  |  |  | string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"]; | 
|---|
|  |  |  | DataSet ds; | 
|---|
|  |  |  | DataSet ds1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | string sReturn = ""; | 
|---|
|  |  |  | if (oSystemParameter.ShowBill(ref sReturn) == true) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") //系统参数  判断客户 | 
|---|
|  |  |  | if (oSystemParameter.omodel.WMS_CampanyName == "乔一" || oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") //系统参数  判断客户 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断生产资源 | 
|---|
|  |  |  | if (HSourceID <= 0) | 
|---|
|  |  |  | 
|---|
|  |  |  | objJsonResult.Verify = "N"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //测试语句=========================================================================================================== | 
|---|
|  |  |  | string msg_str = ""; | 
|---|
|  |  |  | string sql_str = "select a.HQty HQty_Main,b.HQty HQty_Sub " + | 
|---|
|  |  |  | "from Sc_ProcessExchangeBillMain as a " + | 
|---|
|  |  |  | "inner join Sc_ProcessExchangeBillSub as b on a.HInterID = b.HInterID " + | 
|---|
|  |  |  | "where a.HInterID = " + HProcExchInterID; | 
|---|
|  |  |  | DataSet ds_str = oCN.RunProcReturn(sql_str, "Sc_ProcessExchangeBillMain"); | 
|---|
|  |  |  | if (ds_str.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | msg_str = "HQty_Main:" + ds_str.Tables[0].Rows[0]["HQty_Main"].ToString() + ";HQty_Sub:"; | 
|---|
|  |  |  | for (int j = 0; j < ds_str.Tables[0].Rows.Count; j++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | msg_str += ds_str.Tables[0].Rows[j]["HQty_Sub"].ToString() + ","; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "修改工序进站单据:" + HBillNo + "[工序流转卡号:" + HProcExchBillNo + "]" + msg_str + "','LMES-工序出站模块','" + DBUtility.ClsPub.IPAddress + "','新增或修改单据'", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | //============================================================================================================== | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "新增单据成功!"; | 
|---|
|  |  |  | 
|---|
|  |  |  | Where a.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID} | 
|---|
|  |  |  | ) a | 
|---|
|  |  |  | inner join ( | 
|---|
|  |  |  | select a.HICMOInterID,a.HICMOEntryID, b.HProcID | 
|---|
|  |  |  | select a.HICMOInterID,a.HICMOEntryID,isnull(c.HItemID,0) HProcID | 
|---|
|  |  |  | from Sc_PPBomBillMain a with(nolock) | 
|---|
|  |  |  | inner join Sc_PPBomBillSub b with(nolock)  on a.HInterID=b.HInterID | 
|---|
|  |  |  | Where b.HKeyMaterID_Line<>0 | 
|---|
|  |  |  | left join Gy_Process c on b.HProcName = c.HName | 
|---|
|  |  |  | )b on a.HICMOInterID=b.HICMOInterID and a.HICMOEntryID=b.HICMOEntryID and a.HProcID=b.HProcID", "Sc_ProcessExchangeBillMain"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 工序进站接收单流水号回车获取工序信息 | 
|---|
|  |  |  | [Route("Cj_StationInBill/txtHProcNo_KeyDown_qiaoyi")] | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 工序进站接收单根据职员代码模糊回车查询 | 
|---|
|  |  |  | [Route("Cj_StationInBill/GetMessageByEmpNumber")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 工序进站接收单根据物料代码模糊回车查询 | 
|---|
|  |  |  | [Route("Cj_StationInBill/GetMessageByMaterNumber")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 返回工序进站接收单列表 | 
|---|
|  |  |  | [Route("Cj_StationInBill/get_Display")] | 
|---|
|  |  |  | 
|---|
|  |  |  | //objJsonResult.data = null; | 
|---|
|  |  |  | //return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 返回工序进站接收单列表-分页 | 
|---|
|  |  |  | [Route("Cj_StationInBill/get_Display_ByPage")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object get_Display_ByPage(string sWhere, string user, string Organization, int page, int size, string HBillSubType) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (HBillSubType == "SUB") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断是否有查询权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Query", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "开工单无查询权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断是否有查询权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "进站单无查询权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sWhere = sWhere.Replace("'", "''"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (sWhere == null || sWhere.Equals("")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("exec h_p_MES_StationInBillList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_MES_StationInBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("exec h_p_MES_StationInBillList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_MES_StationInBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | 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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.list = columnNameList; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region  工序进站汇报单文件上传处理 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [Route("Cj_StationInBill/UploadFile1")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object UploadFile1() | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号 | 
|---|
|  |  |  | string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注 | 
|---|
|  |  |  | string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人 | 
|---|
|  |  |  | HttpPostedFile files = HttpContext.Current.Request.Files["file"]; | 
|---|
|  |  |  | string path = HttpContext.Current.Server.MapPath("~/../Files/Cj_StationInBill/" + HBillNo); | 
|---|
|  |  |  | //string path = @"D:\\Files\\"+ HBillNo; | 
|---|
|  |  |  | dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName); | 
|---|
|  |  |  | if (dyResult != null && dyResult.result == 1) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "上传成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = dyResult.returnval; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | dynamic Result_Ob = new { result = 1, returnval = "上传成功!" }; | 
|---|
|  |  |  | string filePath = Path.GetFullPath(files.FileName);//文件上传路径 | 
|---|
|  |  |  | string fileExtension = Path.GetExtension(files.FileName);// 文件扩展名 | 
|---|
|  |  |  | string filename = files.FileName;//文件名 | 
|---|
|  |  |  | string fileSavePath = path;// 上传保存路径 | 
|---|
|  |  |  | int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte | 
|---|
|  |  |  | int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (files == null || files.ContentLength <= 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Result_Ob = new { result = 0, returnval = "文件不能为空!" }; | 
|---|
|  |  |  | return Result_Ob; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (filesize >= Maxsize) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" }; | 
|---|
|  |  |  | return Result_Ob; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string fileurl = Path.Combine(fileSavePath, filename); | 
|---|
|  |  |  | if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Result_Ob = new { result = 0, returnval = "存在同名文件!" }; | 
|---|
|  |  |  | return Result_Ob; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //删除数据表数据 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList"); | 
|---|
|  |  |  | if (Directory.Exists(path)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | File.Delete(fileurl);      //删除指定文件 | 
|---|
|  |  |  | files.SaveAs(fileurl); | 
|---|
|  |  |  | string StrPath = "/files/Cj_StationInBill/" + HBillNo + "/" + filename; | 
|---|
|  |  |  | if (File.Exists(fileurl)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //这里可以执行一些其它的操作,比如更新数据库 | 
|---|
|  |  |  | //写入数据表 | 
|---|
|  |  |  | oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + | 
|---|
|  |  |  | ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + | 
|---|
|  |  |  | ",HFileClsID,HSourceBillNo" + | 
|---|
|  |  |  | ") values('" | 
|---|
|  |  |  | + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + | 
|---|
|  |  |  | ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + | 
|---|
|  |  |  | "','" + 0 + "','" + HBillNo + | 
|---|
|  |  |  | "') "); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Directory.CreateDirectory(fileSavePath); //添加文件夹 | 
|---|
|  |  |  | files.SaveAs(fileurl); | 
|---|
|  |  |  | string StrPath = "/files/Cj_StationInBill/" + HBillNo + "/" + filename; | 
|---|
|  |  |  | if (File.Exists(fileurl)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //这里可以执行一些其它的操作,比如更新数据库 | 
|---|
|  |  |  | //写入数据表 | 
|---|
|  |  |  | oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + | 
|---|
|  |  |  | ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + | 
|---|
|  |  |  | ",HFileClsID,HSourceBillNo" + | 
|---|
|  |  |  | ") values('" | 
|---|
|  |  |  | + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + | 
|---|
|  |  |  | ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + | 
|---|
|  |  |  | "','" + 0 + "','" + HBillNo + | 
|---|
|  |  |  | "') "); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Result_Ob = new { result = 0, returnval = e.Message }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return Result_Ob; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 根据单据号查找上传文件列表 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="sWhere"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [Route("Cj_StationInBill/Filelist")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object Filelist(string HBillNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var url = fileip + "/files/Cj_StationInBill/" + HBillNo + "/"; | 
|---|
|  |  |  | //@"C:\\files\\" | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList"); | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 根据ID,单据号,文件名 删除文件 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="sWhere"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [Route("Cj_StationInBill/DeleteFilelist")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID); | 
|---|
|  |  |  | string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/Cj_StationInBill/" + HSourceBillNo), HFileName); | 
|---|
|  |  |  | File.Delete(fileurl);      //删除指定文件 | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "删除成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|