From 1505f2bf41f2e4c4a92fe087bbf1537432c70cfd Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期五, 24 三月 2023 09:57:44 +0800
Subject: [PATCH] 工序派工;工序进出站

---
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs |  336 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 331 insertions(+), 5 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index 3dfb55c..90563b8 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing Model;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
@@ -215,6 +216,7 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
                 //if (HWorkTimes <= 0)
                 //{
                 //    objJsonResult.code = "0";
@@ -255,10 +257,13 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
+                var num = 0;
+
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
                 if ("Add".Equals(eventType))
                 {
+                    num = 1;
                     if (!AllowbillNo(HBillNo))
                     {
                         oCN.RollBack();
@@ -290,6 +295,7 @@
                 }
                 else if ("Modify".Equals(eventType))
                 {
+                    num = 2;
                     oCN.RunProc("UpDate Sc_StationOutBillMain set  " +
                     "HUpDater='" + HMaker + "'" +
                     ",HUpDateDate=getdate()" +
@@ -358,7 +364,7 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Out " + HInterID + ",1");
+                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Out " + HInterID + ","+ num + "");
                 oCN.RunProc("exec h_p_Mes_ProcessExchangeChangeStatus  " + HInterID + " ");
                 oCN.RunProc("exec h_p_Mes_StationOutBillBackBarCode  " + HInterID + " ");
                 //鍒ゆ柇鏄惁鏄� 鏈亾宸ュ簭 
@@ -394,6 +400,7 @@
             }
             catch (Exception e)
             {
+                oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "Exception锛�" + e.ToString();
@@ -431,6 +438,7 @@
                 string msg2 = sArray[0].ToString();
                 string msg3 = sArray[1].ToString();
                 string msg4 = sArray[2].ToString();
+                string msg5 = sArray[3].ToString();
 
                 List<Model.ClsSc_StationOutBillMain> list = new List<Model.ClsSc_StationOutBillMain>();
                 
@@ -448,8 +456,8 @@
                     oBill.omodel.HBillNo = msg3 + "- " + j;
                     oBill.omodel.HBillStatus = 0;
                     oBill.omodel.HMouldNum = list[i].HMouldNum;
-                    oBill.omodel.HYear = 2022;
-                    oBill.omodel.HPeriod = 1;
+                    oBill.omodel.HYear = DateTime.Now.Year;
+                    oBill.omodel.HPeriod = DateTime.Now.Month;
                     oBill.omodel.HRemark = list[i].HRemark;
                     oBill.omodel.HSourceName = list[i].HSourceName;
                     oBill.omodel.HPieceQty = list[i].HPieceQty;
@@ -502,6 +510,7 @@
                     oBill.omodel.HWorkTimes = list[i].HWorkTimes;
                     oBill.omodel.HQCCheckID = list[i].HQCCheckID;
                     oBill.omodel.HMaker = msg4;
+                    oBill.omodel.HEmpNum = msg5;
 
                     //string HBillSubType = "3791";
                     //long HInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
@@ -917,6 +926,126 @@
             return Result_Ob;
         }
 
+
+
+
+
+        [Route("Cj_StationOutBill/UploadFile2")]
+        [HttpPost]
+        public object UploadFile2()
+        {
+
+            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 = UpLoadFile1(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 UpLoadFile1(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/" + 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/" + 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() + "','" + fileurl.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>
         /// 杈撳嚭json缁撴灉 杩斿洖2涓�� result (杈撳嚭succes鐨勫��)   returnval (杈撳嚭str鐨勫��)
         /// </summary>
@@ -1080,6 +1209,72 @@
                     return objJsonResult;
                 }
 
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏍规嵁鍗曟嵁鍙� 鍚屾鎶ラ敊鍒犻櫎鍑虹珯鍗�
+        [Route("Cj_StationOutBill/DelStationOutBill")]
+        [HttpGet]
+        public object DelStationOutBill(string HInterID)
+        {
+            try
+            {
+                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
+
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+                DataTable DTable;
+                int num = 0;
+                //鍒ゆ柇鍏ュ簱鏄惁鍚屾
+                 DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where HInterID='" + HInterID + "' and  HRelationQty=0", "Sc_StationOutBillMain").Tables[0];
+                if (DTable.Rows.Count != 0)
+                {
+                    num++;
+                }
+                //鍒ゆ柇鏈鎶ュ簾鏄惁鍚屾
+                DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where  HProcExchInterID='" + DTable.Rows[0]["HProcExchInterID"].ToString() + "' and HBFFlag=0 ", "Sc_StationOutBillMain").Tables[0];
+                if (DTable.Rows.Count != 0)
+                {
+                    num++;
+                }
+
+                if (num == 2)
+                {
+                    if (!oBill.DeleteBill(long.Parse(HInterID), 0, 0, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鏃犻』鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+               
             }
             catch (Exception e)
             {
@@ -1445,7 +1640,138 @@
         }
         #endregion
 
+        #region 杩斿洖宸ュ簭鍑虹珯姹囨姤鍗曟槑缁嗗垪琛�
+        [Route("Cj_StationOutBill_Detail/get_Display2")]
+        [HttpGet]
+        public object get_Display2(string HMaterID, string HWorkProcID, string HProcExchBillNo)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill_Detail where 宸ュ簭ID = " + HWorkProcID + " and 鐗╂枡ID = " + HMaterID + " and 娴佽浆鍗″彿 = '" + HProcExchBillNo + "'" , "h_v_GetStationOutBill_Detail");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "宸ュ簭鍑虹珯姹囨姤鍗曟槑缁嗕俊鎭幏鍙栧け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    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;
+            }
+        }
+        #endregion
 
-        
+        #region 鏄庣粏 淇濆瓨/缂栬緫鍔熻兘
+        [Route("Cj_StationOutBill/AddBill_Detail")]
+        [HttpPost]
+        public object AddBill_Detail([FromBody] JObject sMain)
+        {
+            try
+            {
+                var _value = sMain["sMainSub"].ToString();
+                string msg1 = _value.ToString();
+                oCN.BeginTran();
+                //淇濆瓨涓昏〃
+                objJsonResult = Add_Detail(msg1);
+                if (objJsonResult.code == "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                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;
+            }
+        }
+
+        public json Add_Detail(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString(); //琛ㄥご鏁版嵁
+            string msg3 = sArray[1].ToString(); //琛ㄤ綋鏁版嵁
+            var a = sArray[2].ToString();
+            int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            string user = sArray[3].ToString(); //鐢ㄦ埛鍚�
+            try
+            {
+                msg2 = "[" + msg2.ToString() + "]";
+                List<ClsSc_StationOutBillSub_Emp> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg2);
+                List<ClsSc_StationOutBillSub_Emp> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg3);
+
+                long HWorkEmpID = subList[0].HWorkEmpID;
+                long HWorkSourceID = subList[0].HWorkSourceID;
+                decimal HQty = subList[0].HQty;
+                decimal HRate = subList[0].HRate;
+                decimal HProcPrice = subList[0].HProcPrice;
+                decimal HMoney = subList[0].HMoney;
+                long HWorkProcID = mainList[0].HWorkProcID;
+
+                foreach (ClsSc_StationOutBillSub_Emp oSub in subList)
+                {
+                    //ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_ICMOBillList");
+
+                    if ((OperationType == 1 || OperationType == 2))//鏂板 && ds.Tables[0].Rows.Count == 0
+                    {
+                        string sql = string.Empty;
+                        sql = $@"
+                        Insert into Sc_StationOutBillSub_Emp 
+                        (HInterID,HEntryID,HBillNo_bak ,HRemark ,HSourceInterID
+                        ,HSourceEntryID ,HSourceBillNo ,HSourceBillType ,HRelationQty ,HRelationMoney 
+                        ,HWorkEmpID ,HWorkSourceID ,HQty ,HRate ,HProcPrice ,HMoney ,HWorkProcID) 
+                        values(" + 1 + "," + 2 + "," + "'" + mainList[0].HBillNo_bak + "','" + "HRemark" + "'," + 0 + "," + 0 + ",'" + " " + "','" + "HSource" + "'," + 
+                        "0" + "," + 0 + "," + 0 + "," + 0 + "," + 0 + "," + 0 + "," + 0 + "," + 0 + "," + 0 + ")";
+
+                        oCN.RunProc(sql);
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                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
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1