using DBUtility; 
 | 
using Model; 
 | 
using Newtonsoft.Json; 
 | 
using Newtonsoft.Json.Converters; 
 | 
using Newtonsoft.Json.Linq; 
 | 
using System; 
 | 
using System.Collections.Generic; 
 | 
using System.Data; 
 | 
using System.Linq; 
 | 
using System.Net; 
 | 
using System.Net.Http; 
 | 
using System.Web.Http; 
 | 
using WebAPI.Models; 
 | 
  
 | 
namespace WebAPI.Controllers.MJGL 
 | 
{ 
 | 
    public class Sc_MouldScrapRequestBillController : ApiController 
 | 
    { 
 | 
        private json objJsonResult = new json(); 
 | 
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); 
 | 
        DataSet ds; 
 | 
  
 | 
        #region [器具报废申请单列表] 
 | 
        [Route("Sc_MouldScrapRequestBill/list")] 
 | 
        [HttpGet] 
 | 
        public object list(string sWhere, string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                if (sWhere == null || sWhere.Equals("")) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn("select * from h_v_Sc_MouldScrapRequestBillList order by HMainID asc", "h_v_Sc_MouldScrapRequestBillList"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    string sql1 = "select * from h_v_Sc_MouldScrapRequestBillList where 1 = 1 "; 
 | 
                    string sql = sql1 + sWhere + " order by HMainID asc"; 
 | 
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldScrapRequestBillList"); 
 | 
                } 
 | 
  
 | 
                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 [根据ID查找记录] 
 | 
        [Route("Sc_MouldScrapRequestBill/cx")] 
 | 
        [HttpGet] 
 | 
        public object cx(long HInterID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
  
 | 
                ds = oCN.RunProcReturn("select * from h_v_Sc_MouldScrapRequestBillList where hmainid =" + HInterID, "h_v_Sc_MouldScrapRequestBillList"); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "false!"; 
 | 
                    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("Sc_MouldScrapRequestBill/MouldScrapRequestBillEdit")] 
 | 
        [HttpPost] 
 | 
        public object MouldScrapRequestBillEdit([FromBody] JObject sMainSub) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                var _value = sMainSub["sMainSub"].ToString(); 
 | 
                string msg1 = _value.ToString(); 
 | 
                oCN.BeginTran(); 
 | 
                //保存主表 
 | 
                objJsonResult = AddBillMain(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 AddBillMain(string msg1) 
 | 
        { 
 | 
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            string msg2 = sArray[0].ToString(); //主表数据 
 | 
            string msg3 = sArray[1].ToString(); //子表数据 
 | 
            int OperationType = int.Parse(sArray[2].ToString()); // 数据类型 1添加 3修改 
 | 
            string user = sArray[3].ToString(); 
 | 
  
 | 
            try 
 | 
            { 
 | 
                msg2 = "[" + msg2.ToString() + "]"; 
 | 
                List<ClsSc_MouldScrapRequestBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldScrapRequestBillMain>>(msg2); 
 | 
  
 | 
                long HInterID = mainList[0].HInterID;//递入type得到的单据ID 
 | 
                string HBillNo = mainList[0].HBillNo;//递入type得到的单据号 
 | 
                long HBillStatus = 1;//单据号 
 | 
                long HPRDORGID = mainList[0].HPRDORGID;//组织 
 | 
                DateTime HDate = mainList[0].HDate;//日期 
 | 
                string HRemark = mainList[0].HRemark;//备注 
 | 
                long HEmpID = mainList[0].HEmpID;//申请人   
 | 
                long HDeptID = mainList[0].HDeptID;//部门 
 | 
                long HMangerID = mainList[0].HMangerID;//负责人 
 | 
                long HWHID = mainList[0].HWHID;//报废仓库 
 | 
                string HReason = mainList[0].HReason;//报废原因 
 | 
                string HMaker = user;//制单人 
 | 
  
 | 
                DateTime dt = DateTime.Now; 
 | 
  
 | 
  
 | 
  
 | 
                //ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID + " and 单据号='" + HBillNo + "'", "h_v_IF_POOrderBillList"); 
 | 
  
 | 
                if ((OperationType == 1 || OperationType == 2))//新增   && ds.Tables[0].Rows.Count == 0 
 | 
                { 
 | 
                    //DataSet Ds; 
 | 
                    //Int64 NewHInterID = 1; 
 | 
                    //Ds = oCN.RunProcReturn("select MAX(HInterID)HInterID from Cg_POOrderBillMain", "Cg_POOrderBillMain"); 
 | 
                    //if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0) 
 | 
                    //{ 
 | 
                    //    NewHInterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()); 
 | 
                    //    NewHInterID += 1; 
 | 
                    //} 
 | 
                    //主表 
 | 
                    oCN.RunProc(@"Insert Into Sc_MouldScrapRequestBillMain    
 | 
                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus 
 | 
                        ,HReason,HExplanation,HRemark,HBackRemark,HMaker,HMakeDate,HMainSourceInterID 
 | 
                        ,HMainSourceEntryID,HMainSourceBillNo,HEmpID,HDeptID,HMangerID,HWHID,HCheckItemNowID 
 | 
                        ,HCheckItemNextID,HCheckFlowID,HBacker,HChecker,HUpDater,HCloseMan,HCloseType,HDeleteMan,HInnerBillNo) 
 | 
                        values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 3823 + "','" + 
 | 
                    3823 + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" + HReason + "','" + mainList[0].HExplanation + "','" + mainList[0].HRemark + 
 | 
                    "','" + mainList[0].HBackRemark + "','" + mainList[0].HMaker + "','" + dt + "',"  + mainList[0].HMainSourceInterID + 
 | 
                    "," + mainList[0].HMainSourceEntryID + ",'" + mainList[0].HMainSourceBillNo + "'," + mainList[0].HEmpID + "," + mainList[0].HDeptID + "," + mainList[0].HMangerID + "," + mainList[0].HWHID + ",0,0,0" + ",'" + mainList[0].HBacker + "','" + mainList[0].HChecker + "','" + mainList[0].HUpDater + "','" + mainList[0].HCloseMan + "'," + 0 + ",'" + mainList[0].HDeleteMan + "','" + mainList[0].HInnerBillNo + "'" + ")"); 
 | 
                } 
 | 
                else if (OperationType == 3)//|| ds.Tables[0].Rows.Count != 0 
 | 
                { //修改 
 | 
                    oCN.RunProc("update Sc_MouldScrapRequestBillMain  set " + 
 | 
                                "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" + 
 | 
                                ",HEmpID=" + HEmpID + ",HDeptID=" + HDeptID + ",HMangerID=" + HMangerID + 
 | 
                                ",HReason='" + HReason + "'" + 
 | 
                                ",HWHID=" + HWHID + " where HInterID=" + HInterID); 
 | 
  
 | 
                    //删除子表 
 | 
                    oCN.RunProc("delete from Sc_MouldScrapRequestBillSub where HInterID='" + HInterID + "'"); 
 | 
                } 
 | 
                //保存子表 
 | 
                objJsonResult = AddBillSub(msg3, HInterID, OperationType); 
 | 
  
 | 
                if (objJsonResult.code == "0") 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = objJsonResult.Message; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                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; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        public json AddBillSub(string msg3, long HInterID, int OperationType) 
 | 
        { 
 | 
            List<ClsSc_MouldScrapRequestBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldScrapRequestBillSub>>(msg3); 
 | 
  
 | 
  
 | 
  
 | 
            int i = 0; 
 | 
            foreach (ClsSc_MouldScrapRequestBillSub oSub in DetailColl) 
 | 
            { 
 | 
                i++; 
 | 
  
 | 
                DataSet Cs; 
 | 
                Int64 NewHEntryID = 1; 
 | 
                Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Sc_MouldScrapRequestBillSub", "Sc_MouldScrapRequestBillSub"); 
 | 
                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0) 
 | 
                { 
 | 
                    NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()); 
 | 
                    NewHEntryID += 1; 
 | 
                } 
 | 
  
 | 
                oCN.RunProc($@"Insert into Sc_MouldScrapRequestBillSub  
 | 
                (HInterID,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty 
 | 
                ,HRelationMoney,HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust,HQty,HPrice,HMoney,HDesignLife,HLeaveLife,HWHID)  
 | 
                 values({HInterID},{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID} 
 | 
                ,{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney},{oSub.HMaterID} 
 | 
                ,{oSub.HPropertyID},{oSub.HSecUnitID},{oSub.HSecUnitRate},{oSub.HUnitID},0,{oSub.HQty},{oSub.HPrice},{oSub.HMoney},{oSub.HDesignLife} 
 | 
                ,{oSub.HLeaveLife},{oSub.HWHID})"); 
 | 
            } 
 | 
  
 | 
            objJsonResult.code = "1"; 
 | 
            objJsonResult.count = 1; 
 | 
            objJsonResult.Message = null; 
 | 
            objJsonResult.data = null; 
 | 
            return objJsonResult; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region [删除] 
 | 
        [Route("Sc_MouldScrapRequestBill/Delete")] 
 | 
        [HttpGet] 
 | 
        public object Delete(string HInterID, string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                oCN.BeginTran(); 
 | 
                oCN.RunProc("Delete From Sc_MouldScrapRequestBillMain where HInterID = " + HInterID); 
 | 
                oCN.RunProc("Delete From Sc_MouldScrapRequestBillSub where HInterID = " + HInterID); 
 | 
                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 = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
    } 
 | 
} 
 |