| | |
| | | using Newtonsoft.Json.Linq; |
| | | using NPOI.HSSF.UserModel; |
| | | using NPOI.SS.UserModel; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using Pub_Class; |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.IO; |
| | | using System.Net; |
| | | using System.Net.Http; |
| | | using System.Net.Http.Headers; |
| | | using System.Runtime.InteropServices; |
| | | using System.Web; |
| | | using System.Data.SqlClient; |
| | | using System.Web.Http; |
| | | using System.Windows.Forms; |
| | | using WebAPI.Models; |
| | | using WebAPI.Service; |
| | | |
| | | namespace WebAPI.Controllers.åºç¡èµæ.åºç¡èµæ |
| | | { |
| | | public class Gy_SOPBillController : ApiController |
| | |
| | | private json objJsonResult = new json(); |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | DataSet ds; |
| | | public DAL.ClsGy_SOPBill BillNew = new DAL.ClsGy_SOPBill(); |
| | | public DAL.ClsGy_SOPBill BillOld = new DAL.ClsGy_SOPBill(); |
| | | public bool BillChange; // |
| | | public DataGridView grdMain = new System.Windows.Forms.DataGridView(); |
| | | ClsGridViewSum oSumGrid = new ClsGridViewSum(); |
| | | |
| | | //å®ä¹ |
| | | public const Int16 HTagCol = 0; |
| | | public const Int16 HSnoCol = 1; |
| | | public const Int16 HProcNoCol = 2; |
| | | public const Int16 HProcIDCol = 3; |
| | | public const Int16 HProcNumberCol = 4; |
| | | public const Int16 HProcNameCol = 5; |
| | | public const Int16 HWorkStationIDCol = 6; |
| | | public const Int16 HWorkStationNumberCol = 7; |
| | | public const Int16 HWorkStationNameCol = 8; |
| | | public const Int16 HCenterIDCol = 9; |
| | | public const Int16 HCenterNumberCol = 10; |
| | | public const Int16 HCenterNameCol = 11; |
| | | public const Int16 HRemarkCol = 12; |
| | | public const Int16 HEntryIDCol = 13; |
| | | |
| | | DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View(); |
| | | DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View(); |
| | | DAL.ClsIF_Process_View oProc = new DAL.ClsIF_Process_View(); |
| | | DAL.ClsGy_WorkStation_View oStation = new DAL.ClsGy_WorkStation_View(); |
| | | DAL.ClsGy_WorkCenter_View oCenter = new DAL.ClsGy_WorkCenter_View(); |
| | | |
| | | #region 读åç±» |
| | | //æ¾ç¤ºåæ® |
| | | public void Sub_ShowBill() |
| | | { |
| | | DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View(); |
| | | DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View(); |
| | | DAL.ClsIF_Process_View oProc = new DAL.ClsIF_Process_View(); |
| | | DAL.ClsGy_WorkStation_View oStation = new DAL.ClsGy_WorkStation_View(); |
| | | DAL.ClsGy_WorkCenter_View oCenter = new DAL.ClsGy_WorkCenter_View(); |
| | | //ClsGy_SourceHlp oSource = new ClsGy_SourceHlp(); |
| | | //夿æ¯å¦åå¨åæ® |
| | | if (BillOld.ShowBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == false) |
| | | { |
| | | MessageBox.Show(ClsPub.sExeReturnInfo, "æç¤º"); |
| | | return; |
| | | } |
| | | //gridç¦æ¢å·æ° |
| | | |
| | | |
| | | //å è½½è¡¨ä½ |
| | | int i = 0; |
| | | foreach (Model.ClsGy_SOPBillSub oSub in BillOld.DetailColl) |
| | | { |
| | | if (i >= grdMain.RowCount - 1) |
| | | grdMain.Rows.Add(); |
| | | grdMain.Rows[i].Cells[HTagCol].Value = "*"; |
| | | |
| | | grdMain.Rows[i].Cells[HProcIDCol].Value = oSub.HProcID.ToString(); |
| | | if (oProc.GetInfoByID(oSub.HProcID)) |
| | | { |
| | | grdMain.Rows[i].Cells[HProcNumberCol].Value = oProc.omodel.HNumber; |
| | | grdMain.Rows[i].Cells[HProcNameCol].Value = oProc.omodel.HName; |
| | | } |
| | | else |
| | | { |
| | | grdMain.Rows[i].Cells[HProcNumberCol].Value = ""; |
| | | grdMain.Rows[i].Cells[HProcNameCol].Value = ""; |
| | | } |
| | | // |
| | | grdMain.Rows[i].Cells[HCenterIDCol].Value = oSub.HCenterID.ToString(); |
| | | if (oCenter.GetInfoByID(oSub.HCenterID)) |
| | | { |
| | | grdMain.Rows[i].Cells[HCenterNumberCol].Value = oCenter.omodel.HNumber; |
| | | grdMain.Rows[i].Cells[HCenterNameCol].Value = oCenter.omodel.HName; |
| | | } |
| | | else |
| | | { |
| | | grdMain.Rows[i].Cells[HCenterNameCol].Value = ""; |
| | | grdMain.Rows[i].Cells[HCenterNumberCol].Value = ""; |
| | | } |
| | | // |
| | | grdMain.Rows[i].Cells[HWorkStationIDCol].Value = oSub.HWorkStationID.ToString(); |
| | | if (oStation.GetInfoByID(oSub.HWorkStationID)) |
| | | { |
| | | grdMain.Rows[i].Cells[HWorkStationNumberCol].Value = oStation.omodel.HNumber; |
| | | grdMain.Rows[i].Cells[HWorkStationNameCol].Value = oStation.omodel.HName; |
| | | } |
| | | else |
| | | { |
| | | grdMain.Rows[i].Cells[HWorkStationNumberCol].Value = ""; |
| | | grdMain.Rows[i].Cells[HWorkStationNameCol].Value = ""; |
| | | } |
| | | // |
| | | grdMain.Rows[i].Cells[HProcNoCol].Value = oSub.HProcNo.ToString(); |
| | | |
| | | grdMain.Rows[i].Cells[HRemarkCol].Value = oSub.HRemark; |
| | | grdMain.Rows[i].Cells[HEntryIDCol].Value = oSub.HEntryID; |
| | | i = i + 1; |
| | | } |
| | | //GRIDå
è®¸å·æ° |
| | | DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); |
| | | // |
| | | //Sub_OperStatus(); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region ä¿ååæ® |
| | | [Route("Gy_SOPBill/ModifyByID")] |
| | | [HttpPost] |
| | | public object Sub_SaveBill([FromBody] JObject oMain) |
| | | /// <summary> |
| | | /// è¿åçäº§èµæºçäº§ç¶æå·¥åå表 |
| | | ///åæ°ï¼string sqlã |
| | | ///è¿åå¼ï¼objectã |
| | | /// </summary> |
| | | [Route("Sc_ICMOBillStatus_Tmp/list")] |
| | | [HttpGet] |
| | | public object list(string sWhere, string user) |
| | | { |
| | | try |
| | | { |
| | | var _value = oMain["oMain"].ToString(); |
| | | string msg1 = _value.ToString(); |
| | | string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); |
| | | string msg2 = sArray[0].ToString(); |
| | | string msg3 = sArray[1].ToString();//å½å人 |
| | | |
| | | //ååºåå |
| | | msg2 = "[" + msg2.ToString() + "]"; |
| | | |
| | | List<SOPBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SOPBill>>(msg2); |
| | | |
| | | string HBillNo = list[0].HBillNo; |
| | | DateTime HDate = list[0].HDate; |
| | | string HName = list[0].HName; |
| | | int HMaterID = list[0].HMaterID; |
| | | string HMaterNumber = list[0].HMaterNumber; |
| | | string HMaterName = list[0].HMaterName; |
| | | string HMaterModel = list[0].HMaterModel; |
| | | int HUnitID = list[0].HUnitID; |
| | | string HUnitNumber = list[0].HUnitNumber; |
| | | string HUnitName = list[0].HUnitName; |
| | | string HRemark = list[0].HRemark; |
| | | bool HStandard = list[0].HStandard; |
| | | bool HUse = list[0].HUse; |
| | | |
| | | //夿æé |
| | | //if (!ClsPub.Security_Log("Gy_Repair_Edit", 1, false, msg3)) |
| | | //ç¼è¾æé |
| | | //if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) |
| | | //{ |
| | | // objJsonResult.code = "0"; |
| | | // objJsonResult.count = 0; |
| | | // objJsonResult.Message = "æ²¡ææ¾å°è¯¥åè½æ¨¡åï¼"; |
| | | // objJsonResult.Message = "æ æ¥çæéï¼"; |
| | | // objJsonResult.data = null; |
| | | // return objJsonResult; |
| | | //} |
| | | string sql1 = string.Format(@"select * from h_v_Sc_WorkOrderList where HMainID='" + sWhere + "'"); |
| | | |
| | | ds = oCN.RunProcReturn(sql1, "h_v_Sc_WorkOrderList"); |
| | | |
| | | |
| | | //è¥MAINDIéå¤åéæ°è·å |
| | | oCN.BeginTran(); |
| | | //主表 |
| | | oCN.RunProc("Insert Into Gy_SOPBillMain " + |
| | | "(HBillType,HInterID,HBillNo,HDate" + |
| | | ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" + |
| | | ",HUnitID,HMaterNumber,HUnitNumber,HStandard" + |
| | | ") " + |
| | | " values('" + 3305 + "'," + HMaterID + ",'" + HMaterID + "','" + "2022-11-04" + "'" + |
| | | "," + 2022 + "," + 11 + ",'" + HRemark + "','" + "Test" + "'," + "2022-11-04" + "," + HMaterID.ToString() + ",'" + HName + "'," + 656 + |
| | | "," + HUnitID.ToString() + ",'" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() + |
| | | "') "); |
| | | //" values(" + 3305 + "','" + 12333 + "','" + "test" + "','" + HDate + "','" + |
| | | //2022 + "','" + 11 + "','" + HRemark + "','" + "Test" + "','" + "2022-11-04" + "','" + HMaterID.ToString() + "','" + HName + "','" + "656" + |
| | | //"','" + HUnitID.ToString() + "','" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() + |
| | | //") "); |
| | | //ä¿®æ¹ä¸çº§ä¸ºéæ«çº§ä»£ç |
| | | //oCN.RunProc("Update Gy_MouldType set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | oCN.Commit(); |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "æ°å¢æåï¼"; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | oCN.RollBack(); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exceptionï¼" + e.Message; |
| | | objJsonResult.Message = "Exceptionï¼" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | [Route("Gy_SOPBill/Use")] |
| | | |
| | | /// <summary> |
| | | /// è¿åæä»¶æ¸
åå表 |
| | | ///åæ°ï¼string sqlã |
| | | ///è¿åå¼ï¼objectã |
| | | /// </summary> |
| | | [Route("Sc_ICMOBillStatus_Tmp/Filelist")] |
| | | [HttpGet] |
| | | public object sy_Click() |
| | | public object Filelist() |
| | | { |
| | | if (BillOld.omodel.HInterID == 0) |
| | | { |
| | | objJsonResult.Message = "使ç¨å¤±è´¥!å½åä½ä¸æå¯¼ä¹¦ä¸æ¯æµè§ç¶æ!"; |
| | | return objJsonResult; |
| | | } |
| | | if (BillOld.Sub_RoutingCheckAndUsed(BillOld.omodel.HInterID)) |
| | | { |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "ä½¿ç¨æå!"; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.Message = "使ç¨å¤±è´¥!"; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | [Route("Gy_SOPBill/Cancel")] |
| | | [HttpGet] |
| | | public object fsy_Click() |
| | | { |
| | | if (BillOld.omodel.HInterID == 0) |
| | | { |
| | | objJsonResult.Message = "å使ç¨å¤±è´¥!å½åä½ä¸æå¯¼ä¹¦ä¸æ¯æµè§ç¶æ!"; |
| | | return objJsonResult; |
| | | } |
| | | if (BillOld.Sub_RoutingUsed_Back(BillOld.omodel.HInterID)) |
| | | { |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "åä½¿ç¨æå!"; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.Message = "å使ç¨å¤±è´¥!"; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | [Route("Gy_SOPBill/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/" + 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; |
| | | } |
| | | //ç¼è¾æé |
| | | //if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) |
| | | //{ |
| | | // objJsonResult.code = "0"; |
| | | // objJsonResult.count = 0; |
| | | // objJsonResult.Message = "æ æ¥çæéï¼"; |
| | | // objJsonResult.data = null; |
| | | // return objJsonResult; |
| | | //} |
| | | string sql1 = string.Format(@"select HSno åºå·,HFileName æä»¶åç§° from Gy_SOPBillSub2"); |
| | | |
| | | 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 Gy_SOPBillSub2 where HFileName='" + filename + "'", "Gy_SOPBillSub2"); |
| | | if (Directory.Exists(path)) |
| | | { |
| | | File.Delete(fileurl); //å 餿宿件 |
| | | files.SaveAs(fileurl); |
| | | string StrPath = "/files/" + HBillNo + "/" + filename; |
| | | if (File.Exists(fileurl)) |
| | | { |
| | | //è¿éå¯ä»¥æ§è¡ä¸äºå
¶å®çæä½ï¼æ¯å¦æ´æ°æ°æ®åº |
| | | //åå
¥æ°æ®è¡¨ |
| | | oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" + |
| | | ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" + |
| | | ") values('" |
| | | + filename.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + |
| | | ",'" + HUserName + "',getdate()" + ",'" + 0 + "','" + 0 + "','" + 0 + "','" + 0 + "','" + 0 + |
| | | "') "); |
| | | } |
| | | else |
| | | { |
| | | Result_Ob = new { result = 0, returnval = "ä¸ä¼ å¤±è´¥ï¼æ¤æä»¶ä¸ºæ¶ææä»¶" }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Directory.CreateDirectory(fileSavePath); //æ·»å æä»¶å¤¹ |
| | | files.SaveAs(fileurl); |
| | | string StrPath = "/files/" + HBillNo + "/" + filename; |
| | | if (File.Exists(fileurl)) |
| | | { |
| | | //è¿éå¯ä»¥æ§è¡ä¸äºå
¶å®çæä½ï¼æ¯å¦æ´æ°æ°æ®åº |
| | | //åå
¥æ°æ®è¡¨ |
| | | oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" + |
| | | ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" + |
| | | ") values('" |
| | | + filename.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + |
| | | ",'" + HUserName + "',getdate()" + ",'" + 111 + "','" + 222 + "','" + 333 + "','" + 444 + "','" + 555 + |
| | | "') "); |
| | | } |
| | | else |
| | | { |
| | | Result_Ob = new { result = 0, returnval = "ä¸ä¼ å¤±è´¥ï¼æ¤æä»¶ä¸ºæ¶ææä»¶" }; |
| | | } |
| | | } |
| | | ds = oCN.RunProcReturn(sql1, "Gy_SOPBillSub2"); |
| | | |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Result_Ob = new { result = 0, returnval = e.Message }; |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exceptionï¼" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | return Result_Ob; |
| | | } |
| | | |
| | | } |