From 5e96e0430336ebdc8590499d6d8d76eec00092e9 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期一, 06 三月 2023 09:09:39 +0800
Subject: [PATCH] 工序返工记录单

---
 Model/车间管理/ClsSc_ProcExchRecordBackBillSub.cs                  |   37 +++
 WebAPI/ListModels.cs                                           |   18 +
 WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs |  432 ++++++++++++++++++++++++++++++++++++
 WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs   |    2 
 DAL/DAL.csproj                                                 |    1 
 DAL/车间管理/ClsSc_ProcExchRecordBackBill.cs                       |  136 +++++++++++
 Model/Model.csproj                                             |    2 
 WebAPI/Controllers/Sc_ProcessMangementController.cs            |    2 
 Model/车间管理/ClsSc_ProcExchRecordBackBillMain.cs                 |   32 ++
 WebAPI/WebAPI.csproj                                           |    2 
 10 files changed, 662 insertions(+), 2 deletions(-)

diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index 30c945a..366af25 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -622,6 +622,7 @@
     <Compile Include="璐ㄦ绠$悊\ClsQC_POStockInCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProcessCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProdReportCheckBill.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchRecordBackBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_CutMaterProcExchBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_MaterBackBill.cs" />
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBill.cs"
new file mode 100644
index 0000000..7c15c08
--- /dev/null
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBill.cs"
@@ -0,0 +1,136 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsSc_ProcExchRecordBackBill : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsSc_ProcExchRecordBackBillMain omodel = new Model.ClsSc_ProcExchRecordBackBillMain();
+        public List<Model.ClsSc_ProcExchRecordBackBillSub> DetailColl = new List<Model.ClsSc_ProcExchRecordBackBillSub>();
+
+        public ClsSc_ProcExchRecordBackBill()
+        {
+            base.MvarItemKeySub = "Sc_ProcExchRecordBackBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Sc_ProcExchRecordBackBillMain";
+            base.MvarReportTitle= "宸ュ簭杩斿伐璁板綍鍗�";
+            base.BillType = "3797";
+            base.HBillSubType = "3797";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsSc_ProcExchRecordBackBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sc_ProcExchRecordBackBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                //",HDate='" + omodel.HDate + "'" +
+                //",HYear='" + omodel.HYear.ToString() + "'" +
+                //",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HInnerBillNo='" + omodel.HInnerBillNo.ToString() +"'"+
+                ",HEmpID=" + omodel.HEmpID.ToString() +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsSc_ProcExchRecordBackBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sc_ProcExchRecordBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
+                        ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
+                        ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
+                        ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
+                        ", HQty)values(" +
+                        $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', GETDATE(), {(oSub.HCloseType == true ? 1 : 0)}" +
+                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID.ToString()},{oSub.HSourceEntryID.ToString()}, '{oSub.HSourceBillNo.ToString()}', '{oSub.HSourceBillType.ToString()}'" +
+                        $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
+                        $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag == true ? 1 : 0)}" +
+                        $", {oSub.HQty.ToString()}) ");
+                }
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //寰楀埌mainid
+                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("insert Into Sc_ProcExchRecordBackBillMain(HBillType, HBillSubType, HInterID, HBillNo, HDate,HBillStatus" +
+                    ", HMaker, HMakeDate, HYear, HPeriod, HRemark" +
+                    ", HICMOInterID, HICMOBillNo, HICMOEntryID, HProcExchInterID, HProcExchEntryID" +
+                    ", HProcExchBillNo, HProcExchBegNO, HProcExchEndNO, HProcBegID, HProcEndID" +
+                    ", HMaterID, HUnitID, HEmpID, HPlanQty, HQty" +
+                    ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID) values(" +
+                    $"'{omodel.HBillType}','{omodel.HBillSubType}',{omodel.HInterID},'{omodel.HBillNo}','{omodel.HDate}',1" +
+                    $",'{omodel.HMaker}','{omodel.HMakeDate}',{omodel.HYear},{omodel.HPeriod},'{omodel.HRemark}'" +
+                    $",{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID},{omodel.HProcExchInterID},{omodel.HProcExchEntryID}" +
+                    $",'{omodel.HProcExchBillNo}',{omodel.HProcExchBegNO},{omodel.HProcExchEndNO},{omodel.HProcBegID},{omodel.HProcEndID}" +
+                    $",{omodel.HMaterID},{omodel.HUnitID},{omodel.HEmpID},{omodel.HPlanQty},{omodel.HQty}" +
+                    $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID})");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsSc_ProcExchRecordBackBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sc_ProcExchRecordBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
+                        ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
+                        ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
+                        ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
+                        ", HQty)values(" +
+                        $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', GETDATE(), {(oSub.HCloseType== true ? 1:0)}" +
+                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID.ToString()},{oSub.HSourceEntryID.ToString()}, '{oSub.HSourceBillNo.ToString()}', '{oSub.HSourceBillType.ToString()}'" +
+                        $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
+                        $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag== true?1:0)}" +
+                        $", {oSub.HQty.ToString()}) ");
+                }
+               
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+             
+    }
+
+}
diff --git a/Model/Model.csproj b/Model/Model.csproj
index 2c07905..def7f4d 100644
--- a/Model/Model.csproj
+++ b/Model/Model.csproj
@@ -580,6 +580,8 @@
     <Compile Include="鐢熶骇绠$悊\妯″叿绠$悊\ClsSc_MouldStockBillSub.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipConkBookBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipConkBookBillSub.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchRecordBackBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchRecordBackBillSub.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBillSub.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipWorkBeforeCheckBillMain.cs" />
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBillMain.cs"
new file mode 100644
index 0000000..238087a
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBillMain.cs"
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSc_ProcExchRecordBackBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HPrintQty { get; set; }  //打印次数
+        public Int64 HICMOInterID { get; set; }
+        public Int64 HICMOEntryID { get; set; }
+        public Int64 HProcExchInterID { get; set; }
+        public Int64 HProcExchEntryID { get; set; }
+        public Int64 HProcExchBegNO { get; set; }
+        public Int64 HProcExchEndNO { get; set; }
+        public Int64 HProcBegID { get; set; }
+        public Int64 HProcEndID { get; set; }
+        public Int64 HMaterID { get; set; }
+        public Int64 HUnitID { get; set; }
+        public Int64 HEmpID { get; set; }
+        public Int64 HWorkShopID { get; set; }
+        public Int64 HPRDORGID { get; set; }
+        public string HICMOBillNo { get; set; } 
+        public string HProcExchBillNo { get; set; } 
+        public string HExplanation { get; set; } 
+        public string HBatchNo { get; set; } 
+        public string HOrderProcNo { get; set; } 
+        public string HInnerBillNo { get; set; } 
+        public double HPlanQty { get; set; } 
+        public double HQty { get; set; } 
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBillSub.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBillSub.cs"
new file mode 100644
index 0000000..9d24f1c
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchRecordBackBillSub.cs"
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSc_ProcExchRecordBackBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public string HBillNo_bak;        //单据号(备份,以免内码丢失,找不到对应主表)
+        public Int64 HItemSubID; //自增列(GUID)
+        public Int64 HProcNo { get; set; }
+        public Int64 HProcID { get; set; }
+        public Int64 HCenterID { get; set; }
+        public Int64 HSupID { get; set; }
+        public Int64 HDeptID { get; set; }
+        public Int64 HICMOInterID { get; set; }
+        public Int64 HSeOrderInterID { get; set; }
+        public Int64 HSeOrderEntryID { get; set; }
+        public Int64 HICMOEntryID { get; set; }
+        public Int64 HWWOrderInterID { get; set; }
+        public Int64 HWWOrderEntryID { get; set; }
+        public bool HSupFlag { get; set; }
+        public string HWorkRemark { get; set; }
+        public string HMouldNo { get; set; }
+        public string HWWOrderBillNo { get; set; }
+        public string HProcWorkNum { get; set; }
+        public string HICMOBillNo { get; set; }
+        public string HSeOrderBillNo { get; set; }
+        public string HTimeUnit { get; set; }
+        public string HProcType { get; set; }
+        public double HQty { get; set; }
+        public double HPlanWorkTimes { get; set; }
+        public double HStdWorkTime { get; set; }
+        public DateTime HPlanBeginDate { get; set; }
+        public DateTime HPlanEndDate { get; set; }
+    }
+}
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs
new file mode 100644
index 0000000..75fefaa
--- /dev/null
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs
@@ -0,0 +1,432 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Pub_Class;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.CJGL
+{
+    public class Sc_ProcExchRecordBackBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+        #region 宸ュ簭杩斿伐璁板綍鍗曞垪琛�
+        [Route("Sc_ProcExchRecordBackBill/Sc_ProcExchRecordBackBillList")]
+        [HttpGet]
+        public object Sc_ProcExchRecordBackBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchRecordBackBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql1 = "select * from h_v_Sc_ProcExchRecordBackBillList where 1 = 1  ";
+                string sql = sql1 + sWhere + " order by hmainid desc";
+                ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcExchRecordBackBillList");
+
+                //娣诲姞鍒楀悕
+                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));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                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("Sc_ProcExchRecordBackBill/GetProcessExchangeBillSub")]
+        [HttpGet]
+        public object GetProcessExchangeBillSub_cf(string sWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                string sql = string.Format(@"select top 2 * from h_v_Sc_ProcessExchangeBillQuerySub");
+                ds = oCN.RunProcReturn(sql + sWhere+ " order by 娴佹按鍙� ", "h_v_Sc_ProcessExchangeBillQuerySub");
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 宸ュ簭杩斿伐璁板綍鍗�  鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcExchRecordBackBill/Sc_ProcExchRecordBackBillAddBill")]
+        [HttpPost]
+        public object Sc_ProcExchRecordBackBillAddBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();//涓昏〃
+            string msg3 = sArray[1].ToString();//瀛愯〃
+            int msg5 = int.Parse(sArray[2].ToString());//绫诲瀷
+            string msg6 = sArray[3].ToString();//鐢ㄦ埛
+
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg6))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //涓昏〃
+                DAL.ClsSc_ProcExchRecordBackBill oBill = new DAL.ClsSc_ProcExchRecordBackBill();
+                List<Model.ClsSc_ProcExchRecordBackBillMain> lsmain = new List<Model.ClsSc_ProcExchRecordBackBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_ClsSc_ProcExchRecordBackBillMain(msg2);
+                foreach (Model.ClsSc_ProcExchRecordBackBillMain oItem in lsmain)
+                {
+                    oItem.HBillType = "3797";
+                    oItem.HBillSubType = "3797";
+                    oItem.HBillStatus = 1;
+                    oItem.HMaker = msg6;
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HChecker != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸崟鎹凡瀹℃牳锛屾棤娉曚繚瀛橈紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsSc_ProcExchRecordBackBillSub> ls = new List<Model.ClsSc_ProcExchRecordBackBillSub>();
+                ls = oListModels.getObjectByJson_ClsSc_ProcExchRecordBackBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsSc_ProcExchRecordBackBillSub oItemSub in ls)
+                {
+
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                    oItemSub.HBillNo_bak = oBill.omodel.HBillNo;     //澶囦唤鍗曟嵁鍙�
+                    oItemSub.HCloseMan = "";
+                    oItemSub.HSourceBillNo = "";
+                    oItemSub.HSourceBillType = "";
+                    oBill.DetailColl.Add(oItemSub);
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (msg5 == 1)
+                {
+                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 宸ュ簭杩斿伐璁板綍鍗� 鍒犻櫎
+        /// <summary>
+        /// 宸ュ簭杩斿伐璁板綍鍗�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_ProcExchRecordBackBill/DelProcExchWorkBackBill")]
+        [HttpGet]
+        public object DelProcExchWorkBackBill(string HInterID, string user)
+        {
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchRecordBackBill_Drop", 1, false, user))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+
+            Int64 lngBillKey = 0;
+            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+            if (lngBillKey == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍗曟嵁ID涓虹┖锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            DAL.ClsSc_ProcExchRecordBackBill oBill = new DAL.ClsSc_ProcExchRecordBackBill();
+            ds = oCN.RunProcReturn("select * from Sc_ProcExchRecordBackBillMain where HInterID=" + lngBillKey, "Sc_ProcExchRecordBackBillMain");
+
+            if (ds.Tables[0].Rows.Count > 0)
+            {
+
+                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (IsDete)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭杩斿伐璁板綍鍗� 瀹℃牳/鍙嶅鏍�
+        [Route("Sc_ProcExchRecordBackBill/set_CheckBill")]
+        [HttpGet]
+        public object set_CheckBill(int HInterID, int num, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchRecordBackBill_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DataSet Ds = oCN.RunProcReturn("Select * from Sc_ProcExchRecordBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchRecordBackBillMain");
+                if (Ds.Tables[0].Rows.Count > 0)
+                {
+                    if (num == 1)
+                    {
+                        //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                        if (Ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                    }
+
+                    if (num == 2)
+                    {
+                        if (Ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!璇峰厛瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                    }
+                    //瀹℃牳
+                    if (Cj_StationInBillCheckBill(HInterID, num, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鎴愬姛!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鏈壘鍒�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //瀹℃牳
+        public bool Cj_StationInBillCheckBill(Int64 HInterID, int num, string CurUserName, ref string sReturn)
+        {
+            try
+            {
+                oCN.BeginTran();
+                if (num == 1)
+                {
+                    oCN.RunProc(" Update Sc_ProcExchRecordBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate=getdate() Where HInterID=" + HInterID.ToString());
+                }
+
+                if (num == 2)
+                {
+                    oCN.RunProc(" Update Sc_ProcExchRecordBackBillMain set HChecker='',HBillStatus=1,HCheckDate=null Where HInterID=" + HInterID.ToString());
+                }
+
+                oCN.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCN.RollBack();
+                return false; ;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
index 1bc43f2..75b1bec 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -77,7 +77,7 @@
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 string sql = string.Format(@"select top 2 * from h_v_Sc_ProcessExchangeBillQuerySub");
-                ds = oCN.RunProcReturn(sql + sWhere, "h_v_Sc_ProcessExchangeBillQuerySub");
+                ds = oCN.RunProcReturn(sql + sWhere + " order by 娴佹按鍙� ", "h_v_Sc_ProcessExchangeBillQuerySub");
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
diff --git a/WebAPI/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs
index b5da1e3..57522c3 100644
--- a/WebAPI/Controllers/Sc_ProcessMangementController.cs
+++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -677,7 +677,7 @@
                 //DataSet ds1 = oCN.RunProcReturn("select * from  h_v_TOERPProcduct_LastProc where HLastProc = '鏄�' and  hbillno='" + BillNo.ToString() + "'", "h_v_TOERPProcduct_LastProc");
                 DataSet ds1 = oCN.RunProcReturn("exec h_p_TOERPProcduct_LastProc '" + BillNo + "'", "h_p_TOERPProcduct_LastProc");
                 DataRow dr1 = ds1.Tables[0].Rows[0];
-                if (ds1.Tables[0].Rows.Count <= 0)
+                if (double.Parse(dr1[0].ToString()) <= 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index 5b08958..7695066 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -1520,6 +1520,24 @@
             return list;
         }
 
+        ///宸ュ簭杩斿伐璁板綍鍗� 涓昏〃
+        ///ClsSc_ProcExchRecordBackBillMain
+        public List<Model.ClsSc_ProcExchRecordBackBillMain> getObjectByJson_ClsSc_ProcExchRecordBackBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSc_ProcExchRecordBackBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcExchRecordBackBillMain>>(jsonString);
+            return list;
+        }
+
+        ///宸ュ簭杩斿伐璁板綍鍗� 瀛愯〃
+        ///ClsSc_ProcExchRecordBackBillSub
+        public List<Model.ClsSc_ProcExchRecordBackBillSub> getObjectByJson_ClsSc_ProcExchRecordBackBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSc_ProcExchRecordBackBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcExchRecordBackBillSub>>(jsonString);
+            return list;
+        }
+
         ///璁惧鎶曚骇妫�楠岄獙鏀跺崟 瀛愯〃
         ///ClsSb_EquipWorkBeforeCheckBillSub
         public List<Model.ClsSb_EquipWorkBeforeCheckBillSub> getObjectByJson_ClsSb_EquipWorkBeforeCheckBillSub(string jsonString)
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index a34a10b..87fea28 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -395,6 +395,7 @@
     <Compile Include="Controllers\CJGL\Cj_StationOutBillController.cs" />
     <Compile Include="Controllers\CJGL\Cj_StationInBillController.cs" />
     <Compile Include="Controllers\CJGL\Cj_StationEntrustOutBillController.cs" />
+    <Compile Include="Controllers\CJGL\Sc_ProcExchRecordBackBillController.cs" />
     <Compile Include="Controllers\CJGL\Sc_ProcExchWorkBackBillController.cs" />
     <Compile Include="Controllers\CJGL\Sc_WorkBillAutoSortBillMainController.cs" />
     <Compile Include="Controllers\Gy_MateMouldController.cs" />
@@ -984,6 +985,7 @@
     <Folder Include="Views\Sc_MouldScrapRequestBill\" />
     <Folder Include="Views\Sc_MouldStatusChangeBill\" />
     <Folder Include="Views\Sc_ProcessExchangeIssueBill\" />
+    <Folder Include="Views\Sc_ProcExchRecordBackBill\" />
     <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />
     <Folder Include="Views\Sc_WorkBillSortBill\" />
     <Folder Include="Views\Sc_WorkDemandPlanBill\" />

--
Gitblit v1.9.1